Everything Mokxi does, written down
Start with Getting started, or search for what you need.
Start here
Open the editor, find your way around it, and build something that runs.
A breadboard, a parts bin and a code editor in one browser tab. Nothing to install, and no account needed.
The screen, part by partThe editor is a sidebar, a header, a canvas, a code pane and a serial monitor. This is what every control on it does.
Your first project in five minutesAn Arduino Uno, one LED, one resistor and eight lines of code, built from an empty canvas.
Save, share, and come backKeep a project in this browser, put it on your account, send someone a link, and find it again later.
Import a project from another toolBring a project from Wokwi, Tinkercad, Fritzing, KiCad, EasyEDA, LTspice, the Arduino IDE, Project Hub and more, without placing each part again.
Help someone fix their codeAnswer a "why doesn't my code work" post on Reddit or the Arduino forum with the fixed sketch and a link that runs it, in under a minute.
Coming from WokwiYour Wokwi projects open in Mokxi as they are. Here is what each Wokwi idea is called here, and what changes.
The editor
Parts, wires, code, Run, and everything around them.
Home, My projects, Learn, Parts, Docs and the rest open inside the editor: the sidebar stays put and only the main area changes.
Placing partsThe docked part panel: search, categories, thumbnails, and three ways to get a part onto the canvas.
WiringDrag between pins and holes, recolor, bend, name a net, and hide a family in the layers panel.
Sticky notesA square of paper on the board: what a corner of the circuit is for, in your own words.
Drawing on the canvasPen strokes, arrows and boxes over the circuit, on a layer of their own that the simulator never sees.
Tidying upLay the wires out again so none of them lies on another, and line the parts up on the breadboard grid.
Pinned commentsA numbered pin on the board with a conversation behind it: a question about one resistor, answered in place, without typing anything into the circuit.
FramesA labeled box around a corner of the board. Drag its title bar and everything inside goes with it, so "the power supply" moves as one thing.
Schematic viewThe circuit on your breadboard drawn as a schematic beside it, with standard symbols, kept up to date as you build. A Pro feature.
PCB viewYour circuit laid out as a printed circuit board beside the breadboard, routed and checked, with its Gerber, drill and parts files to export.
Reusable blocksA bit of circuit you built once, kept by name and dropped in again whenever you need it: a voltage divider, a debounced button.
Chips made from partsBuild a logic circuit once, fold it into a named chip, and place it as often as you like, inside other chips too.
Custom chips written in CA custom chip is a part whose behavior is code: a sensor Mokxi has no part for, a display driver or a memory. Wokwi chips run as is.
The code editor and compilingOne project per board, a real clang running in the tab, and diagnostics you can click.
Writing assemblyAssembly is a first-class way to program a board here: a .S tab beside your sketch, or a whole project with no Arduino core under it.
Show an image on a MicroPython displayTurn a PNG or JPG into the Python module that a display driver's bitmap() draws.
Run and the serial monitorWhat Run actually does, what the readout means, and how to talk to a board.
The serial plotterGraph the numbers your sketch prints, in the Plot tab beside Serial.
Operating point, sweeps and frequency responseThree readings one probe will not give you: every node's voltage at once, what a node does as you turn something, and what the circuit does at every frequency.
The logic analyzer tabCapture the digital edges on four probes, trigger on an edge or a pattern, decode UART, I2C, SPI, 1-Wire and WS2812, and export the capture.
The debuggerStop a board on a line of your own code, look at what it was doing, and step through it while the circuit stays exactly where the halt found it.
Mokxi AI, Mokxi's helperMokxi AI answers questions about your circuit and code, explains build errors, and fixes them with a change that compiles first.
The AI BuilderDescribe a project in your own words and Mokxi AI picks the parts, wires them, writes the code and tests it before it opens.
WiFi, simulatedThe board can join a network, fetch a page and serve one. The radio is simulated, and signed in, the Real internet switch reaches real hosts.
Real internetLet a WiFi board reach real web services, webhooks and public MQTT brokers. Free once you sign in, with more on Pro, and off until you turn it on.
Blynk, simulatedRun a Blynk sketch unchanged on an ESP8266, ESP32 or Pico W, and watch and set its virtual pins in the Cloud panel.
Bluetooth, simulatedPair a phone with your ESP32 or HC-05 and talk to it. The phone is the Bluetooth pane in Mokxi, not a real radio.
ESP-NOW between boardsSend messages between ESP32 and ESP8266 boards on one canvas with ESP-NOW: real frames, MACs, channels and ACKs, and no router or wire.
The properties panelWhat you can change about a selected part or wire, and where the values go.
Undo, copy and pasteHow far back undo goes, what copy takes, and what paste does with it.
Keyboard shortcutsEvery key the editor listens for, and the one rule about when it does not.
Customize: code themes, colors and the toolbarPick one of 40 code themes and a font, wear the rings and editor colors you have earned, and choose the tools on the canvas toolbar.
Saving and autosaveWhat the browser keeps, what the account keeps, and when each of them writes.
Sharing a projectThe share sheet: who has access, what the link does, opening other people's projects, and the Embed and Clip rows.
Embedding a circuit on another sitePut a saved project, running, inside a blog post, a class site or a README, with the code from the share sheet's Embed row.
Export and downloadEvery file Mokxi can give you: pictures, code zips, program files, the build guide, recordings, KiCad and Gerber files, and CSV data.
Send a program to a real boardHow to get a sketch from Mokxi onto your Arduino, ESP32 or Pico, on a computer, a Chromebook or an iPad.
VS Code and GitHub with MokxiKeep your projects in your own GitHub repository, edit the code in VS Code, and run it in Mokxi.
Run a prebuilt firmwareRun a Pico SDK or ESP-IDF build on the Pico, the ESP32 or the ESP32-S3, the way Wokwi runs the file wokwi.toml names.
SPICE netlists in MokxiRun a SPICE deck and plot the results, export a circuit as a .cir file, or import a netlist as parts and wires.
Working on a phoneThe stacked layout, the bottom sheet, and two fingers on the canvas.
Install it as an appThe Android app from Google Play, or Mokxi added to your home screen or dock from your browser, what each changes, and working offline with Pro.
Boards
Every board and bare chip Mokxi runs: what each one models and what it leaves out.
An ATmega328P at 16 MHz, what is modeled, and the sketches that ship with it.
The Arduino NanoThe Uno's chip on a board 45 by 18 mm, so it pushes into the breadboard instead of standing beside it, and two analog inputs an Uno has no pad for.
The Arduino Mega 2560The Arduino for a project that ran out of pins: fifty-four digital, sixteen analog, four serial ports, on an ATmega2560 at 16 MHz.
The Arduino LeonardoThe Arduino whose USB socket goes to the chip itself: an ATmega32U4 at 16 MHz, with Serial on the USB and Serial1 a port of its own on pins 0 and 1.
The ESP32-C3A RISC-V core at 160 MHz on the real memory map, with no radio and a simulated network in place of one.
The ESP32-C6-DevKitC-1A second RISC-V board: the same core as the ESP32-C3 at 160 MHz, with thirty-one GPIOs, half a megabyte of SRAM and an addressable RGB LED on GPIO 8.
The Raspberry Pi PicoAn RP2040 on our Cortex-M0+ core: one core, SIO GPIO, the TIMER, UART0, PWM and the ADC.
The Raspberry Pi Pico WThe Pico with a wireless chip on it. Under MicroPython and CircuitPython the chip is modeled from its pins and joins Mokxi's simulated network.
The Seeed XIAO SAMD21A board the size of a thumbnail: eleven pads, all of them analog inputs, with Serial on the chip's own USB.
The STM32F411 Black PillA Cortex-M4 at 84 MHz with GPIO, timers, an ADC, USART1 and SysTick.
The STM32 Nucleo-F411REST's Nucleo-64 with an STM32F411 at 100 MHz, Uno headers, morpho pins, an ADC, and Serial over the ST-LINK.
The BBC micro:bit V2An nRF52833 on our Cortex-M4 core: GPIO, GPIOTE, three TIMERs, RTC0, UARTE0 and the 5x5 LED matrix.
The STM32 Blue PillAn STM32F103C8T6 on our Cortex-M3 core at 72 MHz: GPIO through CRL and CRH, TIM1 to TIM4, USART1, a twelve-bit ADC and SysTick.
The Arduino Uno R4 MinimaThe Uno everyone buys now: the same board, the same 5 V pins, an Arm Cortex-M4 underneath instead of an 8-bit AVR.
The ESP32 DevKit V1The classic ESP32: an Xtensa LX6 at 240 MHz on the thirty-pin DOIT board, with the LEDC PWM controller, a twelve-bit ADC and the six pins that are input only.
MicroPython on the ESP32Run main.py on a classic ESP32 board with the official MicroPython firmware: the Firmware panel, the REPL, WiFi and importing from Wokwi.
CircuitPython on the PicoRun code.py on a Pico with the official CircuitPython firmware: the Firmware panel, the CIRCUITPY drive, libraries, the REPL and Wokwi imports.
The ESP32-S3-DevKitC-1The ESP32-S3 on an Xtensa LX7 at 240 MHz: Espressif's own DevKitC-1, with its RGB LED on the RMT, two USB sockets, LEDC PWM and a twelve-bit ADC.
The ESP8266 NodeMCUAn ESP8266 board with simulated WiFi, an Xtensa LX106 at 80 MHz, D0 to D8 pins that differ from GPIO numbers, and software PWM.
The ATtiny85A whole microcontroller in an eight-pin DIP: six I/O, two timers, a four-channel ADC, the USI, and a serial port the runtime bit-bangs for itself.
The Arduino Pro MiniThe Uno's chip on the smallest Arduino there is, with no USB on it, in the two builds it was always sold in: 5 V at 16 MHz, and 3.3 V at 8 MHz.
The Arduino MicroThe Leonardo's ATmega32U4, shrunk onto a board that pushes into a breadboard.
The SparkFun Pro MicroThe Leonardo's chip in a Pro Mini's footprint, with a USB socket on the end, and without the one thing people look for first: an LED on pin 13.
The Wemos D1 miniThe NodeMCU's ESP8266 on a board a third the size, with the same pin names and only the pins that do something.
The ESP-01SAn ESP8266 with its flash chip and an antenna on a module 24.8 by 14.3 mm, and eight pins.
The Seeed XIAO ESP32-C3The ESP32-C3 on a thumbnail: 21 by 17.5 mm, fourteen pads, a USB-C socket and no LED of its own to blink.
The ESP32-C3 SuperMiniThe smallest ESP32-C3 board in common use, and a blue LED wired the other way around from the DevKit's.
The Arduino Uno R4 WiFiThe Uno R4 with a 12 by 8 LED matrix on the board to draw on, and WiFi.
The Seeed XIAO ESP32-C6The ESP32-C6 on a thumbnail: 21 by 17.5 mm, fourteen pads, USB-C, and a yellow LED that lights on LOW.
The ESP32-DevKitC V4Espressif's own ESP32 board: a WROOM-32 module on thirty-eight pins named by GPIO, with no user LED.
The Freenove ESP32-WROVERFreenove's ESP32-WROVER board (FNK0060): an ESP32-WROVER-E module on forty pins named by GPIO, with USB-C, a BOOT button and a blue LED on GPIO 2.
The Wemos LOLIN32 LiteA classic ESP32 on a narrow board with a LiPo socket, and a blue LED on GPIO 22 that lights when the pin is LOW.
The Seeed XIAO ESP32-S3The ESP32-S3 on a thumbnail: 21 by 17.5 mm, fourteen pads, USB-C, and a yellow LED that lights on LOW.
The Arduino Nano ESP32An ESP32-S3 on the classic Nano outline, with the Nano's pin names, an orange LED on D13 and an RGB LED.
The Arduino Nano RP2040 ConnectThe Pico's RP2040 on the classic Nano outline, with the Nano's pin names and an LED on D13.
The ATmega328P on a breadboardThe Uno's chip on its own, in a 28-pin DIP that pushes into a breadboard, in the two builds the tutorials wire: a 16 MHz crystal, and the 8 MHz internal clock.
The Cheap Yellow DisplaySunton's ESP32-2432S028R: a classic ESP32 behind a 2.8 inch 240x320 ILI9341 touch screen, and an RGB LED that lights when its pins are LOW.
The LilyGO TTGO T-DisplayA classic ESP32 with a 1.14 inch 135x240 ST7789 color screen on its own SPI lines, and two buttons, on GPIO 0 and GPIO 35.
The Wemos D1 R32A classic ESP32 on the Arduino Uno's outline, with the Uno's four headers, and a blue LED on GPIO 2 that lights when the pin is HIGH.
The Seeed Studio XIAO RP2040The Pico's RP2040 on a thumbnail: fourteen pads, a USB-C socket, a red, green and blue user LED and a NeoPixel of its own.
The Waveshare RP2040-ZeroThe Pico's RP2040 on a board 23.5 by 18 mm: twenty-three pins named by GPIO, a USB-C socket and a NeoPixel on GP16.
The WCH CH32V003A 48 MHz RISC-V chip with 16 KB of flash and 2 KB of RAM, on a twenty-pin breakout. Mokxi runs Blink, Serial and the ADC on it.
The Raspberry Pi 4, Pi 5 and Zero 2 WA Raspberry Pi's 40-pin header, driven by your main.py in Python with gpiozero or RPi.GPIO.
Boards that are not simulated yetSome boards come in with a Wokwi project but do not run in Mokxi yet, so they are drawn with an amber ribbon.
Parts
What is in the bin, where each part is documented, and how faithfully it behaves.
Three ways in: the search box in the editor's part panel, the bench at /parts, and each part's own page.
The part familiesThe ten categories the parts bin is sorted into, and what lives in each of them.
The bench instrumentsEight bench instruments you can wire into a circuit, and the Scope, Logic, Plot and Notes tabs that read their results.
How faithfully a part behavesWhat "analog islands solved by nodal analysis, digital everywhere else" means when you are the one wiring it.
The parts games are made ofA screen, something to hold, and the five games in the gallery that put them together.
LEDA light emitting diode: a real diode with a forward drop, not a resistor that glows.
Filament lampA small incandescent bulb in a screw holder, like the flashlight bulbs in school circuit kits. Aliases: bulb, light bulb, incandescent lamp, MES bulb.
ResistorA true two-terminal resistor: Ohm's law, with no idea which way around it is wired.
Pushbutton (12 mm tactile)The 12 mm tactile pushbutton in every kit: four pins, and real contact bounce.
VCC (power supply)A positive supply rail: pick a voltage, and everything wired to it sits there.
GND (ground)The 0 V reference every other part on the canvas measures against.
ClockA free-running square wave source: pick a frequency, and it drives high and low forever.
CapacitorA real capacitor, solved by the matrix rather than approximated part by part.
InductorA real inductor, solved by the matrix: the one two-terminal passive whose state is a current rather than a voltage.
Op-ampAn op-amp with a gain-bandwidth product, a slew rate, an output that stops short of its rails, and a current limit. Pick a model, or set the numbers yourself.
Op-amp chips: LM358, TL072, NE5532 and moreFourteen op-amp chips in their DIP packages, with their datasheet pinouts and each maker's typical numbers, and which one to pick.
Comparator chips: LM393, LM339 and LM311The LM393, LM339 and LM311 comparator chips, in their DIP packages with their datasheet pinouts and open-collector outputs.
Signal generatorA bench signal generator on the canvas: sine, square or triangle, at whatever frequency and amplitude you set.
Function generatorThe bench box: sine, square, triangle or sawtooth, with the knobs on the front and a real 50 ohm output.
OscilloscopeA two-channel oscilloscope: clip it to any two nodes and watch the voltages over time while the circuit runs.
MultimeterEvery range a real handheld has, on a dial you turn on the face: DC and AC volts, DC and AC amps, ohms, continuity, diode, capacitance, frequency and duty.
Bench power supplyZero to thirty volts, a current limit, and the two lamps that are the whole point of the instrument.
Frequency counterClip it on any net and read the frequency, the period, the duty, how long each cycle spends high, and how many pulses have gone by.
Logic probeThe pen with a needle on the end. Touch it on a pin and it tells you one of four things, and the fourth is one no other instrument here can tell you.
Component testerThree sockets. Push two or three legs of an unknown part into them in any order and it names the part, measures it, and tells you which leg is in which socket.
Logic gate (ideal)One ideal two-input logic gate: a teaching part, not a chip, with no supply pins to wire up first.
Inverter (ideal)One ideal inverter: the companion to the ideal gate, with no supply pins and no chip behind it.
D flip-flop (ideal)One bit of memory with no chip behind it: a D flip-flop, plain or with set and reset.
2-to-1 multiplexer (ideal)A two-way switch for logic signals, with no chip behind it: SEL picks whether Y copies A or B. It needs no power.
Bit switches, lamps and number partsSwitches, lamps, number parts, a constant bit and a step clock: ideal logic parts for building circuits out of gates, with no supply pins.
The program ROM, the terminal and Kestrel assemblyA program ROM that holds Kestrel assembly and a text terminal that shows what it prints: the parts around the computer you build from gates.
Seven-segment displayA single-digit 0.56 inch seven-segment LED display: eight plain LEDs in one package, nothing more.
Slide switch (SPDT)A three-pin SPDT slide switch: the pole in the middle moves between the two ends as you click it.
Buzzer (active)A 5 V active piezo buzzer: apply DC the right way around and it makes its one note.
Alarm siren, 12 VA 12 V electronic alarm siren with its own oscillator: DC across it and it wails, drawing about 300 mA.
The 74HC logic family74HC00, 74HC04, 74HC08, 74HC32, 74HC86, 74HC74 and 74HC595. These are real chips, not teaching gates, each with its own section below.
74HC02 quad NOR gateFour two-input NOR gates in a 14-pin package: the output is high only when both inputs are low.
74HC14 Schmitt-trigger inverterSix inverters, with the 74HC04's pinout, and one difference that is the whole point of the part: each input has two switching thresholds instead of one.
74HC138 3-to-8 decoderThree address inputs choose one of eight outputs, and that output goes low while the other seven stay high.
74HC161 synchronous counterA 4-bit binary counter in which every output changes on the same clock edge.
74HC165 parallel-in shift registerThe 74HC595 turned around. The 595 gives you eight outputs from three pins; the 165 gives you eight inputs on three pins.
74HC193 up/down counterA 4-bit binary counter that counts both ways, with a separate clock for each direction.
74HC194 universal shift registerA 4-bit shift register that holds, shifts right, shifts left or loads in parallel, chosen by two mode pins on every clock.
CD4017 decade counterThe LED chaser chip: ten outputs, exactly one of them high at a time, and every clock edge moves the high one along to the next.
CD4511 seven-segment driverFour wires in, one lit digit out: a BCD to seven-segment decoder for a common-cathode display.
More 74HC gatesThe 74HC10, 11, 20, 21, 27, 30, 7266 and 132: three-, four- and eight-input gates, an XNOR and a Schmitt-trigger NAND.
74HC buffers, bus transceiver and comparatorTri-state buffers, a bus transceiver and an 8-bit comparator: the 74HC125, 126, 244, 245 and 688.
74HC decoders, encoders and multiplexersDecoders, priority encoders and multiplexers: the 74HC139, 154, 42, 147, 148, 151, 153 and 157.
74HC adders and comparator74HC283, 74LS83 and 74HC85: add two 4-bit numbers, or tell which of two 4-bit numbers is bigger, with no clock and no code.
74LS47 seven-segment driverA BCD to seven-segment decoder for a common-anode display: four wires in, one lit digit out, with outputs strong enough to sink the segment current themselves.
JK flip-flops: 74HC73, 76, 107, 112 and CD4027The JK flip-flop is the one that can toggle: on a clock edge, J and K decide whether it holds, clears, sets or flips.
74HC registers and latches74HC173, 74HC174, 74HC175, 74HC273, 74HC374, 74HC574 (registers) and 74HC373, 74HC573 (latches): chips that remember four, six or eight bits at once.
More shift registers74HC164, 74HC166, 74HC597 and TPIC6B595: the shift registers beside the 74HC595 and the 74HC165.
74-series counters74LS90, 74LS93, 74HC390, 74HC393, 74HC190, 74HC191 and 74HC192: counters that count in tens or in sixteens, up only or up and down.
CD4000 logic gatesThe 4000-series CMOS gates, buffers and Schmitt triggers: the chips in most hobby electronics books and kits that run from a 9 V battery.
CD4013 dual D flip-flopTwo D flip-flops in one package: on a rising clock edge, Q takes whatever is on D. Wire QN back to D and the flip-flop divides its clock by two.
CD4026 counter and display driverA decade counter that drives a common-cathode seven-segment display by itself, so each clock edge shows the next digit.
CD4060 oscillator and 14-stage counterA clock and a divider in one chip: an RC oscillator and fourteen flip-flops, for delays of seconds or minutes.
CD4020, CD4040 and CD4024 ripple countersLong binary counters: a chain of flip-flops, each one toggled when the one before it falls, so each output is the clock divided by another factor of two.
CD4543 seven-segment driver for LCDs and LEDsA BCD to seven-segment latch and decoder whose phase pin lets it drive common-cathode LEDs, common-anode LEDs or an LCD.
74HC4052, 74HC4053 and 74HC4066 analog switchesSwitches you close with a logic level: a small resistance between two pins when on, an open circuit when off, passing a signal either way.
74HC123 and 74HC221 monostablesTwo one-shots per chip: a trigger makes one pulse on Q, and a resistor and a capacitor set how long it lasts.
DIP switch (4 and 8 way)A row of tiny slide switches in the body of a chip.
Resistor network (SIP)Four or eight equal resistors in one single in-line package, every one of them between its own pin and a shared common pin.
NE555 timerThe bipolar 555 timer: the chip in every beginner's kit, modeled down to its own internal comparators and flip-flop.
MAX7219 LED matrix driverThe MAX7219, wired to 8x8 LED matrix modules the cheap boards use: three wires in, and a chainable output.
MAX7219 eight-digit displayEight red seven-segment digits on a MAX7219 module, three wires in and a cascade out. Aliases: 8-digit MAX7219 module, LedControl display.
WS2812 addressable LEDsAddressable RGB LEDs on one wire, with no clock: aliases WS2812B, NeoPixel. A strip, a ring, or a 16-wide matrix, all the same part.
SSD1306 OLED displayThe 128x64 OLED module every hobby kit has, over I2C. Aliases: 0.96 inch OLED, I2C OLED display.
ILI9341 color TFTThe 2.4 inch 240x320 color TFT panel, over 4-wire SPI. DC says whether a byte is a command or data; everything else follows from that one line.
Thumb stick (joystick)The two-axis thumb stick module, KY-023 style: two potentiometers and a push switch under one cap.
Rotary encoder (KY-040)The KY-040 rotary encoder module, with its own push switch: a shaft that counts clicks either way around.
Piezo element (passive)A passive piezo disc: the other half of the buzzer pair, with no oscillator built in. It sings whatever frequency you drive it at.
PotentiometerThe three-pin rotary potentiometer every kit has a handful of. A carbon track from pin 1 to pin 3, with a wiper on pin 2 that runs along it as the shaft turns.
Slide potentiometerThe 45 mm slide potentiometer off a mixing desk: the same carbon track as the rotary potentiometer, laid out straight with a knob you push along it.
LDR (light-dependent resistor)A light-dependent resistor, the GL5528 style: a two-legged resistor whose value depends on how much light is falling on it. Aliases: photoresistor, photocell.
PhototransistorA two-lead NPN phototransistor in a clear 5 mm package, the light sensor in the Arduino Starter Kit.
TMP36 temperature sensorThe TO-92 analog temperature sensor, TMP36 style: three legs, no protocol, and a voltage that is the temperature.
LM35 temperature sensorThe LM35 precision centigrade sensor in a TO-92 case: 10 mV a degree from 0 V at 0 °C. Aliases: LM35DZ, analog temperature sensor.
IR thermometer, MLX90614The MLX90614 on its GY-906 breakout reads the temperature of whatever it points at, without touching it. Aliases: GY-906, non-contact thermometer.
Thermal camera, AMG8833The AMG8833 Grid-EYE: an 8x8 thermal camera, sixty-four temperatures ten times a second over I2C. Aliases: Grid-EYE, AMG88xx, 8x8 thermal sensor.
HC-SR04 ultrasonic sensorThe four-pin ultrasonic ranger, HC-SR04 style: two transducer cans, a 5 V supply, and two logic pins. Aliases: ultrasonic sensor, ping sensor.
Servo (hobby, SG90 style)The nine-gram hobby servo, SG90 style: three wires, and a horn that walks to the angle a pulse width tells it.
Servo, MG996RThe TowerPro MG996R: a standard-size servo with metal gears, for when an SG90 is not strong enough. Aliases: MG996R, metal gear servo, standard servo.
DC motorA small brushed DC motor, the yellow gearbox kind: two terminals, and nothing driving it.
Gamepad (six-button pad)A six-button console-style pad: a four-way D-pad plus A and B, each switch to ground on its own pin.
Arcade button (30 mm)The 30 mm cabinet button with a microswitch under it: the switch you can hold for an hour with no fatigue.
LED arcade buttonA 30 mm arcade button with an LED lamp inside: a microswitch on two tabs and a lamp with its resistor on the other two.
Arcade joystick leverThe lever in a fight stick or an arcade cabinet, Sanwa JLF style: a ball top on a shaft with four microswitches around its foot.
Tilt switch (SW-520D)The rolling-ball tilt sensor, SW-520D and its twins: a little metal can with two legs and a conductive ball rolling between two contacts inside.
DiodeThe small-signal and rectifier diode, 1N4148 and 1N400x style: current goes from anode to cathode and not the other way, and that is the whole part.
Zener diodeThe 1 W 1N4728A to 1N4742A family. Reverse biased it blocks like any other diode until it reaches its own voltage, and then it holds it there.
TransistorA bipolar transistor, NPN or PNP, from the 2N2222 and BC547 to the TIP120: a small base current lets a much larger one flow from collector to emitter.
Optocoupler (4N35)An infrared LED and a phototransistor sealed in one black DIP-6, facing each other across a gap of clear plastic.
MOSFETAn enhancement-mode MOSFET, N or P channel, from the 2N7000 and BSS138 to the IRF3205: a voltage on the gate switches the channel between drain and source.
RGB LEDA common-cathode RGB LED in one 5 mm package: four legs, three separate LED dice under one lens.
Power LED, 1 W and 3 WA high-power LED on a 20 mm aluminum star: rated 350 mA (1 W) or 700 mA (3 W), so it needs a MOSFET and a current limit.
Two-color LED (KY-011)A red and a yellow-green LED under one 5 mm lens, sharing a leg. Aliases: bicolor LED, dual color LED, KY-011 (5 mm), KY-029 (3 mm).
Traffic light moduleA red, a yellow and a green LED in a row on a small board, each with its own resistor, and four pins. Aliases: traffic light LED module.
Laser module, KY-008A 650 nm red laser diode in a brass barrel on a three-pin board. Aliases: KY-008, laser transmitter module, laser pointer module.
Infrared LED and KY-005 transmitterA 940 nm infrared LED, bare or on the KY-005 board, that sends IRremote codes to another board's receiver.
Relay module (SRD-05VDC style)The single-channel relay module every kit ships: a coil, a spring, and a metal arm with a contact on the end.
Relay boards: two, four and eight channelsThe green boards with a row of blue relays, one screw terminal per relay and a control header at the end. Aliases: 8 channel relay module, 12 V relay module.
DPDT relayA bare 5 V double-pole double-throw signal relay, the small sealed kind: two changeover contacts on one arm, and a coil with nothing in front of it.
Solid-state relay: SSR-25DA, SSR-25DD, G3MB-202PA relay with no moving parts: an LED on the input, a TRIAC or MOSFET on the output, and rules about when it can turn off.
L298N motor driver moduleThe red board with the black heat sink that drives the two wheels of nearly every robot car.
DRV8833 motor driverA small dual H-bridge breakout for two DC motors, from 2.7 V to 10.8 V, and the driver in many small robot kits.
2WD robot car chassisThe body of nearly every robot car kit: two TT gear motors on 65 mm wheels, a caster and encoder discs, driving across the canvas.
Self-balancing robotA two-wheel robot that falls over unless your code balances it, with its own MPU6050, TB6612 driver and encoders.
Limit switch (lever microswitch)A lever microswitch with COM, NO and NC tags: the limit switch on robots, printers, turntables and conveyors.
Robot arm (4 servos)A four-servo desktop robot arm: base, shoulder, elbow and claw, each an SG90 on its own signal pin.
Claw machine cabinetA claw machine cabinet with the mechanism inside: gantry, winch, servo claw, prizes and a prize chute. Wire up its motors and the claw moves.
Vending machine cabinetA vending machine cabinet: four spiral slots on continuous servos, a snack in every coil, and an infrared beam across the bin.
Pinball tableA pinball table you wire up: servo flippers, pop bumpers on a kicker coil, standup targets, a drain beam, a plunger and one steel ball.
Parking barrierA parking barrier: an MG996R arm, a traffic light and an HC-SR04 on one post, and cars that drive up the lane and wait at the line.
Candy color sorterA candy color sorter: a feed disc carries each candy under a TCS34725, then drops it on a servo chute that sends it to one of six bins.
Touchless soap dispenserA touchless soap dispenser: an FC-51 infrared sensor beside the spout and a gear pump under the bottle, with a hand you slide under it.
PCA9685 16-channel servo driverA 16-channel, 12-bit PWM board that runs sixteen servos from two I2C wires, with the Adafruit PWM Servo Driver library built in.
TB6612FNG motor driverThe Toshiba TB6612FNG dual motor driver on its breakout board: two H bridges for two DC motors. Aliases: TB6612, SparkFun motor driver, dual H-bridge.
L9110S motor driverThe HG7881 dual motor driver module: two L9110S chips, one per motor, on a small blue board. Aliases: L9110, HG7881, L9110S fan driver.
MX1508 dual motor driverThe small red module with two H bridges for two gear motors on one 2 V to 9.6 V supply, four inputs and a coast. Aliases: MX1508, MX-1508.
DRV8871 motor driverAdafruit's DRV8871 breakout: one H bridge for a 6.5 V to 45 V brushed motor, two inputs and no logic supply. Aliases: DRV8871, Adafruit 3190.
IBT-2 BTS7960 motor driverThe IBT-2 module: two BTS7960 half bridges under a heat sink, for one big brushed motor at 5.5 V to 27.5 V. Aliases: BTS7960, IBT-2, 43A.
Gear motor with encoderA gearbox motor with a two-channel Hall encoder, the JGA25-370, N20 or TT kind. Aliases: encoder motor, quadrature encoder motor.
BatteryA battery as a power source: 9 V, AA, AAA, NiMH, a coin cell, 18650s, a LiPo or a 12 V lead-acid battery.
Solar panelA small solar panel, the 6 V 1 W epoxy kind in STEM kits and solar builds. Aliases: solar cell, photovoltaic panel, PV panel, 6V 1W solar panel.
TP4056 chargerThe TP4056 lithium-ion charger module, the small board with a USB socket that charges one 18650 cell. Aliases: Li-ion charger, 18650 charger.
Voltage regulatorA linear voltage regulator: the 78xx and 79xx, the AMS1117 and LD1117, and the low dropout MCP1700, HT7333 and AP2112K.
LM317 adjustable regulatorThe adjustable three-terminal regulator in its TO-220. Aliases: LM317T, adjustable regulator, variable regulator.
LM2596 buck converter moduleThe blue LM2596 step-down module: 4.5 to 40 V in, and a trimmer sets the output from 1.23 V up to about a volt under the input.
MT3608 boost converter moduleThe little blue MT3608 step-up module: 2 to 24 V in, and a trimmer sets the output above the input, up to 28 V.
Mains transformerA small mains transformer: 230 V or 120 V AC on the primary, a low AC voltage out of the secondary, and no wire joining the two sides.
TCS3200 color sensorThe TCS3200 color sensor (the TCS230 is the same chip's earlier name) on its GY-31 board: one output whose frequency is the color it sees.
DC barrel jack and wall adapterA 5.5 x 2.1 mm DC barrel jack with a wall adapter plugged into it: 12 V, 9 V or 5 V.
USB powerUSB as a power supply: a 5 V USB-C or micro-USB breakout, or a PD trigger at 9 to 20 V.
DC voltage sourceThe textbook DC voltage source: a circle with a plus and a minus, and the voltage you set. Aliases: DC power supply, VDC, ideal source, dual supply.
Breadboard power supply (MB102)The little green board that comes in the Elegoo starter kits and sits on the end of an MB-102 breadboard.
Freenove ESP32 GPIO extension boardThe black base that Freenove's ESP32-WROVER plugs into, with every pin brought out in labeled breadboard rows.
A4988 and DRV8825 stepper driversThe two small carrier boards that turn a bipolar stepper in every 3D printer and CNC kit.
TMC2208, TMC2209, TMC2100, DRV8834, DRV8880Five more stepper driver carriers in the A4988's 16-pin StepStick footprint: STEP and DIR in, two coil currents out. Aliases: SilentStepStick, TMC2209, DRV8834.
TB6600 stepper driverThe boxed TB6600 driver for NEMA 17 and NEMA 23 steppers: opto-isolated PUL, DIR and ENA, 9 V to 42 V, up to 4 A.
NEMA 17 stepper motorThe square black motor on every 3D printer's axes: a bipolar hybrid stepper, 17HS4401 style, with two coils, four wires and 200 steps to a turn.
Vibration motorA 10 mm coin vibration motor, the disc inside every phone and game pad.
Fan module, L9110A small DC motor with a soft propeller on an L9110S driver board, run straight off two board pins. Aliases: L9110 fan module, mini fan module.
PC fan, 4-pin PWMA 12 V computer case fan with the 4-pin connector: a duty cycle on PWM sets its speed and TACH pulses twice a turn.
Mini water pumpA thumb-sized submersible pump with an outlet spout and two leads, the pump of every plant-watering build. Aliases: submersible pump, mini pump.
SolenoidA push-pull solenoid: a coil around a steel plunger that pulls in when current flows and springs back out when it stops.
Linear actuator, 12 VA 12 V electric linear actuator: a motor and worm gear push a rod out and pull it back, and a limit switch stops it at each end.
Brushless motor and ESCAn A2212 1000KV brushless outrunner on a 30 A ESC. A servo pulse is the throttle, and the ESC has to arm before it will spin.
Holding electromagnet, P20/15A coil in a 20 mm steel cup: it holds a flat steel plate with about 25 N (2.5 kg) while current flows, and lets go when it stops.
Peltier module, TEC1-12706A thermoelectric cooler: current pumps heat from one ceramic face to the other, so one face cools and the other heats up.
Speaker (8 ohm)A small 8 ohm speaker, the 40 mm paper cone in every kit: a coil in a magnet's gap, glued to a cone.
Thermal receipt printerThe mini thermal printer (CSN-A2): 58 mm paper, a 384-dot head and a TTL serial port for text and commands. Aliases: receipt printer, CSN-A2.
4x4 membrane keypadThe 4x4 membrane keypad, the sticky-backed one on a ribbon: sixteen keys, eight pins, and no chip at all.
Keypads: 4x3 and 5x4The membrane keypad in three sizes: a twelve-key telephone pad, a twenty-key calculator pad, and the 4x4 you already know.
PS/2 keyboardA real PS/2 keyboard on the two wires it has, with eleven-bit frames and scan code set 2. Click it while the simulation runs and type on it for real.
Handheld consoleA games cabinet in one body: a 128x64 OLED above a D-pad, A, B, Start and Select, with a twelve-pin header along the bottom.
16x2 character LCD (HD44780)The 16 by 2 character LCD, HD44780 style: sixteen pins, and a green or blue window with two rows of sixteen characters behind it.
Capacitive soil moisture sensorThe black "Capacitive Soil Moisture Sensor v1.2" stake: three pins at the head, no bare metal in the soil. Aliases: soil sensor, moisture sensor, plant sensor.
Galvanic skin response sensorThe Grove GSR module: two finger straps on a lead and a small board that turns your skin's conductance into a voltage. Aliases: GSR, skin response, EDA sensor.
MQ-2 gas sensorThe MQ-2 on its FC-22 comparator board: a steel mesh can on six legs, two lamps, a trimmer and four pins. Aliases: gas sensor, smoke sensor, LPG sensor.
MQ gas sensors: MQ-3 to MQ-137Ten more MQ gas sensors on the MQ-2's comparator board, from alcohol and carbon monoxide to ozone and ammonia, each read off its own datasheet chart.
KY-038 sound sensorAn electret microphone on an LM393 comparator board with a blue trimmer, pins printed A0 G + D0. Aliases: sound sensor, microphone module, clap sensor.
Flame sensorThe flame sensor module, KY-026 style: a black infrared receiver standing off the end of an LM393 comparator board. Aliases: fire sensor, IR flame sensor.
Rain sensorThe rain sensor, FC-37 and YL-83 style: a plate of interleaved traces wired to an LM393 comparator board. Aliases: raindrop sensor, water sensor plate.
Water level sensorThe red water level sensor from starter kits: ten bare traces up a long board and three pins printed S + -. Aliases: water sensor, liquid level sensor.
Water flow sensor, YF-S201Hall-effect water flow sensors: a pinwheel in a pipe pulses SIG as the water turns it, 7.5 pulses a second per liter a minute on the YF-S201.
TCRT5000 line sensorThe TCRT5000 reflective sensor on its LM393 board: a line follower's eye and a short-range object sensor. Aliases: line sensor, IR reflective sensor.
Line tracker, 5 channelA five-channel line tracking board: five TCRT5000 sensors in a row, each with a comparator and lamp. Aliases: line follower sensor.
FC-51 obstacle sensorThe FC-51 infrared obstacle sensor: an IR LED and receiver on an LM393 board, one digital output. Aliases: KY-032, IR proximity sensor.
SW-420 vibration sensorThe SW-420 vibration sensor: a sealed vibration switch on an LM393 board, one digital output. Aliases: vibration switch, shake sensor.
KY switch modules and the spring switchThe 37-in-1 kit's button, mercury tilt, mini reed and knock modules, and the bare SW-18010P spring switch: a switch and a 10 k resistor.
KY Hall, reed, temperature and sound boardsThe 37-in-1 kit's four-pin LM393 boards: the KY-024 Hall, KY-025 reed, KY-028 thermistor and KY-037 sound modules. DO goes high on detect.
Analog kit modules: Hall, light, knob, steamFour three-pin analog modules read with analogRead: the KY-035 Hall sensor, the TEMT6000 light sensor, a rotation knob and a steam sensor.
E18-D80NK IR proximity switchAn infrared proximity switch with an NPN open-collector output: it pulls OUT low while something is within its range, 3 to 80 cm.
49E linear Hall sensorThe 49E linear Hall sensor (Honeywell SS49E), a TO-92 whose output follows the magnetic field. Aliases: SS49E, analog Hall sensor.
Force-sensing resistorA force-sensing resistor, Interlink FSR 402 style: a round half-inch pad on a flat tail, with two legs at the end. Aliases: FSR, pressure sensor, force sensor.
Flex sensorA flex sensor, the 2.2 inch Spectra Symbol strip: thin plastic with carbon ink along one side, two legs at one end. Aliases: bend sensor, flex strip.
HX711 and load cellThe HX711 load cell amplifier on its green board, wired to a bar load cell: the kitchen scale every kit builds. Aliases: load cell, scale, weight sensor.
A3144 Hall effect sensorThe Allegro A3144 Hall effect switch in a flat TO-92, and the magnet you hold up to it. Aliases: Hall sensor, KY-003, magnetic switch.
Slotted photo interrupterA slotted optical switch on its small board (the KY-010), with an encoder wheel to spin through the slot. Mount the wheel on a motor to measure its real RPM.
TTP223 touch sensorThe TTP223 capacitive touch module: a small red board with a round pad printed on it. Aliases: touch button, capacitive touch sensor, touch pad.
Capacitive touch, MPR121The NXP MPR121: twelve capacitive touch electrodes on one I2C chip, here wired to twelve foil keys. Aliases: MPR121, 12-key touch sensor.
Fingerprint sensorThe R30x and AS608 optical fingerprint sensor: templates in its own flash and a serial protocol. Aliases: R307, AS608, ZFM-20, fingerprint reader.
PZEM-004T energy meterThe PZEM-004T v3.0 AC energy meter: voltage, current, power, kWh, frequency and power factor over Modbus-RTU at 9600 baud.
SIM800L and SIM900A GSM modemsSIMCom GSM modems that send and receive SMS and calls with AT commands, on a simulated network that stands in for the phone network.
ZMPT101B AC voltage sensorThe ZMPT101B AC voltage sensor: a transformer, an LM358 and a trimmer that turn the mains into a small sine wave for analogRead().
Touch foilA piece of aluminum foil on a wire: the touch sensor of the CapacitiveSensor library and the Starter Kit's touchy-feely lamp.
Coin acceptor, CH-926The programmable coin acceptor: a chrome face with a coin slot and a return lever, and a four-wire harness. Aliases: CH-926, multi coin acceptor, coin slot.
RCWL-0516 microwave motion sensorThe RCWL-0516 Doppler radar module: OUT goes high when something moves in range, even through plastic and thin walls.
20x4 character LCDThe big brother of the 16x2: four rows of twenty characters on the same HD44780 controller. Aliases: LCD2004, 2004A, 20x4 LCD.
SH1106 1.3 inch OLEDThe 1.3 inch 128x64 OLED module. Aliases: 1.3 inch OLED, SH1106G.
SSD1306 128x32 OLEDThe 0.91 inch OLED strip: 128 by 32 pixels on the same SSD1306 as the 128x64 module, on the same two wires at the same address, 0x3C.
ST7735 1.8 inch TFTThe 1.8 inch 128x160 color TFT on the red board with the SD card slot on the back. Aliases: 1.8 inch TFT, ST7735S, 128x160 TFT.
ST7789 IPS TFTThe small IPS color TFTs: the square 1.3 inch 240x240 board, the 2 inch 240x320, and the 1.14 inch 135x240 on the TTGO T-Display.
GC9A01 round displayA 1.28 inch round IPS color display, 240x240 pixels, on a GalaxyCore GC9A01 driven over SPI. Aliases: round TFT, 1.28 inch round LCD, GC9A01A, watch display.
SSD1680 e-paper display, 2.13 inchA 2.13 inch 250x122 black and white e-paper panel on an SSD1680 over SPI. Aliases: 2.13 inch e-ink, WeAct e-paper, DEPG0213BN.
ILI9341 touch TFTThe red 2.8 inch 240x320 TFT with a resistive touch panel: an ILI9341 display and an XPT2046 touch controller on one board.
ILI9488 3.5 inch TFTThe red 3.5 inch 320x480 SPI TFT with an XPT2046 touch panel: an ILI9488 that takes 18-bit color only, three bytes a pixel.
ST7796S 4 inch TFTThe 4 inch 320x480 SPI TFT with an XPT2046 touch panel: an ST7796S that takes RGB565 like the ILI9341, on bigger glass.
Nokia 5110 LCDThe 84x48 screen out of the Nokia 5110 and 3310 phones, on a small board with eight pins. Aliases: Nokia 5110, PCD8544, 84x48 LCD.
LED bar graphTen rectangular LEDs side by side in one 20-pin block. Aliases: 10 segment bar graph, DC-10, LED level meter.
Four-digit seven segment displayFour 0.56 inch digits with their decimal points in one block, and no chip behind them.
HT16K33 four-digit display backpackFour red digits and a colon on an HT16K33 I2C backpack at 0x70 to 0x77. Aliases: Adafruit 7-segment backpack, I2C 4-digit display.
The 16x2 character LCDTwo rows of sixteen characters, on sixteen pins or on four. The HD44780 command set, the busy flag that catches everybody, and the I2C backpack.
Sensors that are a resistor or a switchThe LDR, the NTC thermistor, the reed switch, the tilt switch and the PIR: five cheap parts, four of which have no chip in them at all.
Driving a motorA board pin cannot run a motor. One transistor will switch one; an L293D will turn one round. What each costs you, and why.
Two wires, several chipsThe MPU6050, the DS3231 and the TM1637 all live on two wires. Two of them speak I2C and one of them does not.
DS18B20 1-Wire thermometerThe three-legged digital thermometer, also sold sealed in steel waterproof probes. Aliases: Dallas temperature sensor, 1-Wire probe, 18B20.
MAX6675 thermocouple converterThe MAX6675 board reads a K-type thermocouple up to 1023 degrees C and sends it over a read-only SPI line, a quarter degree a count.
MPU-9250 nine-axis IMUThe InvenSense MPU-9250 on the GY-9250 board: an accelerometer, a gyroscope and an AK8963 compass, all on one I2C bus.
TM1638 LED and key boardThe TM1638 "LED&KEY" board: eight seven-segment digits, eight LEDs and eight buttons on three wires, STB, CLK and DIO.
BME280 and BMP280 pressure sensorsBosch pressure sensors on a purple I2C breakout: the BMP280 reads pressure and temperature, and the BME280 adds humidity. Aliases: barometer, GY-BME280.
SHT31 temperature and humidity sensorThe Sensirion SHT31 on an I2C breakout: temperature and humidity at 0x44 or 0x45. Aliases: GY-SHT31-D, Adafruit SHT31-D, SHT30, SHT35.
LTR-390 UV and light sensorThe Lite-On LTR-390UV reads the UV index or the visible light over I2C at 0x53, one at a time, 13 to 20 bits at a gain of 1 to 18.
OPT3001 ambient light sensorThe TI OPT3001 measures light in lux the way the eye sees it, from 0.01 to 83865 lux, auto-ranging, over I2C at 0x44.
VEML7700 ambient light sensorThe Vishay VEML7700 light sensor on its I2C breakout: lux as a 16-bit count at 0x10, with gain, integration time and a threshold flag.
LSM303AGR accelerometer and compassThe ST LSM303AGR puts an accelerometer at 0x19 and a magnetometer at 0x1E in one package, the two halves of a tilt-compensated compass.
LIS3MDL magnetometerThe ST LIS3MDL reads the magnetic field on three axes over I2C at 0x1C, up to 6842 counts a gauss: the sensor of a digital compass.
LSM6DSOX accelerometer and gyroscopeThe ST LSM6DSOX six-axis IMU reads acceleration and turn rate, sixteen bits each, over I2C at 0x6A, from 12.5 Hz to 6.66 kHz.
INA3221 three-channel current monitorThe TI INA3221 measures three shunts and three bus voltages at one I2C address, for a project with several supply rails.
INA228 power and energy monitorThe TI INA228 measures current, bus voltage and power to 20 bits through a 15 milliohm shunt, and adds up energy and charge as it goes.
INA226 current and power monitorThe TI INA226 measures current through a real 0.1 ohm shunt, the bus voltage and the power, to 2.5 microvolts, over I2C.
MAX31865 RTD converterThe MAX31865 reads a PT100 or PT1000 platinum RTD as a 15-bit resistance ratio over SPI, with fault thresholds and a data-ready pin.
MAX31855 thermocouple converterThe MAX31855K reads a K-type thermocouple from -270 to 1800 degrees C, with its own cold-junction temperature and fault bits, over read-only SPI.
DPS310 barometric pressure sensorThe Infineon DPS310 reads air pressure to a fraction of a pascal, and temperature, over I2C at 0x77 or 0x76.
BME680 gas and weather sensorThe Bosch BME680 reads temperature, humidity, pressure and the resistance of a heated gas plate, over I2C at 0x77 or 0x76.
VL53L1X laser distance sensorThe ST VL53L1X times a laser pulse to the target and back, and reports millimeters up to 4 m over I2C at 0x29.
SCD41 CO2 sensorThe Sensirion SCD41 measures real CO2 in ppm, with temperature and humidity, over I2C at 0x62, one reading every five seconds.
SHT40 temperature and humidity sensorThe Sensirion SHT40 on an I2C breakout: temperature and humidity at 0x44, the SHT31's smaller and faster successor.
TMP117 temperature sensorThe TI TMP117 high-accuracy thermometer on its I2C breakout: 7.8125 m°C a count, averaging, one-shot mode and an ALERT pin.
SGP30 air quality sensorThe Sensirion SGP30 air quality sensor on I2C at 0x58: CO2 equivalent in ppm and TVOC in ppb. Aliases: Adafruit SGP30, eCO2 sensor.
TCS34725 color sensorThe TCS34725 color sensor on I2C at 0x29, with a white LED to light what it looks at. Aliases: Adafruit TCS34725, RGB color sensor, TCS3472.
AHT20 temperature and humidity sensorThe ASAIR AHT20 on its four-pin I2C breakout: temperature and relative humidity at address 0x38. Aliases: AHT20 module, AHT10 successor, DHT11 replacement.
BH1750 light sensorThe ROHM BH1750FVI on the GY-302 module: ambient light in lux over I2C, at address 0x23, or 0x5C with ADDR high. Aliases: GY-302, BH1750FVI, lux sensor.
DS1307 real-time clockThe clock chip that every Arduino book used before the DS3231 got cheap, on a small breakout with a coin cell. Aliases: Tiny RTC, RTC module, DS1307 clock.
Real-time clock, DS1302The DS1302 clock module with a coin cell and a watch crystal, on a three-wire interface of its own. Aliases: DS1302, RTC module, three-wire clock.
INA219 current monitorA current, voltage and power monitor on a purple breakout with a 0.1 Ω shunt resistor. Aliases: current sensor, power monitor, wattmeter module.
ADS1115 sixteen-bit ADCFour analog inputs and a sixteen-bit converter on a blue I2C breakout. Aliases: 16-bit ADC, analog to digital converter, ADS1015.
MCP3008 eight-channel ADCEight 10-bit analog inputs on SPI in a 16-pin DIP: how a Raspberry Pi reads a potentiometer or a light sensor.
PCF8591 ADC and DAC (YL-40)The NXP PCF8591 on the YL-40 module: four 8-bit analog inputs and one analog output on I2C.
MCP4725 DACThe MCP4725 12-bit I2C DAC on its breakout: a real analog voltage on VOUT, VCC x code / 4096, with an EEPROM that keeps it.
MCP4131 digital potentiometerThe MCP4131 digital potentiometer: a real 5k to 100k resistor in a DIP-8 whose wiper a sketch sets over SPI in 129 steps.
ADXL345 accelerometerThe Analog Devices ADXL345 three-axis accelerometer on the GY-291 breakout.
Accelerometer, ADXL335The ADXL335 accelerometer on its GY-61 breakout: one analog voltage per axis, no bus and no library. Aliases: GY-61, analog accelerometer.
Photoresistor sensor moduleA light-dependent resistor on the four-pin LM393 comparator board.
IRF520 MOSFET driver moduleThe purple IRF520 MOSFET board from Arduino kits: a header for the board pin and screw terminals for the load. Aliases: MOSFET module, IRF520 module.
D4184 MOSFET switch moduleA dual MOSFET switch board: two logic-level AOD4184A in parallel switch a motor, a pump or an LED strip from a board pin. Aliases: D4184 module, XY-MOS.
NTC temperature sensor moduleA 10 k NTC thermistor and a 10 k resistor on a three-pin board. Aliases: KY-013, analog temperature module, thermistor module, Wokwi's NTC temperature sensor.
CD74HC4067 16-channel multiplexerSixteen analog switches with one common pin, on a breakout.
74HC4051 8-channel multiplexerEight analog switches with one common pin, in a 16-pin DIP: three address lines pick which channel reaches Z.
NLSF595 tri-color LED driverON Semiconductor's NLSF595: a 595 shift register whose eight outputs are open drain, made to sink the cathodes of RGB LEDs.
BMP180 pressure sensorThe Bosch BMP180 barometric pressure and temperature sensor on the GY-68 breakout. Aliases: GY-68, BMP085 (its predecessor, same interface), barometer.
VL53L0X time-of-flight sensorST's VL53L0X laser distance sensor on its breakout board (GY-VL53L0XV2, Pololu, Adafruit).
IR distance sensor, Sharp GP2Y0A21The Sharp infrared distance sensors: two round lenses that measure a distance and give it as a voltage, from 4 cm to 5.5 m by model.
ACS712 current sensorA Hall-effect current sensor board: the load's current runs through its copper, and OUT moves 185, 100 or 66 mV an amp from half the supply.
MAX471 current sensorA high-side current sensor board: a 35 milliohm resistor in the supply lead, with the current on AT at 1 V an amp and the voltage on VT.
Voltage sensor moduleThe 0 to 25 V voltage sensor module from every sensor kit: two resistors that make S a fifth of the voltage on its screw terminal.
FC-28 soil moisture sensorThe resistive soil moisture sensor: a two-pronged fork in the soil and an LM393 board, with AO falling and DO going low as the soil gets wetter.
Pressure transducer, 0.5 to 4.5 VThe stainless pressure sender for water, oil and air lines: 0.5 V at no pressure to 4.5 V at full scale, from 30 psi to 1.6 MPa by model.
MPX5010 and MPX5700 pressure sensorsNXP's integrated silicon pressure sensors, the MPX5010 (0 to 10 kPa) and the MPX5700 (700 kPa), with an analog output from 0.2 to 4.7 V.
Water quality probe (TDS, pH, turbidity, DO, EC)The analog water-quality probes and their signal boards: TDS, pH, turbidity, dissolved oxygen or conductivity as a voltage, by model.
GUVA-S12SD UV sensorAn ultraviolet sensor module: a UV photodiode and an op-amp, with OUT rising about 0.11 V for each step of the UV index.
Weather meter kitThe SparkFun weather meter kit: a cup anemometer and a rain gauge that click a reed switch, and a wind vane that is a resistor ladder.
Float switchA float level switch: a reed switch in a stem and a magnet in a float, which closes the reed when the water lifts it.
Geiger counter (RadiationD-v1.1)The RadiationD-v1.1 Geiger counter board with its J305 tube: VIN pulses low for each count, at random, as radiation does.
MAX30102 pulse oximeterMaxim's MAX30102 heart-rate and blood-oxygen sensor on its breakout board.
Pulse sensorThe Pulse Sensor Amped: a green LED, a light sensor and an amplifier that put a fingertip's pulse on one analog wire. Aliases: PulseSensor, PPG sensor.
AD8232 heart monitor (ECG)The AD8232 single-lead heart monitor: three electrodes and a gain of 1100 that put the heart's signal on one analog wire. Aliases: ECG sensor, EKG, AD 8232.
INMP441 I2S microphoneThe INMP441 MEMS microphone: a microphone, a 24-bit converter and an I2S port in one, read by an ESP32 with no analog parts at all. Aliases: I2S mic, INMP 441.
MAX98357A I2S amplifierThe MAX98357A breakout: samples in over I2S and up to 3 W out to a speaker, with no DAC in between. Aliases: I2S amp, MAX98357, class D amplifier.
APDS-9960 gesture sensorBroadcom's APDS-9960 on the GY-9960 breakout: ambient light, red, green and blue, proximity, and hand swipes, all from one chip.
DFPlayer MiniThe DFPlayer Mini MP3 module: a microSD card slot, a decoder and a small amplifier on a 16-pin board.
Rotary dialA telephone's rotary dial, with its pulse and off-normal contacts brought out to three wires. Aliases: phone dial, rotary dialer, pulse dial.
Biaxial stepperTwo bipolar stepper motors on one axis, one shaft inside the other, so one body turns two hands like a clock.
E-paper display, 2.9 inchA 2.9 inch black and white e-paper module on the Solomon Systech SSD1680, 296 by 128 pixels, over SPI: the Waveshare 2.9 inch V2 and the WeAct 2.9 inch boards.
Touch TFT, 2.8 inch with capacitive touchA 2.8 inch 240 by 320 color TFT on an ILI9341, with an FT6206 capacitive touch controller on I2C.
OLED display, 1.12 inch SH1107A square 1.12 inch 128 by 128 monochrome OLED on the Sino Wealth SH1107, over I2C.
24LC256 I2C EEPROM32 KB of memory that keeps its contents with the power off, in an eight-pin DIP. Aliases: external EEPROM, AT24C256, 24C256, I2C memory.
PCF8574 I/O expanderEight more pins over two wires, on a small blue board. Aliases: I2C expander, port expander, PCF8574A, IO expansion board.
TCA9548A I2C multiplexerThe TCA9548A eight-channel I2C switch on its breakout: one address on the board's bus, and behind it eight more buses, joined to the main one by a byte.
MCP23017 I/O expanderSixteen more pins over I2C, in a 28-pin DIP. Aliases: 16-bit expander, port expander, MCP23S17.
Signals you time, not readThe DHT sensor and the infrared remote share one thing, and it is the thing that matters: the information is in how long a pulse lasts.
A stepper is four coils and a tableThe 28BYJ-48 and its ULN2003 board are the first motor most people meet that goes to a position rather than at a speed.
ULN2003A, ULN2803A and the ULN2003 driver boardThe Darlington arrays that let a board pin switch a relay, a solenoid, a 12 V lamp or a stepper's coils, and the ULN2003 board sold with the 28BYJ-48.
The HC-05 and HC-06, honestlyAn HC-05 or HC-06 is a serial port with a phone on the far end. Mokxi models the UART bit by bit, and the phone is the Bluetooth pane.
MAX485 RS-485 moduleThe blue MAX485 module turns a board's UART into RS-485, so boards meters apart talk over one twisted pair.
MAX232 RS-232 transceiverThe MAX232 turns a board's 5 V UART into RS-232 line levels for a PC or instrument serial port, and back.
PMS5003 air quality sensorA laser dust sensor that counts the particles in the air and sends PM1.0, PM2.5 and PM10 over a serial line.
The logic analyzerFour probes, every edge with the time it happened, and a timing diagram on the face of the instrument.
MFRC522 RFID readerThe blue RC522 board with the antenna coil printed round its edge, and the cards that come in the bag with it. It reads 13.56 MHz cards and key fobs over SPI.
PN532 NFC readerThe red PN532 NFC module V3, with a white card, a blue key fob, another card and an NTAG213 sticker beside it to tap. Adafruit_PN532.h drives it.
microSD card moduleThe small SPI breakout with a microSD socket, a 3.3 V regulator and a level shifter, and a 4 MB card in it. SD.h reads and writes files on it.
NEO-6M GPS moduleThe GY-NEO6MV2 breakout: a u-blox NEO-6M, a square ceramic patch antenna and a green LED that blinks once a second when it knows where it is.
nRF24L01+ radioThe little green 2.4 GHz transceiver with a zigzag antenna printed on the end. Aliases: nRF24, 2.4 GHz radio, RF module.
LoRa module, SX1278 (Ra-02)The Ai-Thinker Ra-02: a Semtech SX1278 LoRa radio, 433 MHz, on SPI, with a spring antenna. LoRa.h (Sandeep Mistry's library) or RadioLib.h drives it.
Accounts and plans
Signing in, what each plan unlocks, the Pro trial, billing, the Android app, the student price, invites, gifts and API tokens.
Several ways in, one account, and what happens on the first sign-in.
Your account and SettingsYour projects, learning and classes in the editor's sidebar, and Settings for your profile, sign-in, tokens, data and billing.
Plans: Free, Pro, Lifetime Pro and ClassroomWhat each Mokxi plan includes, from the free plan through Pro, Student, Lifetime Pro and Classroom, and exactly what each one changes.
The Pro trialSeven days of Pro, free, with a card on file: how it starts, what it gives, how to cancel, and what happens after.
BillingStripe Checkout, the customer portal, Google Play in the Android app, and what happens to a project when a plan ends.
The plan card and Billing in SettingsThe card at the foot of the editor's sidebar shows your plan and what you have used, and Billing in Settings is where you manage it.
Delete your Mokxi accountHow to close your Mokxi account and delete your data, what is deleted and what we keep.
The Android appMokxi on Google Play: what the app is, buying Pro in it through Google Play, and how to cancel or get a refund.
The student discountPro at half price, verified by a school email address, for twelve months at a time.
InvitesInvite a friend, you both get 7 days of Pro: your link, what counts, and what it gives. Refer your school for a year of Pro once it pays.
Giving Mokxi as a giftA year of Pro for someone else, paid once: how to buy one, how it arrives, and how to open one you were given.
The creator programMake videos or posts about electronics? Send your audience to Mokxi with your own code, and earn a share of what they pay.
The Mokxi APITokens for scripts, CI and editor plugins: how to make one, what each scope allows, and the limits on each plan.
The MCP server: Mokxi in your AI appAdd mokxi.com/mcp to Claude, ChatGPT, Cursor or another AI app, ask for a circuit, and get a link that opens and runs it in Mokxi.
The mokxi command lineKeep a project in a folder of your own, sync it with Mokxi, and run it from a terminal.
Simulation tests in CIRun your Arduino, ESP32 or Pico sketch in the simulator on every push, and fail the build when its output or a pin is wrong. Free for public repositories.
Switch from Wokwi CIMove a Wokwi CI workflow to Mokxi by changing two lines. Your project folder, diagram.json, wokwi.toml and scenario files stay as they are.
The newsletterThe Mokxi newsletter and the other email lists: what each one sends, how you get on them, and how to stop them.
Live collaboration
Rooms, watch and edit links, who may start one and how it ends.
What a live room is, who can start one, what everybody in it sees, and the lesson tools: following, a countdown and hands up.
Watch links and edit linksTwo links per live room, what each one allows, inviting people by email, and how to revoke a link.
How many people fit, and ending a roomThe per-plan limit, what a refused joiner sees, and how a room stops.
Classrooms
Running a class, handing work out, marking it automatically, taking it back in, and joining as a student.
Making a class, the dashboard and its live wall, Mokxi AI for students, and the demo class to try it all on first.
Join codes, rosters and seatsHow students get in with a join code or a printed login card, what the roster holds, how many seats each plan has, and the 30-day trial.
Assignments and submissionsMake a class, give it something to build, and get it back: the teacher's steps and the student's, from the first class to the first hand-in.
Auto-graded checksWrite the checks once; every submission is measured against them.
Joining a class and submitting workHow a student joins a class with a code or a login card, starts the work their teacher set, and submits it from the editor.
Lessons and the learning game
The paths, XP, levels, streaks, badges, the weekly challenge and the leaderboard.
Learn opens on a catalog of courses, each a chapter of lessons that checks your circuit as you build, then everything you have earned.
The learning pathsMore than forty paths, over 250 lessons, and how a lesson checks your circuit.
XP and levelsWhat earns XP, what the numbers are, and the levels they add up to.
Streaks, quests and badgesHow a streak is counted, the three daily quests, and the badges tied to real events.
The weekly challenge and the leaderboardOne challenge a week that teaches something new, and a weekly leaderboard that lists only the people who choose to be on it.
The EE lab trackTwelve graded lab modules for a first university circuits course and a first microcontrollers course, with viva practice and certificates.
Build a pinball tableA complete home-built pinball controller on a Mega, and a five-lesson course that builds it one stage at a time.
Build a slot machineA three-reel slot machine on an Uno with a real arcade lever, and the honest math behind its odds.
Sim racing and flight sim controllersTemplate a button box, a shifter with a handbrake or a flight panel on a Pro Micro, and test the code before you buy parts.
Prototyping a keyboard matrixBuild a key matrix with a diode on every key, watch it scanned, and try layers, an encoder and per-key RGB before you solder.
Hobby builds
Home Assistant devices, model railroad electronics and 3D printer basics: what each template models and what it leaves out.
Five ESP32-C3 devices for Home Assistant, the Arduino code they run in Mokxi, and the ESPHome YAML you would flash at home.
Model railroad electronicsServo turnouts, a level crossing, block signals and a DC throttle on an Arduino Uno, and what each one models.
3D printer and CNC basicsStepper homing, a heated bed PID loop with thermal runaway protection, a mini G-code plotter and a runout sensor.
Troubleshooting
What goes wrong, what each error message means, and what is actually causing it.
Reading the Build tab, and the five things that usually cause it.
Build errors in plain wordsThe compiler messages people meet most in Mokxi, what each one means, and what to change.
What a Checkup finding meansEvery finding Checkup can show, what it means, and how to fix it.
The editor or the compiler will not loadWhat each loading message means, from a blank editor to a compiler that never arrives.
Upload to a real board failsWhat each message in the Upload to board card means, and what to try.
Nothing lights upNo power, no ground, a floating net, or a part that was never wired.
The serial monitor shows nothingWhich pins carry a UART, and what the monitor is actually listening to.
The simulation runs slowWhat the readout is telling you, and what makes a circuit expensive.
A wire will not connectWhat counts as a connection, and why a pin sometimes refuses one.
The meter reads OL, or the scope trace is flatWhat to check, in order, when an instrument is not telling you what you expected.
A project did not saveThe project cap, a lost connection, private browsing, and what the Save button was telling you.
The sign-in link did not arriveWhere the mail comes from, how long the link lasts, and what to try.
Google, Microsoft or GitHub sign-in failsWhat each message on the sign-in page means after a round trip to Google, Microsoft or GitHub.
Mokxi AI will not answerWhat each of Mokxi AI's messages means when it does not answer, and when you can ask again.
Problems in the Android appWhat is different in Mokxi's Android app, and what to do when something there does not work.
Other error messagesSign-in, saving, importing, libraries, running and payment messages, what each means, and what to do.
Class and join code messagesWhat the messages about joining a class, class logins and handing in work mean, and what to do.
Live room messagesWhat the messages about joining, sharing and editing in a live room mean, and what to do.
Real internet messagesWhat the gateway's messages mean when a sketch's request to the real internet does not go through.
GitHub sync messagesWhat the messages from Save to GitHub and Open from GitHub mean, and what to do.
API, CLI and CI messagesWhat the Mokxi API, the command line tool and the GitHub Action mean by their plan and limit messages.
Reference
The engine’s own contract documents, rendered from the markdown the code is built against.
The digital kernel, the analog islands and the SPICE deck runner, and what each one does not model.
The ESP32-C3 modelThe peripherals, the memory map and the timing of the DevKitM-1.
The Arduino Uno modelThe ATmega328P, with its timers, USART, ADC, interrupts, sleep and EEPROM.
The Arduino Nano modelThe Uno's chip on a board that fits a breadboard, with two analog-only pins.
The Arduino Mega 2560 modelThe ATmega2560: eleven ports, six timers, four USARTs and a sixteen-channel ADC.
The Arduino Leonardo modelThe ATmega32U4, whose USB goes to the chip: Serial is a CDC endpoint and Serial1 is the UART.
The ESP32-C6 modelThe DevKitC-1: thirty-one GPIOs, one SRAM window, and a plain account of what is not modeled.
The ESP32 DevKit modelThe classic ESP32 on an Xtensa LX6: the GPIO matrix, LEDC, ADC1, and one core where the chip has two.
The ESP32-S3 modelThe S3 on an Xtensa LX7: one SRAM seen through two buses, the GPIO matrix, the USB serial port, LEDC, the RMT behind the RGB LED, and one core where the chip has two.
The ESP8266 NodeMCU modelThe LX106 in the call0 ABI, GPIO16 that is not a GPIO, software PWM, and the one block whose registers are invented.
The Raspberry Pi Pico W modelThe Pico with a CYW43439 on it: the chip is not modeled, the WiFi is simulated, and the LED behind it works.
The XIAO SAMD21 modelThe ATSAMD21G18A: two PORT groups, SERCOMs as USARTs, TCC and TC PWM, the ADC on every pad, and the USB as a byte pipe.
The Raspberry Pi Pico modelThe RP2040 on our Cortex-M0+ core, with SIO GPIO, the TIMER, UART0 and PWM.
The STM32F411 modelThe Black Pill and the Nucleo-F411RE on our Cortex-M4 core, with GPIO, the ADC, TIM1 to TIM5, two USARTs and SysTick.
The BBC micro:bit V2 modelThe nRF52833 on our Cortex-M4 core, with GPIO, GPIOTE, the TIMERs, RTC0, UARTE0 and the LED matrix.
The STM32 Blue Pill modelThe F103 on our Cortex-M3 core, with CRL and CRH GPIO, TIM1 to TIM4, USART1 and a twelve-bit ADC.
The Arduino Uno R4 Minima modelThe RA4M1 on our Cortex-M4 core: the PFS port block, GPT PWM, SCI2 as Serial1 and a fourteen-bit ADC.
The ATtiny85 modelA whole microcontroller in eight pins: the tinyAVR core, two timers, the ADC, the USI and a serial port it bit-bangs.
Compiling in the browserHow a sketch becomes firmware with no build server anywhere.
Simulated WiFiThe network a sketch joins: what is faithful, what is Mokxi’s own, and what is not there at all.
Build Mokxi projects with AILet ChatGPT, Claude or Cursor build a whole project, board, parts, wires and code, and hand you a link that opens and runs it.
Try it on a breadboard
Everything in these pages runs in the editor. Open it and wire something up.