Home

Systems engineer working across the stack: hardware-level acquisition, signal processing, and edge inference for real-time biomedical systems.

emg_pipeline.py — zsh
biosignals@edge$ uv run emg_pipeline.py --source /dev/kitty0 --fs 1kHz \
--duration 5s --filter bpf --notch 60 --infer onnx
input /dev/kitty0
daq 1 kHz · 16ch · uint16
buf=256 samp
dsp bpf 20–450 Hz
notch 60 Hz · order=4
infer emg_intent_v3.onnx
int8 · 12 ms
[INFO] Connected to /dev/kitty0. Purr-ipheral online.
[INFO] DAQ   fs=1000 Hz · 16ch · uint16 · buf=256
[INFO] DSP   bpf 20–450 Hz · notch 60 Hz · order=4
[INFO] INFER backend=onnx · model=emg_intent_v3.onnx · 812 KB
[WARN] Clawssification instability detected, applying meow-jority vote.
[INFO] Running · 5s · ctrl-c to stop
PURR p = 0.98
(feline confident)
biosignals@edge$

I write here about technical investigations that I find very interesting and that go deeper than a README but don’t fit the format of a paper — benchmarks, architecture decisions, dead ends, and the occasional systems programming rabbit hole.


Embedded Systems & Data Acquisition


Machine Learning

Posts coming soon.


Ongoing Series

Teensy 4.1 USB Serial: What is the maximum throughput over USB serial? — 4 parts published, actively ongoing. Latest: Teensy 4.1 USB Serial: What is the maximum throughput over USB serial? - Part 4 (May 2026)

Recent Posts