Skip to content

Build Journal

A chronological log of every phase, milestone, and detour in the Dilder project.

Posts go up when something meaningful happens — a component arrives, a display flickers to life, a design gets scrapped, or a phase wraps up. No fluff, no filler.


Where It All Began

Jamal the plush octopus
Jamal — the plush octopus that started a whole engineering project

This project exists because of a plush octopus named Jamal, found in a TEDi discount bin during a random shopping trip. On the walk home, my wife Emma and I gave him a name, a personality, and an entire fictional inner life — sassy, opinionated, suspiciously comfortable in our armchair. The natural next question: what would it take to actually build a living, responsive, digital version of this guy? That question became Dilder. Read the full origin story on the home page.


Subscribe via RSS — the feed is auto-generated at /feed_rss_created.xml once the site is built.

Dilder Goes Real-Time: FreeRTOS, Dilder-to-Dilder Hellos, and a BUSY-Line Whodunit

The Dilder firmware grew up this month. It moved off a single bare-metal super-loop and onto FreeRTOS running on both cores of the RP2350, learned how to wave hello to other Dilders in the wild, got a proper emote system, and — along the way — taught us to read a board's health from a single line of serial output while chasing down three "dead" units that turned out to be very much alive.

Dilder Full Board Rev 1 — One Green Rectangle to Rule Them All

After two months of breadboards, flying wires, hot-glued battery clips, and a stack of off-the-shelf modules taped to the inside of a 3D-printed case, the Dilder is finally a single board. One PCB. One green rectangle the size of a chocolate bar. Everything the octopus needs to live, lives on it.

This is a huge milestone, so this post is the friendly tour — what got built, what got learned, and why the silkscreen says "The Dildafication Begins" on the front.

Dilders That Find Each Other, Hide Treasures, and Grow a Community

Today's design session went deep on a question that's been simmering since the peer discovery research: what actually happens when two Dilders meet? The answer turned into a three-layer system — proximity encounters with unique audio signatures, riddle-based geocaching challenges with physical electronic prizes, and a collectible ecosystem that naturally markets the device to new people.

How to Stop Drowning in FreeCAD Files (and a Tool to Help)

After two weeks of daily CAD iterations, I had 13 FCStd files with names like "Dilder_Rev2_Mk2Full parts so far with joystick model with battery assembly even closer joystick and pit refined and cradle curvature fixed pcbjoystick anchor.FCStd". I couldn't tell which one I'd actually printed, what changed between versions, or which iteration had that one tweak that worked really well three days ago.

Sound familiar? Here's how I fixed it.