2025
Analog · Precision · KiCadPrecision Current Source
Built a 0–20 mA Howland current pump with 0.05% FS error for sensor excitation and calibration benches.

01
Approach & key decisions
Topology
Improved Howland pump with matched thin-film resistors, a low-offset amp, and separate force/sense paths so cable resistance does not show up in the loop.
Protection
Series PTFE and clamp diodes keep the output alive through a shorted load or an inductive kick without destroying the amp.
System spec
- Amp
- OPA189 zero-drift
- Range
- 0–20 mA, 12-bit DAC set
- Board
- 2-layer, guard rings around sense
- Tools
- KiCad, 6.5-digit DMM, load bank
02
Build gallery


03
Debugging timeline
Bring-up
Output oscillated into capacitive loads above 10 nF.
Added a small isolation resistor and retuned the feedback compensation for 45° phase margin.
04
Results & final demo
- 0.05% full-scale error after a one-point trim at 10 mA.
- Noise floor under 2 µA RMS into a 500 Ω load, 0.1–10 Hz.
05
The problem
Lab sensor work needed a quiet, load-independent current source. Bench supplies drifted and most cheap modules lacked Kelvin sense or proper compliance headroom.
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%.
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.
Lab 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.
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.