Today we're shipping version 1.0 — a self-hostable hardware workbench that turns a plain-language prompt into firmware, a wiring diagram, a parts list and assembly steps. The build engine is fully deterministic and runs in your own Node process: no cloud calls, no API keys, no metering. Optionally, point it at a local Ollama model for chattier replies. Everything else — the parser, the pin allocator, the code generator — is transparent TypeScript you can read and extend.
How the pin allocator avoids frying your afternoon
Every board speaks a slightly different dialect of 'digital pin'. The allocator models each board's pins as capability sets (digital, PWM, analog, I²C) and walks your component list assigning the most specific free pin first. Analog sensors grab true ADC pins before anything else can squat on them; PWM devices settle for plain digital only when the good pins are gone. If a build genuinely doesn't fit, the engine drops the component and tells you — rather than silently wiring a servo to an input-only pin.
Why we generate diagrams instead of drawing them
Hand-drawn wiring diagrams age badly: swap one component and the whole picture is wrong. Ours are pure functions of the build — the same data that produces the firmware produces the SVG, so the picture is never out of sync with the code. Color is meaning here: red is power, black is ground, and every signal wire matches the pin dot it lands on.