Source: https://mokxi.com/breadboard-simulator
Updated: 2026-09-27

Simulator

# A breadboard you can actually wire

Mokxi is a free online breadboard simulator that runs in your browser, with nothing to install and no account needed. Drop parts into a real breadboard, drag jumper wires between the holes, and press Run. No microcontroller required: this circuit is a 2 Hz clock, a pushbutton and two LEDs.

Sign up free or see every part

- 192 parts on the bench
- 25 boards running now
- 1.00x real time, on every board

Hold the button

A real breadboard with no board on it. Hold the button, or click anything else to open it in the editor.

## How the breadboard is wired

Not a picture of a breadboard. The holes are real nets.

Mokxi's breadboard is 63 columns wide, on the real 0.1 inch pitch a part's legs are cut to. Each column has two five-hole strips split by a 0.3 inch center channel, plus the four power rails along the top and bottom edges.

Before a run, every hole a part or a wire touches is flattened into nets with a union-find pass, so a resistor pushed into row f and a wire pushed into row f of the same column are genuinely the same node, the way they would be on a real board. Push a part in a hole one column over and nothing happens, because that is what a real breadboard would do too.

## The parts you can drop in

192 of them today, each drawn and simulated by the same code that runs on the canvas.

Full-size breadboard A real 0.1 inch grid with the rails and the center channel, 63 columns wide.
Jumper wires Drag from any pin or hole to any other. Corners snap, and you can drag them.
Power A supply rail at the voltage you choose. Ground The other end of every circuit. LED Lights when current flows. Five colors, and the brightness is what your eye would see. Resistor Any value you like, with the color bands drawn to match. ESP32-C3-DevKitM-1 A RISC-V board that runs your firmware at 160 MHz on the real memory map. Pushbutton A 12 mm tactile switch. Hold it while the simulation runs. 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. 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. Addressable RGB LEDs RGB LEDs on one wire, as a strip or a 16 wide panel. 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. 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. 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. Arcade button The 30 mm cabinet button with a microswitch under it. Hold it while the simulation runs. 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. 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. 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. 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. Touch sensor, TTP223 A finger on the pad drives SIG high within 60 ms. No pull-up, no bounce. 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. 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. Battery, 9 V, AA or 18650 A voltage behind an internal resistance: 1.6 V a fresh AA, 4.2 V a full 18650, and less once a motor starts. Solar panel, 6 V 1 W A current source set by the sunlight, 0.2 A in full sun, with its own diode across it: about 7.2 V open. Li-ion charger, TP4056 Charges one lithium-ion cell at up to 1 A to 4.2 V. What goes into the cell comes in at the input. Voltage regulator A 7805, an AMS1117-3.3 or an MCP1700-3.3: holds its output until the input is less than that plus the dropout. 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. Real-time clock, DS3231 A clock that keeps time whatever the sketch is doing. Every register is BCD, which catches everybody. Real-time clock, DS1307 The older clock: the same BCD registers, 56 bytes of RAM, and a halt bit that keeps a new one stopped. Five volts only. 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. Hobby servo A pulse width, not a duty cycle. The horn turns to wherever you send it. 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. Limit switch, lever microswitch COM rests on NC and moves to NO while the lever is held. The robot limit switch. Robot arm, 4 servos Base, shoulder, elbow and claw: four SG90s, each on its own signal pin. Servo driver, PCA9685 16-channel Sixteen servo pulses from two I2C wires. It wakes up asleep, at 200 Hz. 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. 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. 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. RGB LED Three dice under one lens on a shared leg, and three resistors. 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. Diode One way only. For flyback, for steering, and for a battery in backwards. Zener diode A Zener diode. Reverse biased it holds its own voltage; the band marks the cathode, which goes to the positive side. 4-resistor network Four pull-ups or pull-downs in one row of pins. 8-resistor network Eight pull-ups in one part, the partner every DIP switch wants. Tilt switch A ball that rolls off the contacts when you tip it. Click to tip it. Piezo speaker Makes whatever tone you drive it with, and shows it. Slide switch Two positions, held where you leave it. Capacitor The one part that integrates over time, so an RC circuit really charges. Clock A square wave at the frequency you set, for a circuit with no processor in it. Seven segment display Common anode or cathode, with the decimal point. Buzzer Sounds when it is driven, and shows it on screen. 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. NE555 timer The real 555, astable or monostable, with the timing the capacitor gives it. 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. 4-way DIP switch Four little switches in a chip-sized body. 8-way DIP switch Eight switches, one byte, set by hand. Logic gate An ideal AND, OR, NAND, NOR or XOR, for teaching the idea before the chip. Inverter An ideal inverter, for the same job. Bit switch One ideal logic input, 0 or 1, and an input pin when the circuit becomes a chip. 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 bit A clean 0 or 1 for an input that must be tied, inside a chip or out. 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. Op-amp An ideal op-amp on a single supply, for amplifiers and comparators. 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. Infrared remote, 21 buttons NEC frames from twenty-one buttons: a 9 ms leader, 32 bits, and a repeat every 110 ms while you hold one. Infrared receiver, VS1838B It inverts, and that is the whole of it: OUT idles high and drops while a burst arrives. Bluetooth serial module, HC-05 A serial bridge, honestly. No radio is modeled: the far end of the link is the serial monitor. RFID reader, MFRC522 Tap one of the cards beside it on the antenna and MFRC522.h reads its UID and its blocks. microSD card module A real FAT16 card behind SD.h. Watch the files a sketch writes appear, and download them. GPS module, NEO-6M NMEA at 9600 baud, once a second, from wherever you set it. Click it to lose the fix. 2.4 GHz radio, nRF24L01+ Put two down and they talk: RF24.h, auto-ack, retries, and the packets on a shared air line. Half breadboard The same board, half the length, for a circuit that fits.

## Add a board when you want one

The breadboard is the same board a full circuit uses. Wire an Arduino Uno or an ESP32-C3 to it and it is a real project.

An Arduino Uno sits beside the board and reaches it with jumper wires, exactly like the real thing. An ESP32-C3-DevKitM-1 is narrow enough to straddle the center channel and push straight in.

Arduino Uno simulator ESP32-C3 simulator

Mokxi solves the analog corners of a circuit by nodal analysis and runs everything else on an event-driven digital path, which is how an RC lands on the true exponential while hundreds of parts still run at real time. Diodes, LEDs, transistors and MOSFETs are real device models solved by Newton-Raphson. Every device card carries its junction capacitance, so a transistor has a high-frequency corner of its own. The editor imports core textbook SPICE elements and exports the analog circuit as an ngspice deck. On the canvas the operating point, the sweep and the small-signal frequency response are here, but not noise, distortion or temperature, and an op-amp is a single-pole macromodel rather than a transistor-level one. For those, Run a SPICE deck runs a netlist on a SPICE engine checked against ngspice, with .tran, .ac, .dc, .tf, .noise, .meas and .temp.

## Questions

Is it free?

Yes. The whole breadboard, every part on it, and every board, on the free plan, with no card.

Do I need an account?

No. The breadboard runs the moment the page does. An account is only for saving a project to the cloud and sharing it by link.

Does it work on a phone?

Yes. Mokxi takes a finger on a phone or tablet the same way it takes a mouse, and the layout narrows to fit.

Can I save my circuit?

Yes, with a free account. Signed out, it stays in this browser until you clear its storage.

## Wire something up

Open the editor, drop a part on the breadboard and press Run. Nothing to install, and no account needed.

Start building Open the editor
