The bench

Everything in the parts bin

Each tile is the part itself, drawn by the same code the editor uses, and all of it is free.

  • 192parts on the bench
  • 25boards to put them on
  • Freeall of them, on every plan

Basics

5 parts

The four almost every circuit on this site reaches for first: a light, a resistance, a timing element and a clock with no processor behind it.

Boards

26 parts

Each board has a documented memory map and pinout. Its page shows which peripherals run here and where the model stops.

ESP32-C3-DevKitM-1
A RISC-V board that runs your firmware at 160 MHz on the real memory map.
Raspberry Pi Pico
The RP2040 board on our own Cortex-M0+ core. Pick a program and press Run.
Raspberry Pi Pico W
Raspberry Pi Pico W (RP2040). The same board and the same pinout as a Pico, with the CYW43439 on it. The WiFi is simulated (no radio, no real internet), and the on-board LED, which hangs off that chip rather than off GP25, is driven through the same path. Everything else is the Pico.
STM32F411 Black Pill
The Black Pill on our own Cortex-M4 core. Pick a program and press Run.
BBC micro:bit V2
The nRF52833 board with its 5x5 LED matrix, buttons A and B and a speaker. Wire the rings to a breadboard.
STM32 Blue Pill (F103)
The Blue Pill on our own Cortex-M3 core, with an ADC. Pick a program and press Run.
Arduino Uno R4 Minima
The Uno R4 Minima on our own Cortex-M4 core: an Uno shape, a Renesas RA4M1 at 48 MHz. Pick a program and press Run.
Arduino Uno R3
A complete ATmega328P at 16 MHz, wired with jumpers like the real one.
Arduino Nano
The same ATmega328P, small enough to push into the breadboard, with two extra analog pins.
Arduino Mega 2560 R3
Fifty-four digital pins, sixteen analog inputs and four serial ports, at the real addresses.
Arduino Leonardo
Arduino Leonardo (ATmega32U4). An Uno-shaped board whose USB goes straight to the chip: Serial is the USB and Serial1 is pins 0 and 1. Load one of the built-in programs, or your own ELF, and the monitor shows what it prints.
ESP32-C6-DevKitC-1
ESP32-C6-DevKitC-1. A RISC-V board with thirty-one GPIOs and an addressable RGB LED on GPIO 8: load one of the built-in programs, or your own ELF, and its UART appears in the serial monitor.
ESP32 DevKit V1
The classic ESP32 on our own Xtensa core, at 240 MHz. Write your sketch or pick an example, and press Run: it compiles in the tab.
ESP32-S3-DevKitC-1
The ESP32-S3-DevKitC-1 on our own Xtensa core, at 240 MHz, with its RGB LED on the RMT. Write your sketch or pick an example, and press Run: it compiles in the tab.
ESP8266 NodeMCU V1.0
The NodeMCU on our own Xtensa core, at 80 MHz. D0 to D8 are not GPIO numbers and both LEDs are active low, here as on the desk.
Seeed XIAO SAMD21
Seeed XIAO SAMD21 (ATSAMD21G18A). A thumbnail-sized Cortex-M0+ board: eleven pads that are all analog inputs, Serial on the chip’s own USB and Serial1 on D6 and D7.
Arduino Pro Mini, 5 V 16 MHz
The Nano without its USB: the same chip and the same programs, in the smallest Arduino there is.
Arduino Pro Mini, 3.3 V 8 MHz
The Pro Mini at 3.3 V and 8 MHz. A sketch built for 16 MHz runs at half speed on it, as it does on the bench.
Arduino Micro
The Leonardo shrunk to push into a breadboard: USB on the chip, pin 13 LED and all.
SparkFun Pro Micro
The Leonardo’s chip on a Pro Mini footprint. No pin 13 LED: its lamps are RX and TX, lit by pulling low.
Wemos D1 mini
The NodeMCU’s ESP8266 on a board a third the size, with the same D0 to D8 names.
ESP-01S
An ESP8266 with eight pins and four of them GPIO. Wired with jumpers, because it will not sit in a breadboard.
Seeed XIAO ESP32-C3
The ESP32-C3 on a thumbnail. D0 to D10 are the XIAO’s own numbers, not GPIOs.
ESP32-C3 SuperMini
The smallest C3 board in common use, with a blue LED that lights when its pin is LOW.
Arduino Uno R4 WiFi
The Uno R4 with a 12 x 8 LED matrix to draw on, and WiFi on a simulated network.
ATtiny85
A whole microcontroller in eight pins, straight into the breadboard.

Inputs

17 parts

Buttons, switches, sticks and pads, for whatever a person presses, twists or types.

Pushbutton
A 12 mm tactile switch. Hold it while the simulation runs.
Thumb stick
Two axes and a push switch. Drag the cap to move it.
Rotary encoder, KY-040
A shaft that counts clicks, either way around, with a switch under it. Turn it with the pointer or the wheel.
Game console buttons
A D-pad plus A and B, six switches to ground. Click them, or use the arrow keys, Z and X.
PS/2 keyboard
A real PS/2 keyboard on two wires, scan code set 2. Click it while it runs and type on it for real; Escape gives the keyboard back.
12
Arcade button
The 30 mm cabinet button with a microswitch under it. Hold it while the simulation runs.
Potentiometer
A 10k knob you can turn. Ends to the rails, wiper to an ADC.
Slide potentiometer
The same track laid out straight, with a knob you push along it.
Touch sensor, TTP223
A finger on the pad drives SIG high within 60 ms. No pull-up, no bounce.
Limit switch, lever microswitch
COM rests on NC and moves to NO while the lever is held. The robot limit switch.
Keypad, 4x4
Sixteen keys on eight pins. Scan a row at a time, and mind the ghosting.
Keypad, 4x3 telephone
The twelve keys off a telephone, on seven pins. The same scan, two pins cheaper.
Keypad, 5x4 calculator
Twenty keys on nine pins, printed the way a desk calculator is: four operators, a point, clear and equals.
12
Tilt switch
A ball that rolls off the contacts when you tip it. Click to tip it.
Slide switch
Two positions, held where you leave it.
4-way DIP switch
Four little switches in a chip-sized body.
8-way DIP switch
Eight switches, one byte, set by hand.

Sensors

35 parts

Light, heat, distance and motion, read the way the real part reads them.

Light sensor
A light-dependent resistor, with a slider for how bright the room is.
Light sensor, BH1750
A light meter on I2C that answers in lux: the count is lux times 1.2, with no calibration.
Temperature sensor
Half a volt at zero degrees and 10 mV a degree. Drag the slider to change the weather.
Temperature sensor, LM35
Ten millivolts a degree from zero, no offset. Needs 4 V, so a 3.3 V board is out of its datasheet.
Humidity sensor, AHT20
Temperature and humidity over I2C at 0x38, one 80 ms measurement at a time.
Thermistor, 10k NTC
Ten kilohms at 25 C and steeply lower as it warms. Put it in a divider and read the middle.
Temperature and humidity, DHT22
One wire, forty bits and a checksum. Drag the two sliders for the weather it reads.
Ultrasonic ranger
Pulse TRIG and time ECHO. The slider moves whatever it is looking at.
Motion sensor
Click the dome to move in front of it. OUT stays high for two seconds after the movement stops.
Reed switch
Two blades in glass that snap shut when a magnet comes near. Drag the magnet along it.
Hall sensor, A3144
A south pole near the face pulls OUT low. It needs a pull-up and ignores the north pole.
Hall sensor, 49E linear
An analog Hall sensor: half the supply with no field, up 1.4 mV a gauss for a south pole and down for a north.
Photo interrupter, slot
A beam across a slot. Spin the encoder wheel through it and count the pulses.
Soil moisture sensor, capacitive
No metal in the soil: a capacitor in a stake. Wetter reads lower, which surprises everybody.
Gas sensor, MQ-2
A heated tin-oxide element on a comparator board. It reads like a gas leak until it has warmed up.
Sound sensor, KY-038
A microphone with no amplifier. Claps light it; talking barely moves it. Press clap.
Flame sensor
An infrared eye on a comparator board. DO goes low when a flame comes within half a meter.
Rain sensor
A plate of interleaved traces. Rain on it and AO falls; past the trimmer DO goes low.
Water level sensor
Bare traces and a transistor: S jumps the moment the tip gets wet and creeps up after.
Line sensor, TCRT5000
An infrared LED and eye side by side. Low over white, high over the black line.
Line tracker, 5 channel
Five TCRT5000s in a row on one board, the robot car's eyes. Each output is high over the black line.
Obstacle sensor, FC-51
An IR LED and receiver on a comparator board. OUT goes low when something comes within about 13 cm, closer for black.
Vibration sensor, SW-420
A vibration switch on a comparator board. DO is low when still and pulses high for a knock, so a sketch takes the first edge.
Force-sensing resistor
A pad that is open until touched, then lower the harder it is pressed.
Flex sensor
A strip that rises from 25 k flat as it bends. Five of them make a glove.
Load cell with HX711
A 24-bit converter and a bar load cell. Clock it on SCK and it hands you grams.
Accelerometer and gyroscope, MPU6050
Six axes over I2C. Drag the board to tip it and the accelerometer follows gravity.
Temperature sensor, DS18B20
A thermometer with a 64-bit serial number, so any number share one wire. Needs a 4k7 pull-up.
Pressure, humidity and temperature, BME280
Temperature, humidity and air pressure as raw counts, and the datasheet sums that turn them into weather.
Temperature and humidity, SHT31
Temperature and humidity over I2C at 0x44, a CRC on every word, 15 ms a reading.
Air quality sensor, SGP30
CO2eq and TVOC over I2C at 0x58, after a 15 s warm-up. The heart of an air quality monitor.
Color sensor, TCS34725
Red, green, blue and clear counts over I2C at 0x29, with a white LED to light the card. The eye of a color sorter.
Pressure and temperature, BMP280
The same sensor without the humidity: pressure, temperature, and so altitude.
Current monitor, INA219
A 0.1 ohm shunt in series with a load, and the current, voltage and power it sees, over I2C.
Sixteen-bit ADC, ADS1115
Four sixteen-bit analog inputs, single or in pairs. The gain sets the full scale, not the supply.

Outputs

24 parts

Motors, motion and light that draw more current than a pin can give on its own.

Addressable RGB LEDs
RGB LEDs on one wire, as a strip or a 16 wide panel.
Motor driver, TB6612FNG
Two MOSFET H bridges for two motors. STBY must be high, and PWM low is a brake.
Motor driver, L9110S
Two tiny bridges on one supply. Each output follows its input, and no coast: equal inputs brake.
Hobby servo
A pulse width, not a duty cycle. The horn turns to wherever you send it.
0 rpm
DC motor
Needs a transistor. The shaft shows how fast it is going and which way.
Gear motor with encoder
A gearbox motor with a two-channel Hall encoder on its back: count the edges on A and B for how far and how fast, and which way.
Robot car chassis, 2WD
Two TT gear motors on a deck. Drive one wheel faster than the other and it turns.
Motor driver, DRV8833
Two small H bridges from 2.7 V up. Both inputs low coasts, both high brakes.
Robot arm, 4 servos
Base, shoulder, elbow and claw: four SG90s, each on its own signal pin.
Stepper motor, 28BYJ-48 with ULN2003
Four coils and a 1:64 gearbox: 4096 half-steps to a turn, and a stall if the sequence jumps.
Motor driver, L293D
Four half bridges. A pair across a motor turns it both ways, and keeps 2.4 V for itself doing it.
Relay module
A logic level on one side, something that has nothing to do with logic on the other.
Motor driver module, L298N
Two H bridges for a robot car. Three jumpers decide how it is powered and whether ENA and ENB are pins.
Stepper driver, A4988
STEP and DIR in, two coil currents out, and it does nothing until RST is tied to SLP.
Stepper driver, DRV8825
The A4988 footprint with 1/32 steps and a 45 V rail. The mode pins mean something else.
Stepper motor, NEMA 17
Two coils, 200 steps a turn, and lost steps if you ask it to go faster than it can.
Relay board, two channels
Two relays with optocouplers, active low: LOW on IN is on.
Relay board, four channels
Four relays in a row, active low, each on its own terminal.
DPDT relay
The bare relay: a coil for a transistor to drive and two poles on one arm.
coin vibration motorstill
Vibration motor
The coin in a phone. 75 mA and a start voltage, so it wants a transistor.
Speaker, 8 ohm
Eight ohms, so 100 ohms in series or a transistor, and tone() plays through it.
RGB LED
Three dice under one lens on a shared leg, and three resistors.
-
Piezo speaker
Makes whatever tone you drive it with, and shows it.
Buzzer
Sounds when it is driven, and shows it on screen.

Displays

22 parts

Everything with a screen, a digit or a dot, ready to draw on the moment it is wired up.

OLED display, 128x64
The small OLED over I2C at 0x3C. Two wires plus power.
TFT display, 240x320
A 2.4 inch color TFT over SPI, for games and gauges.
LED matrix, 8x8
An 8x8 LED matrix on three wires. Chain more for a longer sign.
Handheld console
An OLED, a D-pad and four buttons in one case. Wire it as an OLED plus six switches and an old sketch still works.
Character LCD, 16x2
Two rows of sixteen characters, HD44780 style, on four data lines.
Character LCD with I2C backpack
The same two rows on four wires, through the PCF8574 backpack at 0x27. Mind the backlight bit.
Four-digit display, TM1637
Four digits and a colon on two wires. It looks like I2C and is not: no address, and bits go the other way around.
Four-digit display, HT16K33 backpack
Four digits and a colon on two I2C wires at 0x70. The chip scans, dims and blinks the display itself.
Eight-digit display, MAX7219
Eight seven-segment digits on three wires. The chip scans them itself; LedControl writes a digit at a time.
Character LCD, 20x4
Four rows of twenty on the same controller as the 16x2. Text that runs off row 0 carries on in row 2.
Character LCD, 20x4, with I2C backpack
The 20x4 on four wires, through the same PCF8574 backpack at 0x27.
OLED display, 1.3 inch SH1106
The 1.3 inch OLED. It looks like an SSD1306 and is not: 132 columns, page addressing only.
GNDVCCSCLSDA
OLED display, 128x32
The 0.91 inch strip: the same SSD1306, 32 rows tall.
TFT display, 1.8 inch ST7735
A 1.8 inch color TFT, 128x160, on the ILI9341 command set. Pick the tab color your library was told.
IPS display, ST7789
An IPS color TFT, 240x240, 240x320 or 135x240. It shows a negative until the driver sends INVON.
Round display, GC9A01
A 1.28 inch round 240x240 IPS screen over SPI: watch faces, gauges and dials.
E-paper display, SSD1680 2.13 inch
250x122 black and white e-paper over SPI. Seconds to refresh, and it keeps the picture with no power.
Touch TFT, 2.8 inch ILI9341 with XPT2046
The 2.8 inch TFT with a resistive touch panel on its own SPI bus. Press on the picture to touch it.
Nokia 5110 display, PCD8544
The 84x48 screen out of a Nokia phone. Dark on gray, readable without the backlight, and invisible until Vop is set.
LED bar graph, 10 segments
Ten LEDs in a row in one DIP, each with its own two legs and its own resistor.
Four-digit seven segment, multiplexed
Four digits on twelve legs: one digit at a time, fast enough that the eye sees all four.
Seven segment display
Common anode or cathode, with the decimal point.

Logic

28 parts

Ideal gates for teaching the idea, then the real 74HC chips that carry it out with a datasheet’s own delay.

I2C EEPROM, 24LC256
Thirty-two kilobytes that keep. Two address bytes, 64-byte pages, and 5 ms of silence after every write.
I/O expander, PCF8574
Eight more pins on two wires. No registers: a byte out is the pins, a byte in is what they read.
I/O expander, MCP23017
Sixteen more pins, two ports of registers, and interrupts. Tie RESET and the address pins or it is not there.
74HC595 shift register
Eight outputs from three pins. Shift a byte in and latch it.
74HC74 dual flip-flop
Two D flip-flops with preset and clear. Divide a clock with one.
74HC00 quad NAND
Four NAND gates in a DIP-14, with supply pins and a real propagation delay.
74HC04 hex inverter
Six inverters, same package, same rules.
74HC08 quad AND
Four AND gates.
74HC32 quad OR
Four OR gates.
74HC86 quad XOR
Four XOR gates.
74HC02 quad NOR
Four NOR gates, with the outputs on the other pins.
74HC14 Schmitt inverter
Six inverters with hysteresis. Clean up a slow edge, or make an oscillator from one R and one C.
74HC138 3-to-8 decoder
Three address lines pick one of eight outputs and pull it low.
74HC161 4-bit counter
Counts 0 to 15 with every output changing on the same edge.
74HC165 input shift register
Eight inputs on three pins. Load the switches, then clock them out.
74HC193 up/down counter
Counts up on one clock and down on the other.
CD4017 decade counter
Ten outputs, one high at a time, stepping along on every clock.
CD4511 7-segment driver
Four wires in, one lit digit out.
AND gate
Logic gate
An ideal AND, OR, NAND, NOR or XOR, for teaching the idea before the chip.
NOT gate
Inverter
An ideal inverter, for the same job.
Bit switch A: 0A
Bit switch
One ideal logic input, 0 or 1, and an input pin when the circuit becomes a chip.
Bit lamp Y: offY
Bit lamp
One ideal logic lamp, and an output pin when the circuit becomes a chip.
Number switch
Up to eight bits as one number you click to count, and a multi-bit chip input.
Number display
Up to eight bits shown in hex, decimal and binary, and a multi-bit chip output.
Constant 00
Constant bit
A clean 0 or 1 for an input that must be tied, inside a chip or out.
Step clock, 2 Hz: offSTEP2 Hz
Step clock
A clock that ticks once a click, or runs free, for watching a counter move.
Program ROM
The Kestrel CPU's program: 256 instructions written in its own assembly.
Terminal
A text screen that takes one byte a clock, for a computer built from gates.

Timers and analog

18 parts

The parts an analog island solves together by nodal analysis: the 555, the op-amp, a diode, a transistor, a MOSFET and the bench instruments that watch them.

Transistor (NPN or PNP)
The part that lets a board pin run something a board pin cannot run.
MOSFET
An enhancement-mode MOSFET, N-channel (2N7000 style) or P-channel (BS250 style) by its model. A voltage on the gate (no current at all) switches the channel between drain and source. It needs no gate resistor.
AC1N4148
Diode
One way only. For flyback, for steering, and for a battery in backwards.
AC1N4733A
Zener diode
A Zener diode. Reverse biased it holds its own voltage; the band marks the cathode, which goes to the positive side.
10k x4
4-resistor network
Four pull-ups or pull-downs in one row of pins.
10k x8
8-resistor network
Eight pull-ups in one part, the partner every DIP switch wants.
NE555 timer
The real 555, astable or monostable, with the timing the capacitor gives it.
Op-amp
Op-amp
An ideal op-amp on a single supply, for amplifiers and comparators.
100 mH100 mH
Inductor
Resists a change in current, so it rings with a capacitor.
Signal generator
Sine, square or triangle at the frequency and amplitude you set.
Function generator
The bench box: four shapes, knobs on the face, and a real 50 ohm output that a load pulls down.
Oscilloscope
Two channels on any two nodes, drawn against time as it runs, with the time base on the face.
Logic analyzer, four channels
Four probes, every edge with the time it happened, a timing diagram on the face and the whole capture as CSV.
Multimeter
Ten positions on the dial: volts, amps, ohms, continuity that beeps, diode, capacitance, frequency and duty.
Bench power supply
0 to 30 V with a current limit, and CV and CC lamps that say which of the two it is holding.
Frequency counter
Clip it on anything: frequency, period, duty, high time and a running pulse total, counted rather than sampled.
Logic probe
High, low, pulsing, and nothing at all for a pin nobody is driving, which is the fault a voltmeter cannot find.
Component tester
Push an unknown part into the three sockets and it names it, measures it, and says which leg is which.

Clocks and links

10 parts

A real-time clock, a Bluetooth serial bridge and the two infrared parts, each a small module wired over a few pins.

Power and wiring

8 parts

The rails, the ground and the breadboard itself: the wiring every other part stands on.

Put one on a breadboard

Open the editor, drag a part out of the bin and wire it up. Nothing to install, and no account needed.