These are some of my projects that I think are actually useful. Some are simpler than others. Follow the links to the repos or project pages to learn more. They are roughly organized chronologically.

oven

source

[WIP] An oven for firing ceramics. It includes a custom PCB PID temperature controller driving an SSR connected to a heater. It has a bunch of safety features and is driven via USB/UART commands from a GUI app I made in Rust, that also plots the current values and lets you select pre-defined profiles. One of my largest projects so far. WIP because I still need to put together the oven hardware and tune the controller.

weather station | no name yet

[WIP] A custom remote "weather" station for measuring particulate matter concentrations. Still concepting.

zheli

source

[WIP] Human presence detection using a reverse-engineered chinese radar module.

sagi (サギ)

[Abandoned] GUI to a database of a personal inventory of electronic components, tools, devices, and so on. I did not finish this because I thought it would be too much hassle for too little gain. Embrace the chaos! Also helped me learn Rust.

flake

source

My NixOS configuration. This is a constant WIP, but I like it so far!

obs-tools

source

Some scripts and tools for streaming with OBS. Including scrolling background, automatic face detection and zoom, and a script for triggering source visibilities with gamepad buttons. It also includes a very cool project for creating an animated "racing avatar": The idea was to do a live video capture of a racing game (Gran Turismo 4) and specifically its digital speedometer display. I trained a neural network to turn the frames into an integer for the speed values. This was then fed over a socket to a Godot program that calculates and filters acceleration, jerk, and so on and finally uses that to have an avatar sprite react to the speed changes of the car in-game. It also animated the steering.

chinese-tracker

source

GTK4 desktop app for tracking chinese characters learned. Its basically a frontend to a CSV file. Was very good for practicing Rust but I think I hate GTK in Rust ~.~

stylobot

source

A robot that plays a stylophone. Me and some friends put this together in less than a day, and later took another evening to actually make it work properly. You can find a demo video in the linked repo.

air-gesture

source

[Abandoned] Hand gesture recognition using an infrared ToF sensor and custom PCB. It worked OK for swiping left and right but was not very robust. I used it for switching desktop workspaces but did not pursue it further though.

ample

source

A custom headphone amplifier with a Cirrus 24 bit optical SPDIF codec. This was kind of overengineered but fun to build. First time I used my reflow oven. The codec ended up not working because I literally forgot to connect a pin and was unable to use a wire. A new revision would have been too expensive. Maybe I will make a new design in the future!

geotastic-country-translator

source

A little userscript for geotastic to translate and TTS the selected countries to chinese for language learning. I think it's currently broken due to upstream updates but it used to work very well. ^^

Matching Circuit Optimization

s1 s2

I needed some way of simulating and optimizing the effect of antenna matching circuits based on touchstone measurement data from a VNA, where the possible circuit elements were discrete real-world components (from manufacturer simulation files). This was split in two projects, one using Qucs and one "standalone" using a python library. Both of these are very messy and slow but they worked! And they were some of my first "larger" projects. I wanted to go with a genetic algorithm but ended up just brute forcing ^^