Projects
Filter by tool or skill. Every writeup follows the same structure: what it is, how it's built, what went wrong, and what came out of it.
-
SRM-CAM: a CAM tool for milling PCBs on a Roland SRM-20
A desktop CAM application that turns KiCad Gerbers into machine code for a Roland SRM-20 mill — with auto bed-leveling, double-sided registration, and a reverse-engineered SPI probe interface.
-
ESP32 reflow hotplate, designed from scratch
A 24 V DC SMD reflow hotplate built around an ESP32 and a CNC-milled control board — with a unit-tested PID core, a layered safety watchdog, and copper sized by IPC-2221 for 13 A.
-
Reverse-engineering the Korad KD3005D bench supply
Finding and decoding a bench PSU's hidden UART with a logic analyzer, catching a floating-ground hazard with a multimeter before it destroyed hardware, and designing an isolation-safe ESP32 carrier board around it.
-
A 22-mode digital multimeter on bare-metal AVR
A from-scratch benchtop multimeter — DC/AC volts and current, resistance, capacitance, frequency, and a basic scope mode — built on an ATmega2560 with no Arduino framework, plus a fully documented KiCad design.
-
IR remote wizard: ESP32 firmware + a code-discovery add-on
A standalone ESP32 IR blaster written as a proper ESPHome component, paired with a Home Assistant add-on that discovers IR codes from the Flipper-IRDB database — where most of the work was getting IR protocol encoding right.
-
RegBot Studio: a modern web GUI for a control-systems robot
A full-stack replacement for a 4,700-line legacy PyQt GUI driving DTU's REGBOT balance robot — FastAPI + React, with live Bode/step/Nyquist simulation and a strictly layered backend.
-
Analog IC design: a two-user Cadence opamp workflow
Op-amp schematic design and transistor characterization on a 180 nm CMOS process in Cadence Virtuoso, run on DTU's HPC cluster with a Git-synchronized two-person workflow and SKILL/Python automation.
-
Pi Zero Spotify streamer with a PWM-to-audio filter
An early project: turning a Raspberry Pi Zero into a Spotify Connect endpoint by filtering its PWM audio output through a Sallen-Key analog stage — measured, not guessed.
-
Componentbot: a grounded local-LLM assistant for the parts shop
A small offline tool that answers "do we have this component?" in natural language — a local Llama model grounded on the DTU shop's real inventory so it only ever recommends parts that are actually in stock.