
Sensor node
epim/circsim
Post-routed PCB+Schematic circuit simulator. Because I have trust issues.

Post-routed PCB+Schematic circuit simulator. Because I have trust issues.
Blinker-555 is an open-source printed circuit board by epim, from the epim/circsim repository on GitHub, published under the MIT licence. It is a 2-layer board of 60 × 45 mm with 7 parts on 7 nets, routed with 6 tracks and 0 vias.
It is built around the NE555. Its parts include 3 resistors, 2 capacitors, 1 IC and 1 diode.
Simulate and audit any routed KiCad board. circsim is a desktop app (Windows / macOS / Linux) that opens a routed KiCad board (.kicad_pcb), rebuilds the circuit from the copper, renders it in 3D, and runs an interactive SPICE bench on it: apply power, turn a knob, probe nets on the physical board. A read-only Board Critic audits the layout for fabrication risks. You get both before you pay for fabrication.
Open the board and press Energize. You do not assign Sim.* fields first, and the bundled model library matches parts by part number, value, and footprint, flagging the ones it cannot match instead of guessing. circsim is fully offline, MIT-licensed, and never modifies your design files.
Documentation: epim.github.io/circsim. It has the install guide, the First Light tutorial, task how-tos, and the full reference.
Download: latest release (Windows .exe, macOS .dmg x2, Linux .AppImage / .deb).


More screenshots, and what circsim reads out of sixteen KiCad-written boards from KiCad 6 through 10, are in the gallery.
.kicad_pcb, KiCad 6 to 10. The board can come from your own KiCad project, a contractor, or an autorouter such as Quilter that returns a KiCad board; circsim has no Quilter-specific code. The supported files page lists the KiCad-written boards behind the version range, including the one it rejects..kicad_sch next to the board with the same name and circsim attaches it on open. Its Sim.* fields are the first model source and its pin names settle diode and LED polarity. Only the root sheet is read, so parts on hierarchical sub-sheets get neither. A BOM CSV pins down exact parts.Powered by ngspice 46, bundled per platform and run crash-isolated in a separate process. Nothing to install; no network calls, ever, and the app enforces it by cancelling any request that is not a local file.
npm install
npm run fetch:ngspice # download the bundled SPICE engine for your platform
npm run dev # run the app in dev mode
npm test # vitest unit + integration suite
npm run typecheck # tsconfig.node.json + tsconfig.web.json (what CI runs)
npm run test:e2e # Playwright E2E (requires npm run build first)
npm run build # build the app
npm run package # produce installers for the current platformArchitecture: Electron + TypeScript + React (panels) + imperative Three.js/WebGL2 (3D viewport) + zustand (state). The framework-free src/core/ layer (KiCad parsing, netlist extraction, model resolution, SPICE-deck generation, the Board Critic) is fully unit-tested without Electron. See the architecture reference.
The docs site is a VitePress project under website/, deployed to GitHub Pages by .github/workflows/docs.yml on every push touching website/. To work on it:
cd website && npm install && npm run docs:devThe page the app opens from its About dialog and fidelity banner is rendered from website/docs/concepts/fidelity.md. After editing that page, run npm run docs:fidelity and commit the regenerated docs/what-circsim-can-tell-you.html; a unit test fails when the two drift.
MIT. circsim bundles ngspice (BSD-style) and an in-house SPICE model library written from datasheet parameters; it never bundles vendor SPICE models or KiCad's share-alike 3D assets. See docs/licensing.md and the in-app About dialog for full provenance.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 100n | Capacitor_SMD:C_0805_2012Metric | C2 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric | R1 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 330 | Resistor_SMD:R_0805_2012Metric | R3 |
| 1 | 47k | Resistor_SMD:R_0805_2012Metric | R2 |
| 1 | LED | LED_SMD:LED_0805_2012Metric | D1 |
| 1 | NE555 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1 |
It measures 60 × 45 mm and has 2 copper layers, 1.6 mm thick.
7 parts, built around the NE555. 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 epim/circsim repository on GitHub, at the commit this page was made from: the board is resources/sample/blinker-555.kicad_pcb and its schematic fixtures/fixture-555.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

epim/circsim
Post-routed PCB+Schematic circuit simulator. Because I have trust issues.

epim/circsim
Post-routed PCB+Schematic circuit simulator. Because I have trust issues.




leomil72/LM80C
A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO

DoctorWkt/CSCvon8
A crazy small 8-bit CPU built with only seventeen 7400-series chips.

nicolacimmino/PLC-14500
Retro trainer board based on the MC14500 1-bit ICU. The project is OSHW certified and a ready to assemble kit is available on Tindie.

bvarner/pi485
An open-source TTL UART <-> RS485 converter, intended for a Raspberry Pi or Arduino

kraakenstuff/ADSR
2HP ADSR module based on "Fastest Envelope in the West" by René Schmitz (https://www.schmitzbits.de/adsr.html)