

Stm32-blinky
Chat with an AI that designs real KiCad boards. Runs fully on your machine (or WSL).
- Size
- 80 × 50 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 13
- Nets
- 53
- Pads
- 102
- Tracks, vias
- 134, 18
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 4 Sep 2026
- Updated
- 4 Sep 2026
Overview
Stm32-blinky is an open-source printed circuit board by Vickyrrrrrr, from the Vickyrrrrrr/pcb-studio repository on GitHub. It is a 2-layer board of 80 × 50 mm with 13 parts on 53 nets, routed with 134 tracks and 18 vias.
It is built around the AMS1117-3.3. Its parts include 4 capacitors, 3 resistors, 2 ICs, 2 connectors and 1 diode. It belongs with the STM32 boards of this library.
Main components
1README
README.mdpcb-studio — OpenCode for PCBs, local-first
Chat with an AI that designs real KiCad boards. Runs fully on your machine (or WSL).
Before choosing a setup, read Windows and WSL. They can share board files, but they do not share OpenCode sessions, credentials, or global plugin installs.
Create a workspace from the release package
After the package is published to npm, create a new, empty workspace without copying files manually:
npx pcb-studio create my-pcb-studio
cd my-pcb-studioThe command refuses to overwrite an existing directory. Until publication, use
git clone in the setup instructions below.
Quick start — first time (WSL Ubuntu)
git clone <this-repo> pcb-studio && cd pcb-studio
bun install # root scripts
bun --cwd viewer install # board viewer UI
bun --cwd outputs install # outputs gallery (renders + 3D)
bun run fetch:kicanvas # once: vendors the KiCanvas viewer bundle (not on npm)
bun run fetch:freerouter # once: autorouter engine, verified by SHA-256 (needs Java 17+)
opencode auth login # once: pick any provider (Anthropic/OpenAI/Google/local)
bash scripts/link-global.sh # once per machine: every session PCB-aware + project pointer
bun run doctor # checks bun, node, opencode, auth, kicad-cli, java, ports
bun run dev # starts everything, opens all 3 tabs for youRequirements: Bun >= 1.0, KiCad >= 8 with kicad-cli reachable
(Windows C:\Program Files\KiCad\<ver>\bin\kicad-cli.exe works from WSL automatically),
Java 17+ (only for autorouting), an OpenCode provider login. WSL has its own
OpenCode login; run opencode auth login inside Ubuntu even if you are already
signed in on Windows.
Native Windows (no WSL)
Everything works natively too — same repo, same commands, PowerShell instead of bash:
git clone <this-repo> pcb-studio; cd pcb-studio
bun install; bun --cwd viewer install; bun --cwd outputs install
bun run fetch:kicanvas; bun run fetch:freerouter
opencode auth login # once for Windows TUI + Desktop; WSL login is separate
.\scripts\link-global.ps1 # optional: expose PCB tools to every Windows OpenCode workspace
bun run doctor # must show ok opencode + ok provider auth
bun run dev # same 3 tabs: 4096 chat, 5173 viewer, 5174 galleryNotes: link-global.ps1 falls back to privilege-free links automatically and
refuses to overwrite an existing OpenCode file. Stop with Ctrl+C in the dev
terminal. If the OpenCode web UI ever misbehaves on native Windows, switch to
the WSL flow above — boards carry over when the repository is on the C: drive,
but sessions and login do not.
Every day after
cd pcb-studio
bun run devThat's it. It starts all three servers, reuses (never duplicates) the pinned chat session, prints bookmark links, and opens the tabs:
| Tab | URL | What |
|---|---|---|
| Chat | http://localhost:4096 → ✅ PCB STUDIO session (use the printed deep link) | talk to pcb-engineer |
| Board viewer | http://localhost:5173 | live KiCad render, follows your session |
| Outputs gallery | http://localhost:5174 | schematic SVG, PCB SVG, 3D, downloads |
Stop
Ctrl+C in the bun run dev terminal stops everything. If a port stays busy
afterwards (stale process from a killed terminal):
pkill -f "opencode web"; pkill -f "vite.*5173"; pkill -f "outputs/src/server"
bun run doctor # confirms all three ports free againTroubleshooting
- Tab shows "Nothing here yet", "Friendly greeting", or agent "Default" —
that's the Desktop app's server, not ours. Close the tab. Only ever use the
bookmarked links
bun run devprints. To remove the confusion entirely, quit the OpenCode Desktop app while doing PCB work. - Viewer looks outdated — hard refresh:
Ctrl+F5. (The dev servers hot-reload; a stale browser tab does not.) - Tool says server not running / connection refused — the opencode server
(
:4096) isn't up. Start it withbun run dev, or just the API withopencode serve --port 4096from this folder. bun run doctoris the arbiter — run it first whenever anything behaves oddly; fix what it flags, top to bottom.
Layout
opencode.json— project-only config (model default, permissions, server). Never touches~/.config..opencode/tools/kicad_*.ts— the PCB harness. Only thing custom-built..opencode/agents/—pcb-engineer(primary) +pcb-reviewer(read-only subagent)..opencode/skills/— on-demand KiCad playbooks (ERC, DRC, layout)..opencode/commands/—/check,/exportshortcuts.hardware/— your boards. Starts empty; the agent creates every project here viakicad_scaffold.viewer/— sidecar web UI (chat + KiCad board, talks to same local server).outputs/— final-renders gallery server (schematic/PCB SVG via tscircuit pipeline, 3D GLB via KiCad).scripts/—dev(launcher),doctor(health check),fetch-*(vendored engines),link-global.sh,test-tools.ts(15-check harness:bun scripts/test-tools.ts).constraints/— shareable versioned design-constraint packs (JSON).
Which tab is mine? (important)
bun run dev prints two bookmark links and opens them for you:
- board viewer:
http://localhost:5173— live KiCad render, follows your session - chat: deep link straight into the pinned ✅ PCB STUDIO — talk HERE session
Always use those links. The opencode web UI also sees your Desktop app's
server — any tab showing "Friendly greeting" or agent "Default" is the Desktop
server, not us. Close it. If you lose the chat link, re-run bun run dev and it
prints it again (the pinned session is reused, never duplicated).
Relationship to tscircuit, Copperhead, et al.
Same dream (describe a board, get a board), opposite bet on source of truth:
- tscircuit ("React for Electronics"): the board IS TypeScript code. Powerful — registry, playground, fast autorouter — but existing KiCad projects can't enter, only leave via export, and the cloud APIs it depends on are occasionally down.
- pcb-studio: the board IS KiCad files. Any
.kicad_sch/.kicad_pcbever made (including tscircuit KiCad exports — feed them tokicad_import) works on day one, KiCad GUI stays usable side-by-side, everything runs locally, and every step is verified (ERC/DRC/netlist) instead of trusted.
Import from code-first tools; do not fight them. No framework lock-in either way.
Existing OpenCode users
Safe by default: the repo never edits your global config. The optional
scripts/link-global.sh / scripts/link-global.ps1 install only missing PCB
tools, agents, skills, guardrail, and shared tool library into
~/.config/opencode. They refuse to overwrite an existing file. This makes the
PCB agent available in every session while the repository remains the source of
truth.
Parts
13| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 20pF | Capacitor_SMD:C_0603_1608Metric | C3, C4 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 1 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric | C2 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 8MHz | Crystal:Crystal_HC49-4H_Vertical | Y1 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | GREEN | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | STM32F103C8Tx | Package_QFP:LQFP-48_7x7mm_P0.5mm | U2 |
| 1 | SWD_10 | Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical | J2 |
| 1 | USB_C_6P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
Questions
How big is the Stm32-blinky PCB?
It measures 80 × 50 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Stm32-blinky use?
13 parts, built around the AMS1117-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Stm32-blinky KiCad files?
From the Vickyrrrrrr/pcb-studio repository on GitHub, at the commit this page was made from: the board is hardware/stm32-blinky/stm32-blinky.kicad_pcb and its schematic hardware/stm32-blinky/stm32-blinky.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Stm32-blinky design in my own project?
Its repository states no licence, so its author keeps all rights: ask Vickyrrrrrr before reusing the design.
Similar boards
- 2 layers290.1 × 130 mm

- 2 layers26.2 × 45.5 mm

PL18 multiprotocol
pascallanger/DIY-Multiprotocol-TX-Module
Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.
24 parts1.9kGPL-3.0 - 4 layers99 × 53.3 mm

PSLab
fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io
199 parts1.7kApache-2.0 - 4 layers85 × 56 mm

- 4 layers100 × 54 mm

32Bit shift register
MaltWhiskey/Mega-Cube
16x16x16 PL9823 Cube with Teensy 4.0 and FlexIO driver
64 parts766 - 2 layers44.2 × 29.3 mm

- 2 layers78 × 60 mm

- 2 layers59.1 × 99.9 mm

Cheap FOCer 2 60mm
shamansystems/Cheap-FOCer-2
Low-Cost Motor Controller based on the VESC 6
193 parts407