2024
Firmware · USB · Power IntegrityLab Power Rail Monitor
USB-C multi-rail logger that watches 3.3 / 5 / 12 V benches for droop and glitch events down to 20 µs.

01
Approach & key decisions
Front end
Three differential dividers into a simultaneous-sampling ADC, with a comparator path firing a GPIO interrupt for sub-sample glitches.
Logging
RP2040 writes a circular ring to external FRAM and streams summaries over USB-CDC so a laptop can chart overnight runs.
System spec
- MCU
- RP2040
- ADC
- 12-bit simultaneous, 3 ch
- Storage
- FRAM, 256 Kbit
- Host
- USB-CDC + Python plotter
02
Build gallery


03
Debugging timeline
Firmware
USB transfers stalled when FRAM writes ran on the same core.
Moved FRAM DMA to core 1 and double-buffered the host packets.
04
Results & final demo
- Caught a 40 µs, 380 mV droop on the shared 5 V rail that aligned with a neighboring motor driver spin-up.
- Overnight logs made the supply swap an evidence-based decision instead of a guess.
05
The problem
Intermittent brownouts on a shared lab supply kept resetting student boards. We needed something that sat on the rail and time-stamped glitches without a full scope on every desk.
Next project
Scout — Robot Guide Dog
Built Scout, a TurtleBot3-based robot guide dog with real-time crosswalk and traffic-light vision, LiDAR person-tracking, and a fail-safe velocity-gate stack — led perception and safety-control on a 4-person Human-Robot Interaction team.
Closed-Loop BLDC Driver
Designed a 24 V field-oriented BLDC driver board and control loop holding ±0.3° position error under a 0.4 Nm step load.
Handheld Signal Analyzer
Built a pocket 1 MS/s scope and logic analyzer with a custom analog front end and machined aluminum enclosure, validated against a bench Rigol to within 1.8%.
Precision Current Source
Built a 0–20 mA Howland current pump with 0.05% FS error for sensor excitation and calibration benches.
915 MHz Matching Network
Designed and measured a π-network matching a LoRa PA into a PCB antenna, cutting VSWR from 3.8 to 1.3.
Line-Following Robot
PID-tuned line follower that completed the course using seven photoresistors, a custom PCB, a 3D-printed chassis, and a light shield — finished the entire track with one manual nudge due to surface bumps.