From intent to a buildable device.

Start with what the device should do — describe the function in plain language, or pick parts by capability. wirestudio turns that intent into a complete, verified set of artifacts: the firmware to run it and the hardware to build it — code, schematic, PCB, enclosure, and BOM, all from one source of truth.

60components
24boards
51example designs
MCPready

Intent in. A whole device out.

A goal (or a parts pick) becomes a single design.json — the only state. Pure generators turn it into both halves of a real device: the software that runs it and the hardware you actually build.

goal / parts
design.json · pins solved once
Run it
pick a target framework — the software & network identity
ESPHome YAMLWiFi / sensor devices → Home Assistant verified
LoRaWAN firmwareRadioLib · ChirpStack · Home Assistant hardware-validated
more frameworkspluggable target seam planned
Build it
the physical object — fabricate & house it
KiCad schematic.kicad_sch via SKiDL verified
PCB + fab bundle.kicad_pcb · Gerber / drill / CPL / BOM unrouted
Enclosureparametric OpenSCAD shell verified

verified = gated against upstream tools every PR · hardware-validated = proven on a real device · unrouted = board ships with pads + ratsnest, autoroute is on the roadmap · planned = on the roadmap

No LLM sits in a compile or fetch path. The agent edits the design; deterministic generators produce the artifacts — so every device is reproducible, diffable, and cheap to regenerate.

What it does

Design from intent

Describe what the device should do, or pick parts by function. The agent assembles a coherent design — board, components, wiring — that you refine, instead of starting from a blank canvas.

Verified ESPHome YAML

Every bundled example is run through upstream esphome config on each change. The output is real ESPHome, not a plausible guess.

LoRaWAN + Home Assistant

Builds RadioLib firmware for US915 radio boards, flashes it over WebSerial, provisions the device against ChirpStack, and surfaces its sensors + GPS as Home Assistant entities and a map tracker.

KiCad schematic + PCB

Emits a SKiDL script for a .kicad_sch and a grid-placed .kicad_pcb with nets and board outline — plus Gerber/drill/CPL/BOM for the fab. No LLM placing wires.

Parametric enclosure

Generates an OpenSCAD shell from board mount-hole and port geometry, so the box fits the design you just drew.

CSP pin solver

Assigns legal GPIOs automatically and surfaces boot-strap, ADC2-on-WiFi, voltage, and locked-pin conflicts before you ever flash a board.

MCP server

Drives the design tools from Claude Code or Claude Desktop over the Model Context Protocol — on your subscription, no API keys to wire up.

Fleet handoff

Pushes finished YAML to a fleet-for-esphome add-on for compile and OTA deploy with live log streaming.

Local inventory

Track parts on hand, cross-check a design's BOM against the drawer (have / partial / need), and let the recommender prefer parts you already own.

Open source, MIT licensed

Install it, run the HTTP API, or drive it from your editor.