Getting Started with CircuitBench
This short guide walks you through building and simulating your first circuit.
1. Place components
Use the COMPONENTS panel on the left. Search for a part, then click it to add it to the workspace. Drag parts to move them. Press R to rotate, F to flip, and Del to remove the selected part.
2. Wire pins together
Click one pin, then click another to create a wire. Click empty space or right-click to cancel a wire in progress. Hold Ctrl and click to select several parts, or drag on empty space to marquee-select.
3. Run the simulation
Press Start simulation. Turn on View → Volts to see live pin voltages. Alt-click a pin to add it to the scope and watch the signal change over time. Use the speed slider to slow down or speed up time.
4. Your first circuit: an LED with a resistor
An LED needs a series resistor to limit current. With a 5 V supply, a red LED dropping about 2 V and a target current of 15 mA, Ohm's law gives R = (5 − 2) / 0.015 = 200 Ω. Use the next standard value up, such as 220 Ω. Connect the supply positive to the resistor, the resistor to the LED anode, and the LED cathode to ground.
5. Try Arduino code
Choose Blink an LED from the Examples menu. The sketch in the code panel runs on the board you place. Edit the delay values, restart, and watch the LED respond. Output from Serial.println() appears in the serial monitor.
6. Check your work
Open Test → Check wiring to find floating or miswired pins. If Protect is on, components respect their ratings, so an LED with no resistor will be flagged rather than silently running.
7. Inspect voltages and signals
Turn on View → Volts to display live pin voltages. For a changing signal, Alt-click a pin to add a probe to the scope. This is useful for PWM, sensor signals, capacitor charging and other circuits where a single number does not tell the whole story.
For a measurement exercise, load the Ohm's law divider example, enable voltage display, and change one resistor at a time. Compare the measured middle-node voltage with the voltage-divider equation in Electronics Basics.
8. Editing and selecting components
Click a component to select it and use its inspector to change supported values. Drag a part to move it. Press R to rotate, F to flip, and Del to remove it. Hold Ctrl while clicking to select several parts, or drag on empty space to make a selection box.
Use Ctrl+D to duplicate a selected component and Ctrl+Z to undo. If a wire is started by mistake, click empty space or right-click to cancel it.
9. Arduino boards and code
Choose an Arduino or ESP32 board from the component library, then use the code panel to edit its sketch. The code runs on the board you place in the circuit. Start with the Blink an LED example and change one line at a time.
Use the serial monitor with Serial.begin() and Serial.println() to inspect program state and sensor values. The Arduino C++ Tutorial explains the main functions and patterns supported by CircuitBench.
10. Troubleshooting a circuit
- Nothing happens: check that the circuit has a valid power source and a complete return path to ground.
- An input behaves randomly: make sure the input is not floating;
INPUT_PULLUPis useful for buttons. - An LED is flagged: add a suitable series resistor and check its orientation.
- A motor is not behaving: use a transistor and flyback diode rather than driving the motor directly from a board pin.
- Arduino code does not respond: check pin numbers, board selection and the wiring between the code and the component.
- A scope trace looks wrong: make sure the probe is attached to the pin or node you actually want to observe.
11. Saving, importing and exporting
Save stores the current circuit in this browser's local storage. It does not create a server-side account or upload your circuit to CircuitBench. Export downloads a circuit file that you can keep as a backup or share. Import loads a compatible CircuitBench text or JSON file.
12. What the simulator represents
CircuitBench is a learning and prototyping simulator, not a replacement for testing physical hardware. Results depend on the models used by the simulator. Component ratings, tolerances, wiring quality and real-world behavior can differ from a simulation, so verify important designs against component datasheets and appropriate hardware measurements before building them.
Saving your circuits
Save stores the circuit in your browser. Export downloads it as a file you can keep or share, and Import loads it back later.
Keep learning: Component library · Electronics basics · Arduino tutorial