picoplace is a command-line utility for building and synthesizing PCB layouts.
Warning
picoplace is under active development. Expect breaking changes and rapid iteration.
# Clone the repository
git clone https://github.com/Cirkitly/picoplace.git
cd picoplace
# Install using the provided script
./install.shNote
Package manager installation coming soon.
- KiCad 9.x for layout generation and visualization.
Write a file called blinky.zen:
load("@stdlib/properties.zen", "Layout")
Resistor = Module("@stdlib/generics/Resistor.zen")
Led = Module("@stdlib/generics/Led.zen")
vcc = Net("VCC")
gnd = Net("GND")
led = Net("LED")
Resistor("R1", value="1kohm", package="0402", P1=vcc, P2=led)
Led("D1", color="red", package="0402", A=led, K=gnd)
Layout("layout", "layout/")picoplace build blinky.zenpicoplace layout blinky.zenpicoplace open blinky.zenSame as original: Components, Nets, Interfaces, Modules, config(), and io().
(Refer to original pcb README for full code examples.)
Build and validate .zen designs.
Generate layout files from .zen files.
Open generated .kicad_pcb files in KiCad.
Format .zen files with buildifier.
Start the Language Server for editor integration.
my-board/
├── main.zen
├── components/
│ └── resistor.zen
├── modules/
│ └── power_supply.zen
├── eda/
│ ├── symbols/
│ └── footprints/
├── layout/
│ └── main.kicad_pcb
picoplace is a modular Rust workspace:
picoplace-lang– Core language support (Zener, Starlark runtime, diagnostics)picoplace-cli– CLI forbuild,layout,fmt, etc.picoplace-starlark-lsp– LSP server for Zener filespicoplace-ui– Terminal UI components (spinner, progress)picoplace-wasm– WebAssembly bindingspicoplace-netlist– Netlist and schematic representationpicoplace-kicad-exporter– KiCad-compatible layout and symbol exporterspicoplace-buildifier– KiCad file parsing, formatterspicoplace-sexpr– S-expression support for KiCad file formatspicoplace-core– Shared types and utilities
For full examples, see the /examples directory in the repo.
- ✅ LED blink circuit
- ⚙️ Voltage regulator module
- 🧠 Complex system with MCU, sensor, and flash
- Includes buildifier under Apache 2.0.
- Built on starlark-rust.