Workshop Journal · Chapter 12
The plan
A date nobody handed over, three hardware milestones, seventy-seven days of waiting for a factory — the panel question answers itself at 60 HP, the first drawing of it is honestly ugly, the second one has an opinion, the instrument that answers at boot is a new one, and then the last lead goes flat
7–14 Aug
Roadmap
Roadmap · Aug 2026 — May 2027
Nine months from a plan to an instrument you can play.
Three hardware milestones, two board revisions and 23 April as a target corridor rather than a deadline — the dates past the panel freeze get re-anchored once that freeze happens. The graphic below is drawn in two materials, because hardware time comes in two kinds.
Timeline: Timeline from 7 August 2026 to 6 May 2027. Solid segments mark working weeks, hatched segments mark weeks spent waiting for boards to be manufactured. A decision gate on the plan closed early, on 8 August 2026: FireFlow ships as the full instrument rather than a reduced macro version, and Glow stays a VCV module. Milestone H1, the prototype, falls on 6 November 2026; H2, the first real PCB, on 12 February 2027; H3, the final PCB, on 9 April 2027. The instrument is targeted to be finished on 23 April 2027 — a corridor, not a deadline — ahead of Superbooth on 6 May.
How to read the timeline
-
Weeks I work
-
Weeks a factory works
-
Milestone
-
Decision
H1
6 Nov 2026
The prototype plays
A ten-euro test board and a lasered acrylic panel with real knobs on it. Not pretty, but playable — and the panel layout freezes the same day.
H2
12 Feb 2027
The first real PCB
Two boards and an aluminium front panel, built and measured. Every fault goes on a list; nothing gets fixed in place, or the next revision never ships.
H3
9 Apr 2027
The finished PCB
One correction round, assembled and tested. After this the only work left is firmware, a demo set, and packing a case.
Target
23 Apr 2027
An instrument that plays
A corridor, not a deadline — re-anchored once the panel layout freezes; the regrouping rounds in Rack come first, before H1. Superbooth opens two weeks later. There is no booth booked and none required; the fair is what happens afterwards.
77 of those 259 days are spent waiting. Boards take three weeks to come back from a factory, and no amount of enthusiasm shortens that — which is why the schedule is built backwards from the last day, and why the cheapest board in the plan is the first one.
Which instrument got built.
Decided · 8 Aug 2026
The date on this gate was 4 September. It closed four weeks early, because the answer stopped being close. Glow’s macro layer — six knobs and a button steering the whole engine by rule — stayed random under playing, and tuning it by ear never made it converge. It does not become the instrument; it keeps being what it already is.
FireFlow is the one that ships, and not a reduced version of it — all of it: both decks, every one of the 82 runtime parameters with its own control, across 80 physical positions, on 60 HP instead of the 42 HP this plan used to assume.
The instrument
Both decks, full control surface, no shared macro layer standing in for it — 82 runtime parameters, 80 positions, one control each.
What’s cut
The two LED rings. They were the largest draw on the 5 V budget, needed their own level-shifted timing path, and pulled in a modified libDaisy. Cutting them buys power headroom, BOM and layout — not CPU; the ring driver was already DMA-driven and nearly free to run.
What holds
Glow, played and judged and found too random to steer a whole instrument by six knobs. It stays exactly what it is — a VCV Rack module, unchanged by any of this.
7 Aug 2026
The date is mine now
Schedule · written, backwards, from the last day
The residency’s deadline expired on 4 August along with the residency, and this entry exists because a project without a date does not fail dramatically. It just becomes something you get around to, and “around to” is where instruments stay firmware forever. So there is a new date, and nobody handed it over: 23 April 2027, two weeks before Superbooth 27 opens. No booth is booked. That decision waits until February, when there is an actual board on the desk.
Nine months, counted backwards from the last day. Three hardware milestones — a prototype that plays in November, the first real PCB in February, the finished one in April — two board revisions, and a third one I hope not to need. And one number I did not see coming: of the 259 days, 77 are just waiting for a factory. You cannot code your way past a shipping label.
The counting turned up something inconvenient too. The panel generator carries 82 runtime controls, and 42 HP holds roughly half of them, so the first real hardware job is not routing a board — it is deciding what the instrument does without. Before any of that, two weeks: the engine onto the Patch Submodule, and a measurement of what the firmware shell costs on top of the 96.43 % the engine already occupies. Three and a half points of margin, which is a number best learned in August and a terrible one to discover in January.
7 Aug 2026
The first cycles ever counted on the real board
Bench · two acceptance stages, no probe attached
Every number this project has ever quoted came off a debug probe. The board the instrument will actually ship on doesn’t have one attached, so today the numbers had to find their own way out — over a plain USB cable. Six things broke before that worked, and two of them turned out to be faults in the firmware itself rather than in the measuring rig. They’d been sitting there for weeks, invisible for exactly as long as there was always a probe to lean on.
Then the real board answered, and it was not the answer I wanted. Everything I have been quoting all summer was measured on the development board, and those numbers don’t carry over — the same music costs a little more here. The room I have left to build the rest of the instrument in shrinks from 2.97 to 2.17 points. Small, but it only moves one way, and it is a far better thing to learn in August than in January.
8 Aug 2026
Tofu is dead
Envelope spec · 60 HP · the whole instrument, nothing halved
Tofu was the beige terrain you get on press fourteen, and the cure was supposed to be hardware: a small macro box where a knob cannot be wrong. Three panel sizes went through the drawings — 12, 18 and 42 HP — and every one of them was a compromise about what this instrument actually is. So the compromise goes instead. The hardware will be the whole of FireFlow on 60 HP: both decks, every function on a control of its own. The macro box as hardware is dead. Glow is not — it stays a VCV module.
That decision went through two independent adversarial reviews first, and neither was kind to the draft. The board has four raw ADC pins, not the six the plan assumed. 56 HP was arithmetic done in a good mood. And the old fear that sixty-four addressable LEDs would eat the CPU was a myth — that driver has run on DMA all along. The rings die anyway: current, bill of materials, and the forked libDaisy they were the last reason to keep.
One small wiring decision earned its place. The SD slot goes in as a full 4-bit bus, because only then does the Daisy bootloader flash firmware by drag and drop from the card — an instrument with no debug pins now has a second way to receive updates. And 23 April has become a corridor rather than a deadline. The right instrument beats the trade show.
See where it lands on the schedule
9 Aug 2026
The first draft, as ugly as it is
Sixty HP is a decision on paper until something has to fit inside it, so the panel generator learned to draw hardware: all 82 runtime controls on a real 304.8 × 128.5 mm plate, at the clearances a finger and a nut actually need. It runs, every knob turns — and it is not a faceplate. No sectors, no tints, no logo, captions clipped to five letters, both decks mirrored because mirroring was the mechanical answer and not yet the musical one. That is deliberate: iteration 0 is the screen layout moved onto the hardware grid without an opinion, so every move after it is a decision somebody can be asked to justify.

10 Aug 2026
The size of a knob is a claim
Iteration 0 was the screen layout with no opinion. This round gives it one, starting with the knobs: size is handed out by rank inside a group, not by the kind of widget the screen happens to draw. Eighteen big knobs, everything else small — big means you reach for it while the music is running.
The groups come from the engine now, not from the old screen sectors. RATE, SHAPE, DENS, SMTH, RANGE, VARY and MOD are literally one object in the code; the screen cut that modulator across three sectors, and the plate keeps it whole. COLOR turned out to be chord size rather than tone colour, so it moved next to TUNE. Eight CV inputs arrived with it — each jack sits directly under the big knob it drives and carries its name, so the patch needs no legend.
Captions place themselves from here on: below, else above, else sideways. One sign in that rule always stepped right, which is correct on the left deck and wrong on the mirrored one — invisible until the day a label lands near an edge. The SD cutout lost its lettering altogether. A 15 by 12 millimetre hole does not need a name.

10 Aug 2026
A different instrument answers
The patch you land on at boot has been replaced. FF_hw_Init takes over from the drone.vcvm snapshot, and 54 of 68 values move with it — both engine selections included. Deck A comes up WAVE against SYNTH on deck B, where the old one paired SYNTH with BODY. That is not a retune. That is a different instrument answering when you switch it on. Eight minutes of it below, all but untouched.
10 Aug 2026
Maybe tofu is not as dead as we thought
Two days ago this log buried tofu and meant every word of it. Nothing there gets taken back today. But there is still a lead attached, and this morning it moved once.
That is the whole entry. It can go flat again, and if it does you will read that here too. Stay tuned.
14 Aug 2026
No further readings
The lead was an email. Someone had dropped out of the cohort, so there might be a place after all. It turned out I was one of several again, and after some back and forth the answer was the one I already had: no. I think that is a strange way to run a selection, and today I am more annoyed about it than philosophical. Two days ago this log said the trace could go flat again. It did.
So the file closes, and it closes with a bill. Of the 156 commits in this repository since the place was offered on 10 August, 67 went into Glow and the terrain layer underneath it — seven thousand lines of code, and a faceplate laid out down to the fab files, for a module whose reason to exist was that a small macro box might have been the thing to turn up with. There is nothing to turn up to now. Glow comes out of the tree.
Next entry is the cleanup: Glow and the whole flow layer deleted, and the parameter gate that used to measure them moved somewhere it can survive without a terrain generator. Then a short round of licking wounds. Then back to the plan that never depended on anyone else — 60 HP, both decks, every function on a control of its own, and I build it myself.