Seedbox v0.1 + firmware, generic kit/synth, ROOT/SCALE pages
Some checks failed
check / check (push) Has been cancelled

First commit of the repo. Contents beyond the v0.1 simulator and layout:

- Full Pico 2 W firmware (firmware/app, drivers, engine port, host test).
- BANK page and 404 mode A/B removed; learned pads play exactly what was learned.
- 404/MiniFreak renamed to KIT/SYNTH throughout (jacks, code, sim, docs,
  layout labels; wiring rebuilt).
- ROLL returns to page select after a re-roll; a freshly learned track turns on.
- LCD contrast 66.
- ROOT and SCALE pages: 21 scales, AUTO = the seed picks; global and sticky.

Intended music change: the scale table grew from 8 to 21 and AUTO picks from
all of them, so every seed's scale changed. Vectors regenerated with
npm run vectors, plus new key-override cases. Flash record is now version 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-11 20:39:36 +03:00
commit 2196633ed5
77 changed files with 52207 additions and 0 deletions

39
docs/hardware/README.md Normal file
View File

@@ -0,0 +1,39 @@
# Hardware
| File | What |
|---|---|
| [bom.csv](bom.csv) | parts list with status (have / check / buy / optional); interactive version: `tools/bom.html` |
| [pinout.md](pinout.md) | every Pico pin used, and why |
| [wiring.md](wiring.md) | stripboard, cuts, links, off-board wires, panel wiring, build order |
| [panel.md](panel.md) | panel layout and drill list |
| [board-parts.csv](board-parts.csv), [wire-list.csv](wire-list.csv), [drill-list.csv](drill-list.csv), [cuts.txt](cuts.txt) | the tables, exported from the tools |
| [svg/](svg/) | the drawings, exported from the tools |
The source of truth for the stripboard is [`hardware/layout.js`](../../hardware/layout.js). Everything in this folder that describes the board is generated from it. After changing it:
```sh
node hardware/check-layout.js # geometry, footprints, circuit rules
node tools/build-wiring.js # rebuilds tools/wiring.html
```
To refresh the SVGs and CSVs, open `tools/wiring.html` and `tools/panel.html` in a browser and save from there (or script it with jsdom, as the first export did).
## Build constraints this design assumes
- One stripboard carries the Pico (socketed in two female headers) and the MIDI circuits.
- Everything else is panel mounted and wired with hookup wire, in 5 colours.
- No standoffs, screws or USB extension. The board is held with foam tape or hot glue, and its USB port lines up with a slot in the box wall.
- The Nokia 5110 module sits on top of the box. Its wires go through a hole under the header.
- The enclosure is plastic, about 80 × 150 × 40 mm, laid out landscape.
- The MIDI jacks are 3.5 mm TRS, Type A.
- The Pico's USB end sits at the board edge. Its USB port powers the box and flashes the firmware through a slot in the back wall.
## Verified, and not
- **Checked**:
- `check-layout.js` covers the netlist against the pin map and the MIDI 3.3 V circuit, plus shorts, cuts and footprints.
- Two blind reviews by agents with no access to the design reasoning. Every finding was fixed; see [decisions](../decisions.md#process).
- **Not checkable from here**:
- Lug order on your TRS jacks: find tip, ring and sleeve with the meter and a plug inserted.
- RP2350 pin functions: confirm against the Pico 2 W datasheet when writing the firmware.
- Nokia BL polarity: the wiring doc says how to test it.