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 freeor see every part
  • 192parts on the bench
  • 25boards running now
  • 1.00xreal time, on every board
Blink and presslive0.000 s 0.00x
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 breadboardA real 0.1 inch grid with the rails and the center channel, 63 columns wide.
Jumper wiresDrag from any pin or hole to any other. Corners snap, and you can drag them.
PowerA supply rail at the voltage you choose.GroundThe other end of every circuit.LEDLights when current flows. Five colors, and the brightness is what your eye would see.ResistorAny value you like, with the color bands drawn to match.ESP32-C3-DevKitM-1A RISC-V board that runs your firmware at 160 MHz on the real memory map.PushbuttonA 12 mm tactile switch. Hold it while the simulation runs.Raspberry Pi PicoThe RP2040 board on our own Cortex-M0+ core. Pick a program and press Run.Raspberry Pi Pico WRaspberry 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 PillThe Black Pill on our own Cortex-M4 core. Pick a program and press Run.BBC micro:bit V2The 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 MinimaThe 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, 128x64The small OLED over I2C at 0x3C. Two wires plus power.TFT display, 240x320A 2.4 inch color TFT over SPI, for games and gauges.LED matrix, 8x8An 8x8 LED matrix on three wires. Chain more for a longer sign.Addressable RGB LEDsRGB LEDs on one wire, as a strip or a 16 wide panel.Thumb stickTwo axes and a push switch. Drag the cap to move it.Rotary encoder, KY-040A shaft that counts clicks, either way around, with a switch under it. Turn it with the pointer or the wheel.Game console buttonsA D-pad plus A and B, six switches to ground. Click them, or use the arrow keys, Z and X.Handheld consoleAn 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 keyboardA 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 buttonThe 30 mm cabinet button with a microswitch under it. Hold it while the simulation runs.Character LCD, 16x2Two rows of sixteen characters, HD44780 style, on four data lines.Character LCD with I2C backpackThe same two rows on four wires, through the PCF8574 backpack at 0x27. Mind the backlight bit.Four-digit display, TM1637Four 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 backpackFour digits and a colon on two I2C wires at 0x70. The chip scans, dims and blinks the display itself.Eight-digit display, MAX7219Eight seven-segment digits on three wires. The chip scans them itself; LedControl writes a digit at a time.Character LCD, 20x4Four 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 backpackThe 20x4 on four wires, through the same PCF8574 backpack at 0x27.OLED display, 1.3 inch SH1106The 1.3 inch OLED. It looks like an SSD1306 and is not: 132 columns, page addressing only.OLED display, 128x32The 0.91 inch strip: the same SSD1306, 32 rows tall.TFT display, 1.8 inch ST7735A 1.8 inch color TFT, 128x160, on the ILI9341 command set. Pick the tab color your library was told.IPS display, ST7789An IPS color TFT, 240x240, 240x320 or 135x240. It shows a negative until the driver sends INVON.Round display, GC9A01A 1.28 inch round 240x240 IPS screen over SPI: watch faces, gauges and dials.E-paper display, SSD1680 2.13 inch250x122 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 XPT2046The 2.8 inch TFT with a resistive touch panel on its own SPI bus. Press on the picture to touch it.Nokia 5110 display, PCD8544The 84x48 screen out of a Nokia phone. Dark on gray, readable without the backlight, and invisible until Vop is set.LED bar graph, 10 segmentsTen LEDs in a row in one DIP, each with its own two legs and its own resistor.Four-digit seven segment, multiplexedFour digits on twelve legs: one digit at a time, fast enough that the eye sees all four.PotentiometerA 10k knob you can turn. Ends to the rails, wiper to an ADC.Slide potentiometerThe same track laid out straight, with a knob you push along it.Light sensorA light-dependent resistor, with a slider for how bright the room is.Light sensor, BH1750A light meter on I2C that answers in lux: the count is lux times 1.2, with no calibration.Temperature sensorHalf a volt at zero degrees and 10 mV a degree. Drag the slider to change the weather.Temperature sensor, LM35Ten millivolts a degree from zero, no offset. Needs 4 V, so a 3.3 V board is out of its datasheet.Humidity sensor, AHT20Temperature and humidity over I2C at 0x38, one 80 ms measurement at a time.Thermistor, 10k NTCTen kilohms at 25 C and steeply lower as it warms. Put it in a divider and read the middle.Temperature and humidity, DHT22One wire, forty bits and a checksum. Drag the two sliders for the weather it reads.Ultrasonic rangerPulse TRIG and time ECHO. The slider moves whatever it is looking at.Motion sensorClick the dome to move in front of it. OUT stays high for two seconds after the movement stops.Reed switchTwo blades in glass that snap shut when a magnet comes near. Drag the magnet along it.Hall sensor, A3144A south pole near the face pulls OUT low. It needs a pull-up and ignores the north pole.Hall sensor, 49E linearAn 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, slotA beam across a slot. Spin the encoder wheel through it and count the pulses.Touch sensor, TTP223A finger on the pad drives SIG high within 60 ms. No pull-up, no bounce.Soil moisture sensor, capacitiveNo metal in the soil: a capacitor in a stake. Wetter reads lower, which surprises everybody.Gas sensor, MQ-2A heated tin-oxide element on a comparator board. It reads like a gas leak until it has warmed up.Sound sensor, KY-038A microphone with no amplifier. Claps light it; talking barely moves it. Press clap.Flame sensorAn infrared eye on a comparator board. DO goes low when a flame comes within half a meter.Rain sensorA plate of interleaved traces. Rain on it and AO falls; past the trimmer DO goes low.Water level sensorBare traces and a transistor: S jumps the moment the tip gets wet and creeps up after.Line sensor, TCRT5000An infrared LED and eye side by side. Low over white, high over the black line.Line tracker, 5 channelFive TCRT5000s in a row on one board, the robot car's eyes. Each output is high over the black line.Obstacle sensor, FC-51An IR LED and receiver on a comparator board. OUT goes low when something comes within about 13 cm, closer for black.Vibration sensor, SW-420A 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 resistorA pad that is open until touched, then lower the harder it is pressed.Flex sensorA strip that rises from 25 k flat as it bends. Five of them make a glove.Load cell with HX711A 24-bit converter and a bar load cell. Clock it on SCK and it hands you grams.Motor driver, TB6612FNGTwo MOSFET H bridges for two motors. STBY must be high, and PWM low is a brake.Motor driver, L9110STwo tiny bridges on one supply. Each output follows its input, and no coast: equal inputs brake.Battery, 9 V, AA or 18650A 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 WA 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, TP4056Charges one lithium-ion cell at up to 1 A to 4.2 V. What goes into the cell comes in at the input.Voltage regulatorA 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, MPU6050Six axes over I2C. Drag the board to tip it and the accelerometer follows gravity.Temperature sensor, DS18B20A thermometer with a 64-bit serial number, so any number share one wire. Needs a 4k7 pull-up.Pressure, humidity and temperature, BME280Temperature, humidity and air pressure as raw counts, and the datasheet sums that turn them into weather.Temperature and humidity, SHT31Temperature and humidity over I2C at 0x44, a CRC on every word, 15 ms a reading.Air quality sensor, SGP30CO2eq and TVOC over I2C at 0x58, after a 15 s warm-up. The heart of an air quality monitor.Color sensor, TCS34725Red, 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, BMP280The same sensor without the humidity: pressure, temperature, and so altitude.Current monitor, INA219A 0.1 ohm shunt in series with a load, and the current, voltage and power it sees, over I2C.Sixteen-bit ADC, ADS1115Four sixteen-bit analog inputs, single or in pairs. The gain sets the full scale, not the supply.Real-time clock, DS3231A clock that keeps time whatever the sketch is doing. Every register is BCD, which catches everybody.Real-time clock, DS1307The 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, 24LC256Thirty-two kilobytes that keep. Two address bytes, 64-byte pages, and 5 ms of silence after every write.I/O expander, PCF8574Eight more pins on two wires. No registers: a byte out is the pins, a byte in is what they read.I/O expander, MCP23017Sixteen more pins, two ports of registers, and interrupts. Tie RESET and the address pins or it is not there.Hobby servoA pulse width, not a duty cycle. The horn turns to wherever you send it.DC motorNeeds a transistor. The shaft shows how fast it is going and which way.Gear motor with encoderA 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, 2WDTwo TT gear motors on a deck. Drive one wheel faster than the other and it turns.Motor driver, DRV8833Two small H bridges from 2.7 V up. Both inputs low coasts, both high brakes.Limit switch, lever microswitchCOM rests on NC and moves to NO while the lever is held. The robot limit switch.Robot arm, 4 servosBase, shoulder, elbow and claw: four SG90s, each on its own signal pin.Servo driver, PCA9685 16-channelSixteen servo pulses from two I2C wires. It wakes up asleep, at 200 Hz.Stepper motor, 28BYJ-48 with ULN2003Four coils and a 1:64 gearbox: 4096 half-steps to a turn, and a stall if the sequence jumps.Motor driver, L293DFour half bridges. A pair across a motor turns it both ways, and keeps 2.4 V for itself doing it.Relay moduleA logic level on one side, something that has nothing to do with logic on the other.Motor driver module, L298NTwo H bridges for a robot car. Three jumpers decide how it is powered and whether ENA and ENB are pins.Stepper driver, A4988STEP and DIR in, two coil currents out, and it does nothing until RST is tied to SLP.Stepper driver, DRV8825The A4988 footprint with 1/32 steps and a 45 V rail. The mode pins mean something else.Stepper motor, NEMA 17Two coils, 200 steps a turn, and lost steps if you ask it to go faster than it can.Relay board, two channelsTwo relays with optocouplers, active low: LOW on IN is on.Relay board, four channelsFour relays in a row, active low, each on its own terminal.DPDT relayThe bare relay: a coil for a transistor to drive and two poles on one arm.Vibration motorThe coin in a phone. 75 mA and a start voltage, so it wants a transistor.Speaker, 8 ohmEight ohms, so 100 ohms in series or a transistor, and tone() plays through it.Keypad, 4x4Sixteen keys on eight pins. Scan a row at a time, and mind the ghosting.Keypad, 4x3 telephoneThe twelve keys off a telephone, on seven pins. The same scan, two pins cheaper.Keypad, 5x4 calculatorTwenty keys on nine pins, printed the way a desk calculator is: four operators, a point, clear and equals.RGB LEDThree 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.MOSFETAn 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.DiodeOne way only. For flyback, for steering, and for a battery in backwards.Zener diodeA Zener diode. Reverse biased it holds its own voltage; the band marks the cathode, which goes to the positive side.4-resistor networkFour pull-ups or pull-downs in one row of pins.8-resistor networkEight pull-ups in one part, the partner every DIP switch wants.Tilt switchA ball that rolls off the contacts when you tip it. Click to tip it.Piezo speakerMakes whatever tone you drive it with, and shows it.Slide switchTwo positions, held where you leave it.CapacitorThe one part that integrates over time, so an RC circuit really charges.ClockA square wave at the frequency you set, for a circuit with no processor in it.Seven segment displayCommon anode or cathode, with the decimal point.BuzzerSounds when it is driven, and shows it on screen.Arduino Uno R3A complete ATmega328P at 16 MHz, wired with jumpers like the real one.Arduino NanoThe same ATmega328P, small enough to push into the breadboard, with two extra analog pins.Arduino Mega 2560 R3Fifty-four digital pins, sixteen analog inputs and four serial ports, at the real addresses.Arduino LeonardoArduino 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-1ESP32-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 V1The 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-1The 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.0The 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 SAMD21Seeed 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 MHzThe Nano without its USB: the same chip and the same programs, in the smallest Arduino there is.Arduino Pro Mini, 3.3 V 8 MHzThe 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 MicroThe Leonardo shrunk to push into a breadboard: USB on the chip, pin 13 LED and all.SparkFun Pro MicroThe Leonardo’s chip on a Pro Mini footprint. No pin 13 LED: its lamps are RX and TX, lit by pulling low.Wemos D1 miniThe NodeMCU’s ESP8266 on a board a third the size, with the same D0 to D8 names.ESP-01SAn ESP8266 with eight pins and four of them GPIO. Wired with jumpers, because it will not sit in a breadboard.Seeed XIAO ESP32-C3The ESP32-C3 on a thumbnail. D0 to D10 are the XIAO’s own numbers, not GPIOs.ESP32-C3 SuperMiniThe smallest C3 board in common use, with a blue LED that lights when its pin is LOW.Arduino Uno R4 WiFiThe Uno R4 with a 12 x 8 LED matrix to draw on, and WiFi on a simulated network.ATtiny85A whole microcontroller in eight pins, straight into the breadboard.NE555 timerThe real 555, astable or monostable, with the timing the capacitor gives it.74HC595 shift registerEight outputs from three pins. Shift a byte in and latch it.74HC74 dual flip-flopTwo D flip-flops with preset and clear. Divide a clock with one.74HC00 quad NANDFour NAND gates in a DIP-14, with supply pins and a real propagation delay.74HC04 hex inverterSix inverters, same package, same rules.74HC08 quad ANDFour AND gates.74HC32 quad ORFour OR gates.74HC86 quad XORFour XOR gates.74HC02 quad NORFour NOR gates, with the outputs on the other pins.74HC14 Schmitt inverterSix inverters with hysteresis. Clean up a slow edge, or make an oscillator from one R and one C.74HC138 3-to-8 decoderThree address lines pick one of eight outputs and pull it low.74HC161 4-bit counterCounts 0 to 15 with every output changing on the same edge.74HC165 input shift registerEight inputs on three pins. Load the switches, then clock them out.74HC193 up/down counterCounts up on one clock and down on the other.CD4017 decade counterTen outputs, one high at a time, stepping along on every clock.CD4511 7-segment driverFour wires in, one lit digit out.4-way DIP switchFour little switches in a chip-sized body.8-way DIP switchEight switches, one byte, set by hand.Logic gateAn ideal AND, OR, NAND, NOR or XOR, for teaching the idea before the chip.InverterAn ideal inverter, for the same job.Bit switchOne ideal logic input, 0 or 1, and an input pin when the circuit becomes a chip.Bit lampOne ideal logic lamp, and an output pin when the circuit becomes a chip.Number switchUp to eight bits as one number you click to count, and a multi-bit chip input.Number displayUp to eight bits shown in hex, decimal and binary, and a multi-bit chip output.Constant bitA clean 0 or 1 for an input that must be tied, inside a chip or out.Step clockA clock that ticks once a click, or runs free, for watching a counter move.Program ROMThe Kestrel CPU's program: 256 instructions written in its own assembly.TerminalA text screen that takes one byte a clock, for a computer built from gates.Op-ampAn ideal op-amp on a single supply, for amplifiers and comparators.InductorResists a change in current, so it rings with a capacitor.Signal generatorSine, square or triangle at the frequency and amplitude you set.Function generatorThe bench box: four shapes, knobs on the face, and a real 50 ohm output that a load pulls down.OscilloscopeTwo channels on any two nodes, drawn against time as it runs, with the time base on the face.Logic analyzer, four channelsFour probes, every edge with the time it happened, a timing diagram on the face and the whole capture as CSV.MultimeterTen positions on the dial: volts, amps, ohms, continuity that beeps, diode, capacitance, frequency and duty.Bench power supply0 to 30 V with a current limit, and CV and CC lamps that say which of the two it is holding.Frequency counterClip it on anything: frequency, period, duty, high time and a running pulse total, counted rather than sampled.Logic probeHigh, low, pulsing, and nothing at all for a pin nobody is driving, which is the fault a voltmeter cannot find.Component testerPush an unknown part into the three sockets and it names it, measures it, and says which leg is which.Infrared remote, 21 buttonsNEC frames from twenty-one buttons: a 9 ms leader, 32 bits, and a repeat every 110 ms while you hold one.Infrared receiver, VS1838BIt inverts, and that is the whole of it: OUT idles high and drops while a burst arrives.Bluetooth serial module, HC-05A serial bridge, honestly. No radio is modeled: the far end of the link is the serial monitor.RFID reader, MFRC522Tap one of the cards beside it on the antenna and MFRC522.h reads its UID and its blocks.microSD card moduleA real FAT16 card behind SD.h. Watch the files a sketch writes appear, and download them.GPS module, NEO-6MNMEA 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 breadboardThe 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.

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.