
Ldo-5v-3v3-lm358
PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.
Placed is an open-source printed circuit board by PCBAgent, from the PCBAgent/PCBAgent repository on GitHub. It is a 2-layer board of 3.3 × 5.6 mm with 2 parts on 3 nets.
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.
A schematic is the product. Part values, pinouts, and the board outline should not have to leave the machine before software can help. PCBAgent runs that work on the GX10, an ultra-small AI computer with the NVIDIA GB10 Grace Blackwell Superchip and 128 GB of unified memory. Nemotron, ngspice, a local JLCPCB catalog, KiCad, and Freerouting all run on the box. Unplugging the network does not stop a design.
Cloud schematic tools upload the design before they answer. Here the model and the checkers share the machine where the design is created. There is no cloud round trip, no vendor API for the netlist, and no infrastructure to keep up for a single board. The same flow still runs with the network disconnected.
One request becomes a checked board. The model writes the circuit. SPICE, the parts catalog, the placer, and KiCad decide whether that circuit is true. After the first prompt, the run continues on its own until you cancel it, and you can watch placement and routing in KiCad while it does.
/design writes a circuit spec and a SKiDL file. SKiDL emits a SPICE netlist, and ngspice runs it. The model does not hand-write a simulator deck./design: the model changes the circuit and the same checks run again. It does not edit the spec to hide a failure./layout asks the model for placement constraints, such as a capacitor next to its IC. It does not emit coordinates or traces. A placer chooses positions, Freerouting draws the copper, and KiCad's design-rule check scores the board. layout.py --demo records that sequence and plays it in the PCB editor with no further prompts.Two finished boards are in designs/:
5v-to-3v3-divider, a 5 V to 3.3 V divider into a 33 ohm load5v-to-3v3-ldo-10uf-22uf-33ohm-25x20mm-jlcpcb, the same request on an AMS1117-3.3 with 10 µF in and 22 µF outReplay the routed board in the KiCad PCB Editor from the GX10 desktop. Enable Preferences → Plugins → Enable KiCad API first.
source .venv/bin/activate
.venv/bin/python skills/layout/demo.py designs/5v-to-3v3-ldo-10uf-22uf-33ohm-25x20mm-jlcpcb --replayParts move into place, then the copper appears. layout/board.png in the same design is the still image of the routed board. To record a new animation while laying out again, run skills/layout/layout.py designs/<slug> --demo.
A new design starts in Pi with a single command, for example:
/design 5 V supply to 3.3 V LDO using one linear regulator IC, a 10 µF input capacitor, and a 22 µF output capacitor, output voltage 3.3 V within 0.05 V, output current 0.1 A within 0.01 A into a 33 ohm load, maximum board size 25 mm by 20 mm, JLCPCBThe same agent, in its own window instead of the terminal. Skills, commands, and checks are unchanged. On the GX10 desktop:
python3 chat/window.py/design and the rest of the flow work as they do in pi. Close the window to stop that session.
KiCad 9 or newer is installed separately. From this checkout:
./setup.sh
source .venv/bin/activate
ollama listsetup.sh installs Pi and uv when they are missing, installs SKiDL into .venv, and downloads Freerouting 2.5.0. Use an exact model id from ollama list. Start the Ollama bridge in one terminal:
export PCB_OLLAMA_MODEL=<id from ollama list>
.venv/bin/python tools/ollama_bridge.pyIn another terminal, from this checkout:
export PCB_OLLAMA_MODEL=<id from ollama list>
pi --provider pcb-ollama --model "$PCB_OLLAMA_MODEL" --thinking offTrust the project when asked. .pi/settings.json loads this package. Restart Pi after pulling extension changes, or run /reload in a session that is already open. Stop a run yourself with Escape in Pi, or Ctrl+C in a CLI process.
From another machine on the LAN, the GX10 is reached with ssh <user>@<hostname>.local, or ssh <user>@<gx10-ip> if .local does not resolve. At the GX10 keyboard, whoami, hostname, and hostname -I print those values.
.venv/bin/python -m pytest tests -q
node --test tests/test_policy.mjsStage commands, when you want to run them without the agent:
.venv/bin/python tools/pcb_stage.py designs/<slug> prepare
.venv/bin/python tools/pcb_stage.py designs/<slug> verify
.venv/bin/python tools/pcb_stage.py designs/<slug> parts
.venv/bin/python tools/pcb_stage.py designs/<slug> netlist
.venv/bin/python skills/layout/layout.py designs/<slug>Each stage prints a short JSON result and writes a full log. Simulation evidence, part ratings, and the netlist report stay next to the design. A passing check covers the measurements and rules the runners implement.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 10 Ω | R_0402_1005Metric | R1 |
| 1 | 47 Ω | R_0603_1608Metric | R2 |
It measures 3.3 × 5.6 mm and has 2 copper layers, 1.6 mm thick.
2 parts. 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.
From the PCBAgent/PCBAgent repository on GitHub, at the commit this page was made from: the board is designs/5v-to-3v3-divider/layout/demo/20261011T024955-87ac81f3/attempt-1/placed.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask PCBAgent before reusing the design.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

PCBAgent/PCBAgent
PCBAgent takes one circuit request and, with no further input, designs a private board on the ASUS Ascent GX10: simulated, sourced, and routed offline.

hzeller/rpi-rgb-led-matrix
Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO


adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing

Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

NVNTLabs/switch2-SDEX2M2
Micro SD Express to M.2 NVME Adapter for Nintendo Switch 2

BlueSCSI/BlueSCSI-v2
BlueSCSI v2/Ultra - an open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350

ohmtech-rdi/eurorack-blocks
Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust
