David Farrell
I'm an engineer working across FPGA systems, embedded compute, audio DSP and developer tooling. I like turning ideas into working hardware quickly, then building better abstractions around what I learned.
Projects.
A few things I keep coming back to: programmable hardware, tools that make it easier to reason about systems, and projects where software has to meet the physical world.
Kestrel
A real-time FPGA audio DSP platform built around per-sample effects processing, flexible control, and low-cost hardware.
audio in → FPGA DSP → audio outActive · SystemVerilog · DSP · embedded UILyrebird
A sixteen-voice polyphonic synthesizer on an AMD Kria KV260. A USB MIDI controller is read on the Linux side and written into registers in the programmable logic, where an HLS DSP core generates 24-bit, 48 kHz audio: phase-modulation voices with wavefolding, filters, envelopes and LFOs, and a shared reverb, played out over I2S.
MIDI → Linux → PL registers → HLS → I2SActive · Vitis HLS · SystemVerilog · KV260Pigen
Pipeline Generator: An experimental hardware description language centered on pipelines, implicit flow control and making streaming hardware easier to express.
buf · port · fifo[n] · skidActive · compiler design · RTL · dataflowKnowledgetrees
A semantic filesystem for agent knowledge: small, addressable pieces of technical state that can be updated, checked and reused across long-running work.
kt where am iActive · agents · MCP · verificationCointOS
Local-first orchestration for my personal AI agents. It turns requests from the terminal or Telegram into durable agent work, coordinates local model inference, and keeps resource use in check on my own machine.
request → durable work → local inferenceActive · Python · agents · local inferenceWhiteboard
A text-driven animation tool for hand-drawn-style maths explainer videos. You write a spec, it renders the video, and it uses my own captured handwriting for the notation. I built it to make Boarbarktree videos practical again.
write spec → render → adjust → publishIn progress · C · animation · mathsBoarbarktree.
My maths YouTube channel. Currently inactive, but it may well come back.
The channel
Hand-drawn explainer videos on algebraic topology, including a three-part series, You Could Have Invented Homology. Each video was an enormous amount of hand animation in Adobe Animate.
Where it's at
It went quiet when I started my PhD, because I couldn't keep up that pace alongside it. I still want to make the videos, which is why I'm building Whiteboard: a way to make them without animating everything by hand.
Field Notes.
Experiments and things I found out by poking at them. One note, one day.
| Date | Title | Topic |
|---|---|---|
| 2026-10-20 | A Video for the Question | Agentic learning · video · explanation |
| 2026-09-30 | Four Cameras, Coming Home | FPGA · MIPI · embedded Linux · episode 1 |
| 2026-09-28 | Adrift In U-Boot Shell | Embedded Linux · U-Boot |
| 2026-09-24 | EDF 103 | FPGA · embedded Linux |
| 2026-09-23 | EDF 102 | FPGA · embedded Linux |
| 2026-09-22 | EDF 101 | FPGA · embedded Linux |
| 2026-09-21 | PetaLinux 101 | FPGA · embedded Linux |
| 2026-09-21 | Jev Can Not Detect Counterexamples To The Jacobian Conjecture | Jev · correction |
| 2026-09-21 | Jev Can Detect Counterexamples To The Jacobian Conjecture | Jev · first result |
Contact.
GitHub · davidjfarrell96@gmail.com