
Edit together in real time
Upload a project to the cloud, then invite people or share a link. Everyone sees the others' cursors and edits as they happen. The server validates every change before it reaches anyone else.
Electronics design suite · Web and Windows
FalCAD draws the schematic, simulates it while you flip its switches, lays out the board and writes the fabrication files. Firmware and Verilog live in the same project, a folder of plain files you can keep in Git.
No install. Local projects need no account.


Board workflow
One project carries the circuit through every step. A net you draw on the schematic is the same net in the simulator, on the board and in the bill of materials.
01Schematic
Place parts from a library with real simulation models, such as 74HC logic, the NE555, LM358 and LM7805. The electrical rule check runs on every edit and lists what is still open.

02Simulate
Simulate a 555 astable live and watch the timing capacitor on the scope while you turn the rate potentiometer. Operating point, DC sweep, transient, AC and noise analyses run in the simulation workbench.

03Board
Create the board from the schematic. Footprints land on the outline with ratsnest lines to every pad they connect to, and the design rule check lists each unrouted connection with its location.

043D
Orbit the board with its solder mask, copper, drilled holes and the component bodies from the footprints.

05Fabricate
Gerber X2, Excellon, BOM and pick-and-place come out in one .zip. Each file is listed with its size and SHA-256 checksum, and a manifest records them all.

Your first schematicSimulating a circuitFrom schematic to board
HDL and FPGA
Verilog, SystemVerilog and VHDL open in the same project as the board. Yosys synthesis and iCE40 place and route run in WebAssembly inside FalCAD.

01Write
The editor reads your design as you type. You get the module outline with port widths, go to definition and the hierarchy with its top module.

02Synthesize
Yosys targets iCE40, ECP5 or generic gates and reports the cells it used.

03Simulate
Run the synthesized design for as many clock cycles as you need and read values with cursors in the waveform viewer.

Firmware
FalCAD emulates the microcontroller and steps it together with the analog simulation. When your code drives D13 high, current flows through the resistor and the LED on the schematic lights up.
Circuits as code
Scripts in Python, JavaScript, TypeScript, Verilog or SPICE generate and update schematics. Each run lists the parts it will create, change or delete and checks the result against the script's own netlist. You apply it as one undo step.
Change a parameter and run it again. Here a new LED current changes eight resistor values from 330 to 560 Ω, and every part keeps its identity and its place on the sheet.

Teams and tools

Upload a project to the cloud, then invite people or share a link. Everyone sees the others' cursors and edits as they happen. The server validates every change before it reaches anyone else.

Extensions run in a sandbox and declare what they may read or change. When one proposes an edit, you see the exact operations and their effect on connectivity before you approve it.
The falcad command runs the same engines without the editor. Use it to fail a pull request when the ERC, the DRC or a simulation assertion fails. A local MCP server lets MCP clients inspect a project and propose edits for you to review.
$ falcad erc ./blinker
$ falcad sim ./blinker # checks the simulation assertions
$ falcad drc ./blinker && falcad fab ./blinker --out fab/
$ falcad hdl-synth ./fpga --top counter --target ice40The .falcad format
A FalCAD project is a folder of JSON and source files with one manifest. It opens the same in the browser, the desktop app and the command line. Pack it into a single .falcadpack archive when you want to send it to someone.
Read the format specificationblinky/ blinky.falcadmanifest falcad.lockpinned engines and libraries schematics/main.sch.json pcb/main.pcb.json simulation/main.sim.jsonanalyses and assertions firmware/src/blinky.ino rtl/counter.v scripts/led_bar.pycircuit scriptThe 555 blinker, the Arduino Uno blink and the 74HC161 counter are ready to run in your browser.