SparkBench combines what normally takes 5 separate tools into one browser-based workbench: a code editor, circuit simulator, MCU emulator, EDA/PCB designer, and an AI engineering partner — all working together so you…
Simon is an open-source printed circuit board by photon-cat, from the photon-cat/sb-private repository on GitHub. It is a 2-layer board of 68.6 × 53.3 mm with 13 parts on 14 nets.
It belongs with the AVR (ATmega, ATtiny) boards of this library.
README
README.md
SparkBench
All-in-one hardware development platform powered by Claude Opus 4.6
SparkBench combines what normally takes 5 separate tools into one browser-based workbench: a code editor, circuit simulator, MCU emulator, EDA/PCB designer, and an AI engineering partner — all working together so you can go from idea to tested hardware in minutes instead of days.
What It Does
Prompt-to-Circuit: Describe what you want to build. Sparky (the AI agent) designs the schematic, writes the firmware, and presents a diff for your review.
Cycle-Accurate Simulation: Run your Arduino code on an AVR emulator with 13+ simulated components (LEDs, servos, encoders, displays, sensors, shift registers).
KiCAD-Compatible PCB Editor: Our custom-built PCB editor reads and writes native .kicad_pcb files. Built as a fork of KiCanvas with a full editing layer — component drag-and-drop, footprint rotation/flip, board outline editing (rectangle or SVG import), interactive trace routing, zone drawing, layer management, ratsnest display, courtyard DRC, undo/redo, and a 3D board preview. Everything stays in the KiCAD s-expression format so you can open your boards directly in KiCAD.
DeepPCB Autorouter Integration: One-click AI-powered autorouting via DeepPCB. Send your board to DeepPCB's cloud autorouter directly from the PCB editor or let Sparky handle it conversationally. Extracts constraints, validates, runs placement and routing, and pulls back the routed board — all streamed with live progress.
Headless CI Testing: Write YAML test scenarios and run them against the simulator — no hardware needed. AI-powered fuzz testing presses all the buttons and reports what broke.
Full-Context AI Agent: Sparky has access to your entire project (schematic, code, PCB, libraries) and can debug, refactor, add features, route your PCB, or explain your circuit.
PCB Editor: Custom KiCanvas fork with full editing — reads/writes .kicad_pcb s-expression format natively. Clipper2 for polygon math, WebGL2 rendering.
Autorouter: DeepPCB MCP integration — AI-powered PCB routing via SSE transport
AI: Claude Opus 4.6 via @anthropic-ai/claude-agent-sdk, custom MCP server for simulation control, DeepPCB MCP server for autorouting
Build: PlatformIO (AVR compilation), runs entirely in the browser except compilation
The PCB editor is a custom-built KiCAD-compatible editor, not a wrapper around existing tools. It reads and writes .kicad_pcb files natively using our own s-expression parser/serializer.
Features
Component placement — Click-to-select via pad proximity, drag with crosshair preview, grid snapping (0.5mm)
Board outline — Set rectangle dimensions or upload custom SVG outlines, converted to KiCAD Edge.Cuts
Trace routing — Interactive routing with orthogonal and 45° diagonal modes, via insertion, layer switching
Zone drawing — Copper pour zones with net auto-detection from pad clicks
Layer management — Full KiCAD layer stack (F.Cu, B.Cu, silkscreen, masks, etc.) with visibility toggles and highlighting
Ratsnest — Displays unrouted connections as airline wires
Undo/redo — 50-level snapshot-based undo stack
3D preview — Three.js-based 3D board viewer with component models
Export — Download .kicad_pcb files that open directly in KiCAD
DeepPCB Autorouter
The PCB editor integrates with DeepPCB for AI-powered autorouting. Two ways to use it:
From the UI: Click "Route with DeepPCB" in the PCB editor's right panel. The board is sent to DeepPCB's cloud autorouter, progress streams back in real-time, and the routed board is loaded back into the editor automatically.
From Sparky: Ask the AI agent to route your board (e.g., "route my PCB with DeepPCB"). Sparky uses DeepPCB's MCP tools directly — extracting constraints, validating, running placement/routing, and saving the result.
The autorouter workflow:
Extract constraints from the .kicad_pcb file
Validate constraints for correctness
Run placement — AI-optimized component positioning
Run routing — AI-powered trace routing
Monitor progress — live status updates streamed to the UI
Retrieve result — best routed board saved back to the project
git clone https://github.com/photon-cat/sparkbench.git
cd sparkbench
npm install
cp .env.example .env.local
# Edit .env.local with your keys:# ANTHROPIC_API_KEY=sk-ant-...# DEEPPCB_API_KEY=... (optional, enables autorouter)
npm run dev
SparkBench includes a command-line tool for running tests and AI-powered security fuzzing directly from your terminal.
bash
# Run it via npm
npm run sparkbench -- help
# Or directly with tsx
npx tsx scripts/sparkbench-cli.ts help
Commands
text
sparkbench test <project> [--scenario <file>] Run a YAML test scenario
sparkbench fuzz <project> AI security fuzzer (SparkyFuzzer)
sparkbench list List all projects
sparkbench help Show help
Running Tests
Compile firmware with PlatformIO, then run a YAML test scenario against the headless AVR simulator:
bash
npm run sparkbench -- test combo-safe
Test scenarios support: delay, set-control (buttons, encoders, pots, sensors), send-serial, wait-serial, expect-serial, expect-display, and clear-serial.
SparkyFuzzer (AI Security Auditor)
SparkyFuzzer uses Claude Opus 4.6 to analyze your firmware source code, identify security vulnerabilities, and generate exploit scenarios that run against the headless simulator to prove exploitability.
bash
# Set your API keyexport ANTHROPIC_API_KEY=sk-ant-...
# Fuzz the combo-safe demo (has 3 intentional vulnerabilities)
npm run sparkbench -- fuzz combo-safe
The fuzzer:
Sends your sketch.ino and diagram.json to Claude Opus 4.6
Problem Statement Two: Break the Barriers — Hardware development requires expensive tools (Altium, oscilloscopes), deep expertise (PCB layout, embedded C), and physical prototyping cycles. SparkBench puts the full hardware development workflow in everyone's hands with an AI partner that understands embedded systems.
Built With
Built entirely during the Claude Code Hackathon using Claude Opus 4.6 and Claude Code.
SparkBench combines what normally takes 5 separate tools into one browser-based workbench: a code editor, circuit simulator, MCU emulator, EDA/PCB designer, and an AI engineering partner — all working together so you…
A portable device that can spoof/emulate any magnetic stripe, credit card or hotel card "wirelessly", even on standard magstripe (non-NFC/RFID) readers.
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
13 parts1kGPL-3.0
Questions
How big is the Simon PCB?
It measures 68.6 × 53.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Simon use?
13 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.
Where can I download the Simon KiCad files?
From the photon-cat/sb-private repository on GitHub, at the commit this page was made from: the board is projects/simon/board.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Simon design in my own project?
Its repository states no licence, so its author keeps all rights: ask photon-cat before reusing the design.