# Parts

* [Full-size breadboard](breadboard.md) - A real 0.1 inch grid with the rails and the center channel, 63 columns wide.
* [Power](vcc.md) - A supply rail at the voltage you choose.
* [Ground](gnd.md) - The other end of every circuit.
* [LED](led.md) - Lights when current flows. Five colors, and the brightness is what your eye would see.
* [Filament lamp](lamp.md) - A tungsten bulb in a holder: an inrush when it is switched on cold, tens of milliseconds to warm up, and dim on half its voltage.
* [Resistor](resistor.md) - Any value you like, with the color bands drawn to match.
* [ESP32-C3-DevKitM-1](esp32c3.md) - A RISC-V board that runs your firmware at 160 MHz on the real memory map.
* [Pushbutton](pushbutton.md) - A 12 mm tactile switch. Hold it while the simulation runs.
* [Raspberry Pi Pico](pico.md) - The RP2040 board on our own Cortex-M0+ core. Pick a program and press Run.
* [Raspberry Pi Pico W](picow.md) - 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; real internet through the Cloud panel’s switch), 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.
* [Raspberry Pi 4 Model B](rpi4.md) - Raspberry Pi 4 Model B: the 40-pin header, driven by main.py with RPi.GPIO or gpiozero.
* [Raspberry Pi 5](rpi5.md) - Raspberry Pi 5: the 40-pin header, driven by main.py with gpiozero.
* [Raspberry Pi Zero 2 W](rpizero2w.md) - Raspberry Pi Zero 2 W: the 40-pin header, driven by main.py with RPi.GPIO or gpiozero.
* [STM32F411 Black Pill](stm32f411.md) - The Black Pill on our own Cortex-M4 core. Pick a program and press Run.
* [STM32 Nucleo-F411RE](nucleof411re.md) - ST’s Nucleo-64 with an STM32F411 at 100 MHz, Uno headers and morpho pins. Pick a program and press Run.
* [BBC micro:bit V2](microbit.md) - 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)](bluepill.md) - The Blue Pill on our own Cortex-M3 core, with an ADC. Pick a program and press Run.
* [Arduino Uno R4 Minima](unor4.md) - 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](ssd1306.md) - The small OLED over I2C at 0x3C. Two wires plus power.
* [TFT display, 240x320](ili9341.md) - A 2.4 inch color TFT over SPI, for games and gauges.
* [LED matrix, 8x8](max7219.md) - An 8x8 LED matrix on three wires. Chain more for a longer sign.
* [Addressable RGB LEDs](ws2812.md) - RGB LEDs on one wire, as a strip or a 16 wide panel.
* [Thumb stick](joystick.md) - Two axes and a push switch. Drag the cap to move it.
* [Rotary encoder, KY-040](rotary.md) - A shaft that counts clicks, either way around, with a switch under it. Turn it with the pointer or the wheel.
* [Game console buttons](gamepad.md) - A D-pad plus A and B, six switches to ground. Click them, or use the arrow keys, Z and X.
* [Handheld console](console.md) - 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](ps2keyboard.md) - 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](arcadebutton.md) - The 30 mm cabinet button with a microswitch under it. Hold it while the simulation runs.
* [LED arcade button](arcadeled.md) - The cabinet button with a lamp inside: the switch on two tabs, a 5 V or 12 V LED on the other two.
* [Arcade joystick lever](arcadelever.md) - The Sanwa JLF style lever: four microswitches to a common GND. Drag the ball, or use the arrow keys or W A S D.
* [Rotary dial](rotarydialer.md) - A telephone dial: its pulse contacts open once a step, ten a second, while the off-normal contacts say it is running.
* [Character LCD, 16x2](lcd1602.md) - Two rows of sixteen characters, HD44780 style, on four data lines.
* [LCD keypad shield](lcdkeypad.md) - A 16x2 LCD on D4 to D9 and five buttons on A0, on one shield.
* [Character LCD with I2C backpack](lcd1602i2c.md) - The same two rows on four wires, through the PCF8574 backpack at 0x27. Mind the backlight bit.
* [Four-digit display, TM1637](tm1637.md) - Four digits and a colon on two wires. It looks like I2C and is not: no address, and bits go the other way around.
* [LED and key board, TM1638](tm1638.md) - Eight digits, eight LEDs and eight buttons on three wires. STB low, bytes least significant bit first.
* [Four-digit display, HT16K33 backpack](ht16k33.md) - Four digits and a colon on two I2C wires at 0x70. The chip scans, dims and blinks the display itself.
* [Eight-digit display, MAX7219](max7219seg.md) - Eight seven-segment digits on three wires. The chip scans them itself; LedControl writes a digit at a time.
* [Character LCD, 20x4](lcd2004.md) - 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](lcd2004i2c.md) - The 20x4 on four wires, through the same PCF8574 backpack at 0x27.
* [OLED display, 1.3 inch SH1106](sh1106.md) - The 1.3 inch OLED. It looks like an SSD1306 and is not: 132 columns, page addressing only.
* [OLED display, 1.12 inch SH1107](sh1107.md) - A square 128x128 OLED on I2C, the Grove 1.12 inch: sixteen pages of RAM for a 2 KB frame.
* [OLED display, 128x32](ssd1306x32.md) - The 0.91 inch strip: the same SSD1306, 32 rows tall.
* [TFT display, 1.8 inch ST7735](st7735.md) - A 1.8 inch color TFT, 128x160, on the ILI9341 command set. Pick the tab color your library was told.
* [IPS display, ST7789](st7789.md) - An IPS color TFT, 240x240, 240x320 or 135x240. It shows a negative until the driver sends INVON.
* [Round display, GC9A01](gc9a01.md) - A 1.28 inch round 240x240 IPS screen over SPI: watch faces, gauges and dials.
* [E-paper display, SSD1680 2.13 inch](ssd1680.md) - 250x122 black and white e-paper over SPI. Seconds to refresh, and it keeps the picture with no power.
* [E-paper display, 2.9 inch](epaper29.md) - 296x128 black and white e-paper over SPI. Three seconds to refresh, and it keeps the picture with no power.
* [Touch TFT, 2.8 inch ILI9341 with XPT2046](ili9341touch.md) - The 2.8 inch TFT with a resistive touch panel on its own SPI bus. Press on the picture to touch it.
* [Touch TFT, 2.8 inch ILI9341 with FT6206](ili9341cap.md) - The 2.8 inch color TFT with a capacitive touch panel: the display on SPI, the touch on I2C.
* [Touch TFT, 3.5 inch ILI9488 with XPT2046](ili9488.md) - The red 3.5 inch board: 320x480, 18-bit color only over SPI, and a resistive touch panel on its own chip select.
* [Touch TFT, 4 inch ST7796S with XPT2046](st7796.md) - The 4 inch 320x480 board: RGB565 over SPI like the ILI9341, with a resistive touch panel on its own chip select.
* [Nokia 5110 display, PCD8544](pcd8544.md) - 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](ledbar.md) - Ten LEDs in a row in one DIP, each with its own two legs and its own resistor.
* [Four-digit seven segment, multiplexed](sevenseg4.md) - Four digits on twelve legs: one digit at a time, fast enough that the eye sees all four.
* [Two-digit seven segment, multiplexed](sevenseg2.md) - Two digits on ten legs: scan them a digit at a time, segments shared.
* [Three-digit seven segment, multiplexed](sevenseg3.md) - Three digits on eleven legs, multiplexed like the four-digit one.
* [LED matrix, bare 8x8 (1088AS)](ledmatrix8.md) - 64 red LEDs on 16 legs, no chip: scan it from the board or a 74HC595.
* [LED matrix, bicolor 8x8](ledmatrix8bi.md) - Red and green at every dot, 24 legs: both on is orange.
* [Potentiometer](potentiometer.md) - A 10k knob you can turn. Ends to the rails, wiper to an ADC.
* [Slide potentiometer](slidepot.md) - The same track laid out straight, with a knob you push along it.
* [Light sensor](ldr.md) - A light-dependent resistor, with a slider for how bright the room is.
* [Photoresistor sensor module](ldrmodule.md) - The LDR on a board with a comparator: an analog level, and a digital output set by its trimmer.
* [NTC temperature sensor module](ntcmodule.md) - A 10 k thermistor in a divider on a little board: an analog voltage that falls as it warms.
* [Phototransistor](phototransistor.md) - The Arduino Starter Kit light sensor: a collector current that follows the light, read across a resistor. Drag the slider.
* [Light sensor, BH1750](bh1750.md) - A light meter on I2C that answers in lux: the count is lux times 1.2, with no calibration.
* [Temperature sensor](tmp36.md) - Half a volt at zero degrees and 10 mV a degree. Drag the slider to change the weather.
* [Temperature sensor, LM35](lm35.md) - Ten millivolts a degree from zero, no offset. Needs 4 V, so a 3.3 V board is out of its datasheet.
* [IR thermometer, MLX90614](mlx90614.md) - Reads the temperature of what it points at, and its own, over SMBus at 0x5A.
* [Thermal camera, AMG8833](amg8833.md) - An 8x8 grid of temperatures ten times a second over I2C at 0x69.
* [Humidity sensor, AHT20](aht20.md) - Temperature and humidity over I2C at 0x38, one 80 ms measurement at a time.
* [Thermistor, 10k NTC](thermistor.md) - Ten kilohms at 25 C and steeply lower as it warms. Put it in a divider and read the middle.
* [Temperature and humidity, DHT22](dht.md) - One wire, forty bits and a checksum. Drag the two sliders for the weather it reads.
* [Ultrasonic ranger](hcsr04.md) - Pulse TRIG and time ECHO. The slider moves whatever it is looking at.
* [VL53L0X time-of-flight sensor](vl53l0x.md) - Times a pulse of laser light to the target and back: millimeters over I2C, up to about 1.2 m.
* [IR distance sensor, Sharp GP2Y0A21](gp2y0a21.md) - 10 to 80 cm by triangulation: VO falls from 2.3 V at 10 cm to 0.4 V at 80, a reading every 38 ms. Also the GP2Y0A02, GP2Y0A41 and GP2Y0A710.
* [MAX30102 pulse oximeter](max30102.md) - Red and infrared light through a fingertip: the pulse and the blood oxygen, over I2C.
* [Pulse sensor](pulsesensor.md) - A green LED and a light sensor on a fingertip: the pulse as a wave on S, centered on half the supply.
* [Heart monitor (ECG), AD8232](ad8232.md) - Three electrodes and a gain of 1100: a synthetic heartbeat on OUTPUT for analogRead and the Serial Plotter, with lead-off pins.
* [APDS-9960 gesture sensor](apds9960.md) - Light, color, proximity and hand swipes from one little chip, over I2C.
* [Motion sensor](pir.md) - Click the dome to move in front of it. OUT stays high for two seconds after the movement stops.
* [Microwave motion sensor](rcwl0516.md) - A microwave radar that sees movement through plastic and thin walls. OUT holds 3.3 V for two seconds after.
* [Reed switch](reed.md) - Two blades in glass that snap shut when a magnet comes near. Drag the magnet along it.
* [Hall sensor, A3144](a3144.md) - A south pole near the face pulls OUT low. It needs a pull-up and ignores the north pole.
* [Hall sensor, 49E linear](ss49e.md) - 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](photointerrupter.md) - A beam across a slot. Spin the encoder wheel through it and count the pulses.
* [Touch sensor, TTP223](ttp223.md) - A finger on the pad drives SIG high within 60 ms. No pull-up, no bounce.
* [Capacitive touch, MPR121](mpr121.md) - Twelve touch electrodes on I2C at 0x5A: a status bit each, and IRQ low when they change.
* [Fingerprint sensor, R30x / AS608](fingerprint.md) - An optical sensor with its own template library on serial at 57600 baud: image, search, enroll.
* [Touch foil](touchfoil.md) - A piece of foil for the CapacitiveSensor library. A finger adds about 100 pF, and the count climbs.
* [Coin acceptor, CH-926](coinacceptor.md) - On 12 V, a burst of pulses on COIN for each coin it knows, pulling the line low for each.
* [Soil moisture sensor, capacitive](soilmoisture.md) - No metal in the soil: a capacitor in a stake. Wetter reads lower, which surprises everybody.
* [Galvanic skin response sensor](gsr.md) - Two finger straps and an op-amp: sweatier skin conducts more, and the reading falls.
* [Gas sensor, MQ-2](mq2.md) - A heated tin-oxide element on a comparator board. It reads like a gas leak until it has warmed up.
* [Air quality sensor, MQ-135](mq135.md) - An MQ-135 air quality sensor on an LM393 board. It reacts to NH3, CO2, alcohol, benzene and more and cannot tell them apart; CO2 is read above the air’s own. It reads high while it warms up. Drag the slider to let gas in.
* [Alcohol sensor, MQ-3](mq3.md) - An MQ-3 alcohol sensor on an LM393 board. It reads in mg/L, as its datasheet does. It reads high while it warms up. Drag the slider to let gas in.
* [Carbon monoxide sensor, MQ-7](mq7.md) - An MQ-7 carbon monoxide sensor on an LM393 board. Its 5 V / 1.4 V heater cycle is not simulated: the board holds the heater at 5 V and the model reads the datasheet’s CO curve throughout. It reads high while it warms up. Drag the slider to let gas in.
* [Methane sensor, MQ-4](mq4.md) - An MQ-4 methane (natural gas) sensor on an LM393 board. It reads high while it warms up. Drag the slider to let gas in.
* [LPG and natural gas sensor, MQ-5](mq5.md) - An MQ-5 LPG and natural gas sensor on an LM393 board. It reads high while it warms up. Drag the slider to let gas in.
* [LPG sensor, MQ-6](mq6.md) - An MQ-6 LPG (propane and butane) sensor on an LM393 board. It reads high while it warms up. Drag the slider to let gas in.
* [Hydrogen sensor, MQ-8](mq8.md) - An MQ-8 hydrogen sensor on an LM393 board. It reads high while it warms up. Drag the slider to let gas in.
* [CO and flammable gas sensor, MQ-9](mq9.md) - An MQ-9 CO and flammable gas sensor on an LM393 board. Its 5 V / 1.5 V heater cycle is not simulated: the board holds the heater at 5 V and the model reads the datasheet’s CO curve throughout. It reads high while it warms up. Drag the slider to let gas in.
* [Ozone sensor, MQ-131](mq131.md) - An MQ-131 ozone sensor (low concentration, ppb) on an LM393 board. Ozone raises its resistance, so AO falls as ozone rises. It reads high while it warms up. Drag the slider to let gas in.
* [Ammonia sensor, MQ-137](mq137.md) - An MQ-137 ammonia sensor on an LM393 board. It reads high while it warms up. Drag the slider to let gas in.
* [Sound sensor, KY-038](ky038.md) - A microphone with no amplifier. Claps light it; talking barely moves it. Press clap.
* [I2S microphone, INMP441](inmp441.md) - A microphone with its own 24-bit converter, read over I2S by an ESP32: -26 dBFS at 94 dB SPL, from a synthetic tone, noise or voice.
* [Big sound sensor, KY-037](ky037.md) - A KY-037 sound sensor: the KY-038 board with the bigger 10 mm capsule, 2 dB more sensitive, and still no amplifier. A clap pulses DO high. Drag the level or press clap.
* [Flame sensor](flame.md) - An infrared eye on a comparator board. DO goes low when a flame comes within half a meter.
* [Rain sensor](rain.md) - A plate of interleaved traces. Rain on it and AO falls; past the trimmer DO goes low.
* [Water level sensor](waterlevel.md) - Bare traces and a transistor: S jumps the moment the tip gets wet and creeps up after.
* [Water flow sensor, YF-S201](yfs201.md) - A pinwheel and a Hall sensor in a pipe: SIG pulses 7.5 times a second per liter a minute. Also the YF-S401, YF-B10 and YF-DN50.
* [Line sensor, TCRT5000](tcrt5000.md) - An infrared LED and eye side by side. Low over white, high over the black line.
* [Line tracker, 5 channel](linearray.md) - 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](fc51.md) - 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](sw420.md) - 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.
* [Knock sensor, KY-031](ky031.md) - A KY-031 knock module: a spring switch and a 10 k resistor. A knock makes the spring touch its pin a few times in 30 ms, and S pulses low. Press knock or shake.
* [Spring vibration switch, SW-18010P](sw18010p.md) - An SW-18010P spring vibration switch, normally open. A knock makes the spring touch its center pin for a few milliseconds at a time. Press knock or shake.
* [Mercury tilt switch, KY-017](ky017.md) - A KY-017 mercury tilt module: a drop of mercury in a glass bulb and a 10 k resistor. Tipped, the drop closes the contacts and S goes low. Click to tip it.
* [Button module, KY-004](ky004.md) - A KY-004 button module: a tactile switch and a 10 k resistor. S is high, and low while it is held. Press and hold it.
* [Mini reed switch, KY-021](ky021.md) - A KY-021 mini reed module: a reed switch and a 10 k resistor. A magnet closes it and S goes low; it lets go only a little further out. Drag the magnet.
* [Reed switch module, KY-025](ky025.md) - A KY-025 reed module: a reed switch on an LM393 board. AO is two levels, high with no magnet and low with one; DO goes high on the magnet. Drag the magnet.
* [Linear Hall sensor, KY-024](ky024.md) - A KY-024 linear Hall module: a 49E on an LM393 board. AO follows the field from half the supply; DO goes high past the trimmer, for one pole only. Drag the magnet, click to flip it.
* [Analog Hall sensor, KY-035](ky035.md) - A KY-035 analog Hall module: a bare 49E, so S sits at half the supply and moves 1.4 mV a gauss on 5 V, up for a south pole. Drag the magnet, click to flip it.
* [Digital temperature module, KY-028](ky028.md) - A KY-028 digital temperature module: a 10 k NTC on an LM393 board. AO falls as it warms; DO goes high when it is warmer than the trimmer. Drag the slider.
* [Ambient light sensor, TEMT6000](temt6000.md) - A TEMT6000 ambient light sensor: a phototransistor over 10 k, so SIG is 5 mV a lux on 5 V (50 uA at 100 lux, from the datasheet). Drag the light.
* [Analog rotation sensor](rotation.md) - An analog rotation sensor (Keyestudio, DFRobot): a 10 k pot across + and -, its wiper on S, so S is 0 to the supply as it turns. Drag the knob up or down.
* [Steam sensor](steam.md) - A steam sensor (Keyestudio): bare comb traces that steam or a breath fogs, so S rises with the wet. Keyestudio gives no figures, so the curve is the water-level board’s. Drag the slider.
* [IR proximity switch, E18-D80NK](e18d80nk.md) - An E18-D80NK IR proximity switch: an NPN open-collector output that pulls OUT low while something is within its range screw, 40 cm here. It needs a pull-up. Drag the target.
* [Force-sensing resistor](fsr.md) - A pad that is open until touched, then lower the harder it is pressed.
* [Flex sensor](flex.md) - A strip that rises from 25 k flat as it bends. Five of them make a glove.
* [Load cell with HX711](hx711.md) - A 24-bit converter and a bar load cell. Clock it on SCK and it hands you grams.
* [Motor driver, TB6612FNG](tb6612.md) - Two MOSFET H bridges for two motors. STBY must be high, and PWM low is a brake.
* [Motor driver, L9110S](l9110.md) - Two tiny bridges on one supply. Each output follows its input, and no coast: equal inputs brake.
* [MX1508 dual motor driver](mx1508.md) - Two small motors on one 2 to 9.6 V supply, four inputs. The L9110S board with a coast.
* [DRV8871 motor driver](drv8871.md) - One H bridge, two inputs, no enable and no logic supply: a 3.3 V board drives a 12 V or 24 V motor.
* [IBT-2 BTS7960 motor driver, 43 A](bts7960.md) - Two 43 A half bridges and a 5 V buffer: a car seat motor or a scooter motor from an Arduino.
* [Fan module, L9110](fanmodule.md) - A motor and propeller with its own H bridge: INA high spins it, INB high reverses it.
* [PC fan, 4-pin PWM](pcfan.md) - A 12 V computer fan you can slow down and read back: a duty cycle on PWM sets it, TACH pulses twice a turn.
* [Battery: AA, coin cell, LiPo](battery.md) - A voltage behind an internal resistance: 1.6 V a fresh AA, 4.2 V a full LiPo, and less once a motor starts.
* [Solar panel, 6 V 1 W](solar.md) - 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](tp4056.md) - Charges one lithium-ion cell at up to 1 A to 4.2 V. What goes into the cell comes in at the input.
* [TP4056 charger, USB-C](tp4056c.md) - The one-cell lithium charger with a USB-C socket.
* [Voltage regulator](regulator.md) - 78xx, 79xx, AMS1117, LD1117, MCP1700, HT7333 or AP2112K: holds its output until the input is less than that plus the dropout.
* [LM317 regulator](lm317.md) - The LM317 adjustable regulator: OUT sits 1.25 V above ADJ, so Vout = 1.25 V x (1 + R2/R1).
* [LM2596 buck converter module](lm2596.md) - A 150 kHz step-down switcher on a blue board: turn the trimmer to set OUT, and it draws less current than it gives.
* [MP1584 mini buck converter](mp1584.md) - A thumbnail-sized adjustable step-down converter, up to 3 A.
* [MT3608 boost converter module](mt3608.md) - A 1.2 MHz step-up switcher: turn the trimmer to set VOUT above VIN, and it draws more current than it gives.
* [XL6009 boost converter module](xl6009.md) - An adjustable step-up converter, up to 28 V out.
* [Mains transformer, 230 V or 120 V to 12 V](transformer.md) - Two windings on one iron core: mains AC in, low-voltage AC out, with nothing joining the two sides. Rectify it for DC.
* [DC jack and adapter](dcjack.md) - A DC barrel jack with a wall adapter in it: 12, 9 or 5 V, center positive, up to its rated current.
* [USB power](usbpower.md) - USB power: a 5 V USB-C or micro-USB breakout, or a PD trigger asking a charger for 9 to 20 V.
* [DC voltage source](vsource.md) - A DC voltage source: V+ held the set voltage above V-, floating.
* [Mains AC, wall socket](acmains.md) - 120 V 60 Hz (or your country’s) between L and N, for what a relay or SSR switches.
* [Dual power supply, ±V](dualsupply.md) - Plus and minus the same voltage around a common ground, for op-amps.
* [Bridge rectifier, DB107](bridgerect.md) - Four diodes in one package: AC in, DC out, about 1.4 V under the peak.
* [Screw terminal block, 2-way](screwterminal2.md) - Two screws on legs that plug into a breadboard, for the wires of a motor or a battery.
* [Screw terminal block, 3-way](screwterminal3.md) - Three screws on legs that plug into a breadboard.
* [Logic level converter, 4-channel BSS138](levelshifter4.md) - Four bi-directional channels between 3.3 V and 5 V logic, I2C included.
* [Breadboard power supply, MB102](mb102.md) - The Elegoo kit power module: a 9 V battery on its jack, 5 V or 3.3 V on each pair of rails by jumper.
* [Accelerometer and gyroscope, MPU6050](mpu6050.md) - Six axes over I2C. Drag the board to tip it and the accelerometer follows gravity.
* [Nine-axis IMU, MPU-9250](mpu9250.md) - An MPU6050 with a compass inside: set BYPASS_EN and the AK8963 answers at 0x0C. Drag it to tip it.
* [Accelerometer, ADXL345](adxl345.md) - Three axes of acceleration on I2C at 0x53, 2 to 16 g, from the GY-291 board. Drag it to tip it.
* [Accelerometer, ADXL335 analog](adxl335.md) - Three analog outputs, one an axis: 1.65 V at 0 g and 330 mV a g on the GY-61’s 3.3 V.
* [Temperature sensor, DS18B20](ds18b20.md) - A thermometer with a 64-bit serial number, so any number share one wire. Needs a 4k7 pull-up.
* [Thermocouple converter, MAX6675](max6675.md) - A K-type thermocouple on SPI, a quarter degree a count up to 1023. Read it no faster than four times a second.
* [Pressure, humidity and temperature, BME280](bme280.md) - Temperature, humidity and air pressure as raw counts, and the datasheet sums that turn them into weather.
* [Temperature and humidity, SHT31](sht31.md) - Temperature and humidity over I2C at 0x44, a CRC on every word, 15 ms a reading.
* [UV and light, LTR-390](ltr390.md) - The UV index and the visible light from one sensor, 13 to 20-bit counts at gain 1 to 18.
* [Ambient light, OPT3001](opt3001.md) - Light in lux with the eye's response, 0.01 to 83865 lux, auto-ranging over I2C.
* [Ambient light, VEML7700](veml7700.md) - Lux over I2C at 0x10 with gain and integration time, 0.0042 lux a count at best, for Adafruit_VEML7700.h.
* [Accelerometer and compass, LSM303AGR](lsm303agr.md) - An accelerometer at 0x19 and a magnetometer at 0x1E in one package: a tilt-compensated compass.
* [Magnetometer, LIS3MDL](lis3mdl.md) - The Earth's field on three axes, up to 6842 counts a gauss, for a compass heading.
* [Six-axis IMU, LSM6DSOX](lsm6dsox.md) - An accelerometer and a gyroscope at 12.5 Hz to 6.66 kHz over I2C, little-endian sixteen-bit outputs.
* [Three-channel current monitor, INA3221](ina3221.md) - Three shunts, three bus voltages, one I2C address: each rail of a project measured at once.
* [Power and energy monitor, INA228](ina228.md) - A 20-bit power monitor on a 15 milliohm shunt that adds up energy and charge as it goes.
* [Power monitor, INA226](ina226.md) - Current, bus voltage and power through a real 0.1 ohm shunt, 2.5 uV a count, over I2C.
* [RTD converter, MAX31865](max31865.md) - A PT100 platinum probe as a 15-bit resistance ratio over SPI mode 1, with fault thresholds.
* [Thermocouple converter, MAX31855](max31855.md) - A K-type thermocouple in 32 bits: the tip in quarter degrees, the cold junction, and open and short faults.
* [Barometric pressure, DPS310](dps310.md) - Pressure to a fraction of a pascal and temperature over I2C, with up to 128 times oversampling.
* [Gas and weather, BME680](bme680.md) - Temperature, humidity, pressure and a heated gas plate over I2C, raw counts and calibration to work through.
* [Laser distance, VL53L1X](vl53l1x.md) - Laser time of flight to 4 m over I2C at 0x29, sixteen-bit register addresses.
* [CO2 sensor, SCD41](scd4x.md) - Real CO2 in ppm, with temperature and humidity, over I2C at 0x62: a reading every five seconds.
* [Temperature and humidity, SHT40](sht4x.md) - Temperature and humidity over I2C at 0x44, one-byte commands, 8.3 ms a precise reading.
* [Temperature sensor, TMP117](tmp117.md) - A 0.1 degree class thermometer over I2C, 7.8125 m°C a count, with averaging, one-shot and an ALERT pin.
* [Air quality sensor, SGP30](sgp30.md) - CO2eq and TVOC over I2C at 0x58, after a 15 s warm-up. The heart of an air quality monitor.
* [Color sensor, TCS34725](tcs34725.md) - Red, green, blue and clear counts over I2C at 0x29, with a white LED to light the card. The eye of a color sorter.
* [Color sensor, TCS3200 / TCS230 (GY-31)](tcs3200.md) - S2 and S3 pick red, green, blue or clear, and OUT is a square wave whose frequency is that color: read it with pulseIn.
* [Pressure and temperature, BMP280](bmp280.md) - The same sensor without the humidity: pressure, temperature, and so altitude.
* [BMP180 pressure sensor](bmp180.md) - Bosch’s older barometer on its GY-68 board: pressure and temperature, read through the Adafruit BMP085 library.
* [Current monitor, INA219](ina219.md) - A 0.1 ohm shunt in series with a load, and the current, voltage and power it sees, over I2C.
* [Current sensor, ACS712](acs712.md) - A Hall sensor beside a strip of copper in series with the load: 2.5 V at no current, 185, 100 or 66 mV an amp.
* [Current and voltage sensor, MAX471](max471.md) - A 35 milliohm resistor in the supply lead and an amplifier: AT is 1 V an amp, VT a fifth of the voltage.
* [Voltage sensor, 0 to 25 V](voltagesensor.md) - A 30 k and 7.5 k divider on a red board: S is a fifth of the voltage on the screw terminal, so 25 V reads 5 V.
* [Soil moisture sensor, resistive FC-28](fc28.md) - A two-pronged fork in the soil on an LM393 board. Wetter soil conducts better, AO falls, and DO goes low.
* [Pressure sender, 0.5-4.5 V](pressuretransducer.md) - The stainless water and oil pressure sender: 0.5 V at no pressure to 4.5 V at full scale, 30 psi to 1.6 MPa by model.
* [Pressure sensor, MPX5010 / MPX5700](mpx5700.md) - NXP silicon pressure sensors, 0.2 to 4.7 V: 0 to 10 kPa differential, or 700 kPa gauge, differential or absolute.
* [Water quality sensor, pH, TDS, EC, DO, NTU](waterprobe.md) - A probe in the water and its signal board: TDS, pH, turbidity, dissolved oxygen or conductivity as a voltage, on the maker’s own curve.
* [UV sensor, GUVA-S12SD](guvas12sd.md) - A UV photodiode and an op-amp: about 0.11 V per UV index, and nothing at all from a lamp.
* [Weather meter kit, SEN-15901](weathermeter.md) - Three sensors of reeds and magnets: a closure a second per 2.4 km/h of wind, a vane of 16 resistances, a closure per 0.2794 mm of rain.
* [Float switch, ZP4510](floatswitch.md) - A reed in a stem and a magnet in the float: closed when the water lifts it, or open with the float turned over.
* [Geiger counter, RadiationD-v1.1](geiger.md) - A J305 tube on the CAJOE board: VIN pulses low for each count, at random, about 123 counts a minute per uSv/h.
* [AC energy meter, PZEM-004T v3.0](pzem004t.md) - An AC energy meter on Modbus. Real mains can kill: only a qualified person should wire it.
* [Air quality sensor, PMS5003](pms5003.md) - Dust sliders in, PM1.0, PM2.5 and PM10 out as the sensor’s real 32 byte serial frames, for the PMS library, Adafruit_PM25AQI or plain Serial parsing.
* [AC voltage sensor, ZMPT101B](zmpt101b.md) - An AC voltage sensor for analogRead(). Real mains can kill: only a qualified person should wire it.
* [Sixteen-bit ADC, ADS1115](ads1115.md) - Four sixteen-bit analog inputs, single or in pairs. The gain sets the full scale, not the supply.
* [Eight-channel ADC, MCP3008](mcp3008.md) - Eight 10-bit analog inputs on SPI in a DIP-16: the code is 1024 times the input over VREF, as gpiozero and spidev read it on a Pi.
* [ADC and DAC, PCF8591 (YL-40)](pcf8591.md) - Four 8-bit inputs and one analog output on I2C at 0x48, with the YL-40 board LDR, thermistor and trimmer on jumpers.
* [DAC, MCP4725](mcp4725.md) - A 12-bit analog voltage out over I2C at 0x60, VCC x code / 4096, with an EEPROM that keeps it, for Adafruit_MCP4725.h.
* [Digital potentiometer, MCP4131](mcp4131.md) - A real 10 k pot (or 5 k, 50 k, 100 k) whose wiper an SPI sketch sets in 129 steps, two bytes with CS low.
* [Real-time clock, DS3231](ds3231.md) - A clock that keeps time whatever the sketch is doing. Every register is BCD, which catches everybody.
* [Real-time clock, DS1307](ds1307.md) - The older clock: the same BCD registers, 56 bytes of RAM, and a halt bit that keeps a new one stopped. Five volts only.
* [Real-time clock, DS1302](ds1302.md) - The kit clock with a coin cell: BCD time and 31 bytes of RAM behind CLK, DAT and RST.
* [I2C EEPROM, 24LC256](24lc256.md) - Thirty-two kilobytes that keep. Two address bytes, 64-byte pages, and 5 ms of silence after every write.
* [I/O expander, PCF8574](pcf8574.md) - 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](mcp23017.md) - Sixteen more pins, two ports of registers, and interrupts. Tie RESET and the address pins or it is not there.
* [Hobby servo](servo.md) - A pulse width, not a duty cycle. The horn turns to wherever you send it.
* [Servo, MG996R metal gear](mg996r.md) - The strong standard-size servo: the same pulses as the SG90, 0.17 s per 60 degrees on 4.8 V, 0.14 s on 6 V.
* [Servo, MG995 metal gear](mg995.md) - A standard-size metal-gear servo, 180 degrees.
* [Servo, DS3218 270 degree](ds3218.md) - A 20 kg-cm digital servo with 270 degrees of travel.
* [DC motor](dcmotor.md) - Needs a transistor. The shaft shows how fast it is going and which way.
* [Mini water pump](waterpump.md) - A thumb-sized submersible pump: a motor and impeller, up to 120 L/h on 6 V.
* [Gear motor with encoder](encmotor.md) - 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](chassis2wd.md) - Two TT gear motors on a deck. Drive one wheel faster than the other and it turns.
* [Self-balancing robot](balancebot.md) - An inverted pendulum on two wheels, with its own MPU6050 and TB6612. Let go and it falls, unless your loop drives the wheels under it.
* [Motor driver, DRV8833](drv8833.md) - Two small H bridges from 2.7 V up. Both inputs low coasts, both high brakes.
* [Limit switch, lever microswitch](microswitch.md) - COM rests on NC and moves to NO while the lever is held. The robot limit switch.
* [Robot arm, 4 servos](robotarm.md) - Base, shoulder, elbow and claw: four SG90s, each on its own signal pin.
* [Claw machine cabinet, stepper gantry](clawcabinet.md) - A claw machine you wire up: two NEMA 17s move the gantry, a winch and a servo work the claw, and the prize breaks the chute beam.
* [Claw machine cabinet, gear motor gantry](clawcabinetdc.md) - A claw machine on two gear motors: drive them from an H bridge, lower the winch, close the servo claw and carry a prize to the chute.
* [Vending machine cabinet](vendingcabinet.md) - Four spirals on continuous servos and a beam across the bin. Turn a spiral once and its front snack falls through the beam.
* [Pinball table](pinballcabinet.md) - A table you wire up: servo flippers, two pop bumpers on one kicker coil, three targets, a drain beam and a plunger. The ball closes the switches it hits.
* [Parking barrier](barriercabinet.md) - An MG996R arm, a traffic light and an HC-SR04 on one post. Send a car: it waits at the line until the arm is up.
* [Candy color sorter](sortercabinet.md) - A feed disc carries each candy under a TCS34725, then drops it on a servo chute. Point the chute at the right bin in time.
* [Touchless soap dispenser](soapcabinet.md) - An FC-51 beside the spout and a gear pump under the bottle. Bring a hand in, run the pump, and soap drops into it.
* [Servo driver, PCA9685 16-channel](pca9685.md) - Sixteen servo pulses from two I2C wires. It wakes up asleep, at 200 Hz.
* [Stepper motor, 28BYJ-48 with ULN2003](stepper28byj.md) - Four coils and a 1:64 gearbox: 4096 half-steps to a turn, and a stall if the sequence jumps.
* [Motor driver, L293D](l293d.md) - Four half bridges. A pair across a motor turns it both ways, and keeps 2.4 V for itself doing it.
* [Relay module](relay.md) - A logic level on one side, something that has nothing to do with logic on the other.
* [30 A relay board](relay30a.md) - A big relay with a 30 A contact on its own board, for heaters, pumps and car fans.
* [Motor driver module, L298N](l298n.md) - Two H bridges for a robot car. Three jumpers decide how it is powered and whether ENA and ENB are pins.
* [VNH2SP30 motor driver](vnh2sp30.md) - One big brushed motor, 14 A: INA, INB and PWM, brakes to ground.
* [Cytron MD10C motor driver](md10c.md) - One brushed motor, 13 A, 5 to 30 V: just DIR and PWM.
* [Cytron MDD20A dual motor driver](mdd20a.md) - Two brushed motors, 20 A each: DIR and PWM per motor.
* [L293D motor shield](l293dshield.md) - Four DC motors or two steppers on two L293Ds and a 74HC595, for AFMotor.
* [Adafruit Motor Shield v2](motorshield2.md) - Four DC motors or two steppers over I2C: a PCA9685 and two TB6612s.
* [CNC shield v3 with A4988s](cncshield.md) - Four A4988 stepper drivers on an Uno for GRBL: X, Y, Z and A.
* [Stepper driver, A4988](a4988.md) - STEP and DIR in, two coil currents out, and it does nothing until RST is tied to SLP.
* [Stepper driver, DRV8825](drv8825.md) - The A4988 footprint with 1/32 steps and a 45 V rail. The mode pins mean something else.
* [TMC2208 stepper driver](tmc2208.md) - The quiet 3D printer driver: STEP and DIR like an A4988, but 1/8 step left alone and no reset to link.
* [TMC2209 stepper driver](tmc2209.md) - The TMC2208 with 1/32 and 1/64 on its mode pins, a SPREAD pin, and 29 V at most.
* [TMC2100 stepper driver](tmc2100.md) - Trinamic in standalone mode: each CFG pin low, high or left open, nine step settings from two pins.
* [DRV8834 low-voltage stepper driver](drv8834.md) - For small low-voltage steppers, 2.5 to 10.8 V: M0 open is a third setting, and SLP must be driven high.
* [DRV8880 stepper driver](drv8880.md) - A 45 V carrier whose ENABLE is active high, with two pins that turn the current down to 75, 50 or 25 percent.
* [TB6600 stepper driver](tb6600.md) - The boxed CNC driver: PUL, DIR and ENA are optocouplers, the DIP switches set the microsteps and up to 4 A, and ENA lit turns it off.
* [Stepper motor, NEMA 17](nema17.md) - Two coils, 200 steps a turn, and lost steps if you ask it to go faster than it can.
* [Biaxial stepper](biaxialstepper.md) - Two steppers on one axis, a hand each, like a clock: two pairs of coils, 200 steps a turn.
* [IRF520 MOSFET module](irf520module.md) - The purple MOSFET board: SIG to the gate, but the IRF520 is only half on from a 5 V pin.
* [D4184 dual MOSFET switch module](d4184module.md) - Two logic-level MOSFETs in parallel: a 3.3 V or 5 V pin switches up to 15 A.
* [Relay board, two channels](relay2.md) - Two relays with optocouplers, active low: LOW on IN is on.
* [Relay board, four channels](relay4.md) - Four relays in a row, active low, each on its own terminal.
* [8-channel relay board](relay8.md) - Eight SRD relays with optocouplers, active low, on 5, 12 or 24 V coils: a whole room of lamps from one header.
* [16-channel relay board](relay16.md) - Sixteen relays on one board, IN1 to IN16, 12 V coils.
* [DPDT relay](relaydpdt.md) - The bare relay: a coil for a transistor to drive and two poles on one arm.
* [Solid-state relay, SSR-25DA / G3MB-202P](ssr.md) - An LED in, a TRIAC or MOSFET out, no click. The AC ones turn off only at a current zero, so on DC they stay on.
* [SSR module, 1-channel G3MB-202P](ssr1.md) - One solid-state relay for AC loads, low level trigger, no click.
* [SSR board, 2-channel G3MB-202P](ssr2.md) - Two solid-state relays for AC loads, low level trigger.
* [SSR board, 4-channel G3MB-202P](ssr4.md) - Four solid-state relays for AC loads, low level trigger.
* [SSR board, 8-channel G3MB-202P](ssr8.md) - Eight solid-state relays for AC loads, low level trigger.
* [Vibration motor](vibmotor.md) - The coin in a phone. 75 mA and a start voltage, so it wants a transistor.
* [Solenoid](solenoid.md) - A coil and a plunger. It needs a transistor, and a diode across it for the kick when it lets go.
* [Linear actuator, 12 V](linearactuator.md) - A rod that pushes out and pulls in on 12 V. Reverse the wires to reverse it; at each end a limit switch stops it by itself.
* [Brushless motor and 30 A ESC](bldcesc.md) - An A2212 1000KV outrunner on a 30 A ESC: a servo pulse is the throttle, and it will not spin until it has seen 1000 us to arm.
* [Holding electromagnet, P20/15](electromagnet.md) - A coil in a steel cup: 2.5 kg on a flat plate with the current on, nothing with it off. A MOSFET and a diode drive it.
* [Peltier module, TEC1-12706](peltier.md) - Six amps at 12 V pumps heat from one face to the other. Its cold face is only as cold as the heat sink on its hot one is good.
* [Speaker, 8 ohm](speaker.md) - Eight ohms, so 100 ohms in series or a transistor, and tone() plays through it.
* [I2S amplifier, MAX98357A](max98357a.md) - Samples in over I2S, up to 3 W out: a speaker on its terminal plays what an ESP32 sends it, at 3 to 15 dB.
* [Thermal receipt printer](thermalprinter.md) - Text, bold, inverse, double size and barcodes on a paper roll, over TTL serial at 19200 baud.
* [Keypad, 4x4](keypad.md) - Sixteen keys on eight pins. Scan a row at a time, and mind the ghosting.
* [Keypad, 4x3 telephone](keypad4x3.md) - The twelve keys off a telephone, on seven pins. The same scan, two pins cheaper.
* [Keypad, 5x4 calculator](keypad5x4.md) - Twenty keys on nine pins, printed the way a desk calculator is: four operators, a point, clear and equals.
* [RGB LED](rgbled.md) - Three dice under one lens on a shared leg, and three resistors.
* [Power LED, 1 W or 3 W star](powerled.md) - A 350 or 700 mA die on an aluminum star: a MOSFET and a power resistor, or it burns.
* [LED strip, 12 V single color](ledstrip12v.md) - Plain 12 V LED strip in one color: three LEDs and a resistor per cuttable segment.
* [LED strip, 12 V RGB](ledstriprgb.md) - Plain 12 V RGB strip: pull R, G and B low through a MOSFET each.
* [Two-color LED, KY-011](bicolorled.md) - Red and yellow-green dice under one lens on a shared leg. PWM the two legs for orange and yellow.
* [Traffic light module](trafficlight.md) - Red, yellow and green LEDs with their resistors on a little board: a pin high lights each.
* [Laser module, KY-008](laser.md) - A red laser diode behind a resistor between S and GND: S high lights the beam.
* [Infrared LED, 940 nm](irled.md) - An IR LED behind its resistor: flash it at 38 kHz and every VS1838B it points at reads the code. Hover to see its beam.
* [KY-005 infrared LED module](ky005.md) - An IR LED on a three-pin board, S to the anode: IRremote sends with it and another board’s receiver decodes it.
* [Transistor (NPN or PNP)](transistor.md) - The part that lets a board pin run something a board pin cannot run.
* [Optocoupler, 4N35](optocoupler.md) - An infrared LED and a phototransistor in one DIP-6, with no wire between them: switch a circuit you cannot connect to.
* [MOSFET](mosfet.md) - 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](diode.md) - One way only. For flyback, for steering, and for a battery in backwards.
* [Zener diode](zener.md) - A Zener diode. Reverse biased it holds its own voltage; the band marks the cathode, which goes to the positive side.
* [4-resistor network](resnet4.md) - Four pull-ups or pull-downs in one row of pins.
* [8-resistor network](resnet8.md) - Eight pull-ups in one part, the partner every DIP switch wants.
* [Tilt switch](tiltswitch.md) - A ball that rolls off the contacts when you tip it. Click to tip it.
* [Piezo speaker](piezo.md) - Makes whatever tone you drive it with, and shows it.
* [Slide switch](slideswitch.md) - Two positions, held where you leave it.
* [Toggle switch, SPDT](toggleswitch.md) - A bat-handle ON-ON toggle: throw it to move the middle leg between the outer two.
* [Rocker switch, SPST](rockerswitch.md) - An on-off rocker: I connects its two legs, O opens them.
* [Emergency stop button](estop.md) - A latching mushroom button with a normally closed contact: press to cut the circuit.
* [Capacitor](capacitor.md) - The one part that integrates over time, so an RC circuit really charges.
* [Clock](clock.md) - A square wave at the frequency you set, for a circuit with no processor in it.
* [Seven segment display](sevenseg.md) - Common anode or cathode, with the decimal point.
* [Buzzer](buzzer.md) - Sounds when it is driven, and shows it on screen.
* [Alarm siren, 12 V](siren.md) - A 12 V horn with its own oscillator: give it 6 to 12 V through a MOSFET and it wails.
* [Arduino Uno R3](uno.md) - A complete ATmega328P at 16 MHz, wired with jumpers like the real one.
* [Arduino Nano](nano.md) - The same ATmega328P, small enough to push into the breadboard, with two extra analog pins.
* [Arduino Mega 2560 R3](mega2560.md) - Fifty-four digital pins, sixteen analog inputs and four serial ports, at the real addresses.
* [Arduino Leonardo](leonardo.md) - 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](esp32c6.md) - 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](esp32.md) - 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](esp32s3.md) - 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](esp8266.md) - 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](xiao.md) - 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](promini.md) - 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](promini3v3.md) - 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](micro.md) - The Leonardo shrunk to push into a breadboard: USB on the chip, pin 13 LED and all.
* [SparkFun Pro Micro](promicro.md) - 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](d1mini.md) - The NodeMCU’s ESP8266 on a board a third the size, with the same D0 to D8 names.
* [ESP-01S](esp01.md) - 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](xiaoc3.md) - The ESP32-C3 on a thumbnail. D0 to D10 are the XIAO’s own numbers, not GPIOs.
* [Seeed XIAO ESP32-C6](xiaoc6.md) - The ESP32-C6 on a thumbnail. D0 to D10 are the XIAO’s own numbers, and the user LED is on GPIO 15, lit LOW.
* [ESP32-DevKitC V4](esp32devkitc.md) - Espressif’s own ESP32 board: thirty-eight pins named by GPIO, an inch between the rows, no user LED.
* [Wemos LOLIN32 Lite](lolin32lite.md) - A classic ESP32 with a LiPo socket. The blue LED on GPIO 22 lights when the pin is LOW.
* [Seeed XIAO ESP32-S3](xiaos3.md) - The ESP32-S3 on a thumbnail. D0 to D10 are the XIAO’s own numbers, and the user LED is on GPIO 21, lit LOW.
* [Arduino Nano ESP32](nanoesp32.md) - An ESP32-S3 on the Nano outline, with an orange LED on D13 and an RGB LED that lights LOW.
* [Arduino Nano RP2040 Connect](nanorp2040.md) - The Pico’s RP2040 on the Nano outline, with an LED on D13. The radio and the IMU are not modeled.
* [ESP32-C3 SuperMini](supermini.md) - The smallest C3 board in common use, with a blue LED that lights when its pin is LOW.
* [Arduino Uno R4 WiFi](unor4wifi.md) - The Uno R4 with a 12 x 8 LED matrix to draw on, and WiFi on a simulated network.
* [Cheap Yellow Display (ESP32-2432S028R)](cyd.md) - A classic ESP32 behind a 2.8 inch touch screen, wired as the board wires it, with an RGB LED that lights LOW.
* [LilyGO TTGO T-Display](tdisplay.md) - A classic ESP32 with a 1.14 inch color screen and two buttons on the board.
* [Wemos D1 R32](d1r32.md) - A classic ESP32 on the Uno’s outline. The holes are GPIOs: the one printed D2 is GPIO 26.
* [Seeed XIAO RP2040](xiaorp2040.md) - The Pico’s RP2040 on a thumbnail, with a three-color user LED lit LOW and its own NeoPixel.
* [Waveshare RP2040-Zero](rp2040zero.md) - The Pico’s RP2040 on a 23.5 mm board, its pins named by GPIO and a NeoPixel on GP16.
* [ATtiny85](attiny85.md) - A whole microcontroller in eight pins, straight into the breadboard.
* [ATmega328P, 16 MHz crystal](atmega328p.md) - The Uno’s chip on its own, for an Arduino on a breadboard. Wire VCC to 5 V or it does not run.
* [ATmega328P, 8 MHz internal clock](atmega328p8m.md) - The ATmega328P on its internal 8 MHz clock, no crystal, with PB6 and PB7 free as pins.
* [NE555 timer](ne555.md) - The real 555, astable or monostable, with the timing the capacitor gives it.
* [74HC595 shift register](74hc595.md) - Eight outputs from three pins. Shift a byte in and latch it.
* [CD74HC4067 analog multiplexer](cd74hc4067.md) - Sixteen channels to one pin through analog switches: four address lines pick which one.
* [74HC4051 analog multiplexer](74hc4051.md) - Eight channels to one pin through analog switches: three address lines pick which one.
* [NLSF595 tri-color LED driver](nlsf595.md) - A 595 whose outputs sink current: eight cathodes of common-anode RGB LEDs on three pins.
* [74HC74 dual flip-flop](74hc74.md) - Two D flip-flops with preset and clear. Divide a clock with one.
* [74HC00 quad NAND](74hc00.md) - Four NAND gates in a DIP-14, with supply pins and a real propagation delay.
* [74HC04 hex inverter](74hc04.md) - Six inverters, same package, same rules.
* [74HC08 quad AND](74hc08.md) - Four AND gates.
* [74HC32 quad OR](74hc32.md) - Four OR gates.
* [74HC86 quad XOR](74hc86.md) - Four XOR gates.
* [74HC02 quad NOR](74hc02.md) - Four NOR gates, with the outputs on the other pins.
* [74HC14 Schmitt inverter](74hc14.md) - Six inverters with hysteresis. Clean up a slow edge, or make an oscillator from one R and one C.
* [74HC138 3-to-8 decoder](74hc138.md) - Three address lines pick one of eight outputs and pull it low.
* [74HC161 4-bit counter](74hc161.md) - Counts 0 to 15 with every output changing on the same edge.
* [74HC165 input shift register](74hc165.md) - Eight inputs on three pins. Load the switches, then clock them out.
* [74HC193 up/down counter](74hc193.md) - Counts up on one clock and down on the other.
* [CD4017 decade counter](cd4017.md) - Ten outputs, one high at a time, stepping along on every clock.
* [CD4511 7-segment driver](cd4511.md) - Four wires in, one lit digit out.
* [4-way DIP switch](dipswitch4.md) - Four little switches in a chip-sized body.
* [8-way DIP switch](dipswitch8.md) - Eight switches, one byte, set by hand.
* [Logic gate](gate.md) - An ideal AND, OR, NAND, NOR or XOR, for teaching the idea before the chip.
* [Inverter](not.md) - An ideal inverter, for the same job.
* [Bit switch](bitin.md) - One ideal logic input, 0 or 1, and an input pin when the circuit becomes a chip.
* [Bit lamp](bitout.md) - One ideal logic lamp, and an output pin when the circuit becomes a chip.
* [Number switch](bytein.md) - Up to eight bits as one number you click to count, and a multi-bit chip input.
* [Number display](byteout.md) - Up to eight bits shown in hex, decimal and binary, and a multi-bit chip output.
* [Constant bit](bitconst.md) - A clean 0 or 1 for an input that must be tied, inside a chip or out.
* [Step clock](stepclock.md) - A clock that ticks once a click, or runs free, for watching a counter move.
* [Program ROM](progrom.md) - The Kestrel CPU's program: 256 instructions written in its own assembly.
* [Terminal](terminal.md) - A text screen that takes one byte a clock, for a computer built from gates.
* [Op-amp](opamp.md) - An ideal op-amp on a single supply, for amplifiers and comparators.
* [LM358 dual op-amp](lm358.md) - Two op-amps in a DIP-8 on one supply: outputs from ground to 1.5 V under VCC.
* [LM324 quad op-amp](lm324.md) - Four LM358-type op-amps in a DIP-14, VCC on pin 4 and GND on pin 11.
* [LM741 op-amp (uA741)](lm741.md) - The classic single op-amp, for split supplies: it stays 1.5 V away from both rails.
* [TL072 dual JFET op-amp](tl072.md) - Two fast JFET-input op-amps in a DIP-8, for split supplies like +-12 V.
* [Inductor](inductor.md) - Resists a change in current, so it rings with a capacitor.
* [Signal generator](generator.md) - Sine, square or triangle at the frequency and amplitude you set.
* [Function generator](funcgen.md) - The bench box: four shapes, knobs on the face, and a real 50 ohm output that a load pulls down.
* [Oscilloscope](scope.md) - Two channels on any two nodes, drawn against time as it runs, with the time base on the face.
* [Logic analyzer, four channels](logicanalyser.md) - Four probes, every edge with the time it happened, a timing diagram on the face and the whole capture as CSV.
* [Multimeter](multimeter.md) - Ten positions on the dial: volts, amps, ohms, continuity that beeps, diode, capacitance, frequency and duty.
* [Bench power supply](psu.md) - 0 to 30 V with a current limit, and CV and CC lamps that say which of the two it is holding.
* [Frequency counter](freqcounter.md) - Clip it on anything: frequency, period, duty, high time and a running pulse total, counted rather than sampled.
* [Logic probe](logicprobe.md) - High, low, pulsing, and nothing at all for a pin nobody is driving, which is the fault a voltmeter cannot find.
* [Component tester](comptester.md) - Push an unknown part into the three sockets and it names it, measures it, and says which leg is which.
* [Infrared remote, 21 buttons](irremote.md) - 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](irreceiver.md) - It inverts, and that is the whole of it: OUT idles high and drops while a burst arrives.
* [Bluetooth serial module, HC-05](hc05.md) - A serial bridge, honestly. No radio is modeled: the far end is the phone in the Bluetooth pane, or the serial monitor.
* [Bluetooth serial module, HC-06](hc06.md) - Four pins and AT commands while nothing is connected. The phone is the Bluetooth pane; there is no radio.
* [RS-485 module, MAX485](max485.md) - A MAX485 RS-485 transceiver board: DE and RE pick send or listen, and two or more on one A/B pair carry any UART half duplex over a real terminated bus.
* [RS-232 transceiver, MAX232](max232.md) - Turns a 5 V UART into inverted +-7 V RS-232 levels and back, two channels each way, from one 5 V supply with its charge pump.
* [GSM modem, SIM800L](sim800l.md) - Send and receive SMS and calls with AT commands, on a simulated network. Power it from one Li-ion cell: 5 V resets it.
* [GSM modem, SIM900A](sim900a.md) - The bigger SIMCom board on 5 V: the same AT commands, SMS and calls, on a simulated network.
* [DFPlayer Mini MP3 module](dfplayer.md) - Numbered files from a microSD card, played on command over serial, with BUSY low while one plays.
* [RFID reader, MFRC522](mfrc522.md) - Tap one of the cards beside it on the antenna and MFRC522.h reads its UID and its blocks.
* [NFC reader, PN532](pn532.md) - Tap one of the cards beside it on the antenna and Adafruit_PN532.h reads its UID and its blocks, over I2C or SPI.
* [microSD card module](microsd.md) - A real FAT16 card behind SD.h. Watch the files a sketch writes appear, and download them.
* [GPS module, NEO-6M](neo6m.md) - NMEA at 9600 baud, once a second, from wherever you set it. Click it to lose the fix.
* [2.4 GHz radio, nRF24L01+](nrf24l01.md) - Put two down and they talk: RF24.h, auto-ack, retries, and the packets on a shared air line.
* [LoRa module, SX1278 (Ra-02)](sx1278.md) - Put two down and they talk: LoRa.h or RadioLib, packets that take as long on the air as real ones, on a shared air line.
* [I2C multiplexer, TCA9548A](tca9548a.md) - Eight I2C buses behind one address: two sensors with the same address on two channels, one at a time.
* [Half breadboard](breadboard-half.md) - The same board, half the length, for a circuit that fits.
* [74HC10 triple 3-input NAND](74hc10.md) - Three NAND gates of three inputs each.
* [74HC107 dual JK flip-flop](74hc107.md) - Two JK flip-flops with reset, on the corner-supply pinout.
* [74HC11 triple 3-input AND](74hc11.md) - Three AND gates of three inputs each.
* [74HC112 dual JK flip-flop](74hc112.md) - Two JK flip-flops with set and reset: the usual lab JK.
* [74HC123 dual monostable](74hc123.md) - Two one-shots: a trigger makes one pulse K RX CX long, retriggerable.
* [74HC125 quad tri-state buffer](74hc125.md) - Four buffers that let go of the wire while their enable is high.
* [74HC126 quad tri-state buffer](74hc126.md) - Four buffers that let go of the wire while their enable is low.
* [74HC132 quad Schmitt NAND](74hc132.md) - Four NAND gates with hysteresis: debouncers and RC oscillators.
* [74HC139 dual 2-to-4 decoder](74hc139.md) - Two decoders: a 2-bit address pulls one of four outputs low.
* [74HC147 priority encoder](74hc147.md) - Nine inputs in, the number of the highest one out in BCD.
* [74HC148 priority encoder](74hc148.md) - Eight inputs in, the number of the highest one out.
* [74HC151 8-input multiplexer](74hc151.md) - Picks one of eight inputs by a 3-bit address.
* [74HC153 dual 4-input multiplexer](74hc153.md) - Two 4-to-1 selectors sharing one address.
* [74HC154 4-to-16 decoder](74hc154.md) - A 4-bit address pulls one of sixteen outputs low.
* [74HC157 quad 2-input multiplexer](74hc157.md) - Four 2-to-1 switches on one select pin.
* [74HC164 shift register](74hc164.md) - Serial in, eight outputs out, no latch.
* [74HC166 shift register](74hc166.md) - Eight inputs read on the clock and shifted out.
* [74HC173 4-bit register](74hc173.md) - Four D flip-flops with a load enable and tri-state outputs.
* [74HC174 hex D flip-flop](74hc174.md) - Six D flip-flops on one clock, with a reset.
* [74HC175 quad D flip-flop](74hc175.md) - Four D flip-flops with Q and QN, and a reset.
* [74HC190 up/down decade counter](74hc190.md) - Counts 0 to 9 up or down on one clock.
* [74HC191 up/down binary counter](74hc191.md) - Counts 0 to 15 up or down on one clock.
* [74HC192 up/down decade counter](74hc192.md) - Counts 0 to 9: one clock up, one clock down.
* [74HC194 universal shift register](74hc194.md) - Four bits that hold, shift left, shift right or load in parallel.
* [74HC20 dual 4-input NAND](74hc20.md) - Two NAND gates of four inputs each.
* [74HC21 dual 4-input AND](74hc21.md) - Two AND gates of four inputs each.
* [74HC221 dual monostable](74hc221.md) - Two one-shots that ignore triggers until their pulse is over.
* [74HC244 octal buffer](74hc244.md) - Eight tri-state buffers in two groups of four.
* [74HC245 two-way bus buffer](74hc245.md) - Eight two-way buffers between an A bus and a B bus.
* [74HC27 triple 3-input NOR](74hc27.md) - Three NOR gates of three inputs each.
* [74HC273 octal D flip-flop](74hc273.md) - Eight D flip-flops on one clock, with a reset.
* [74HC283 4-bit adder](74hc283.md) - Adds two 4-bit numbers and a carry.
* [74HC30 8-input NAND](74hc30.md) - One NAND gate with eight inputs.
* [74HC373 octal latch](74hc373.md) - Eight transparent latches with tri-state outputs.
* [74HC374 octal register](74hc374.md) - Eight D flip-flops with tri-state outputs.
* [74HC390 dual decade counter](74hc390.md) - Two divide-by-10 ripple counters.
* [74HC393 dual 4-bit counter](74hc393.md) - Two binary ripple counters, 0 to 15 each.
* [74HC4052 dual 4-channel mux](74hc4052.md) - Two 4-to-1 analog switches on one address.
* [74HC4053 triple 2-channel mux](74hc4053.md) - Three analog changeover switches.
* [74HC4066 quad analog switch](74hc4066.md) - Four on/off analog switches, each with its own enable.
* [74HC42 BCD to decimal decoder](74hc42.md) - A BCD digit pulls one of ten outputs low.
* [74HC573 octal latch](74hc573.md) - Eight transparent latches, inputs on one side and outputs on the other.
* [74HC574 octal register](74hc574.md) - Eight D flip-flops, inputs on one side and outputs on the other.
* [74HC597 shift register](74hc597.md) - Eight inputs sampled into a store, then shifted out.
* [74HC688 8-bit comparator](74hc688.md) - Low when two bytes are equal.
* [74HC7266 quad XNOR](74hc7266.md) - Four XNOR gates: high when the inputs agree.
* [74HC73 dual JK flip-flop](74hc73.md) - Two JK flip-flops with reset, clocked on the falling edge.
* [74HC76 dual JK flip-flop](74hc76.md) - Two JK flip-flops with set and reset, clocked on the falling edge.
* [74HC85 4-bit magnitude comparator](74hc85.md) - Says whether A is greater than, equal to or less than B.
* [74LS47 7-segment decoder](74ls47.md) - A BCD digit lights a common-anode display.
* [74LS83 4-bit adder](74ls83.md) - The 7483 adder, with its power on pins 5 and 12.
* [74LS90 decade counter](74ls90.md) - Divide by 2 and by 5: counts 0 to 9 in BCD.
* [74LS93 binary counter](74ls93.md) - Divide by 2 and by 8: counts 0 to 15.
* [CA3140 BiMOS op-amp](ca3140.md) - Single op-amp whose output reaches V-.
* [CD4001 quad NOR](cd4001.md) - Four NOR gates, 3 V to 18 V.
* [CD4002 dual 4-input NOR](cd4002.md) - Two NOR gates of four inputs.
* [CD40106 hex Schmitt inverter](cd40106.md) - Six Schmitt inverters: one R and one C make an oscillator.
* [CD4011 quad NAND](cd4011.md) - Four NAND gates, 3 V to 18 V.
* [CD4012 dual 4-input NAND](cd4012.md) - Two NAND gates of four inputs.
* [CD4013 dual D flip-flop](cd4013.md) - Two D flip-flops with set and reset.
* [CD4020 14-stage counter](cd4020.md) - Divides its clock by up to 16384.
* [CD4023 triple 3-input NAND](cd4023.md) - Three NAND gates of three inputs.
* [CD4024 7-stage counter](cd4024.md) - Divides its clock by up to 128.
* [CD4025 triple 3-input NOR](cd4025.md) - Three NOR gates of three inputs.
* [CD4026 counter with 7-segment outputs](cd4026.md) - Counts clock pulses and drives a common-cathode digit itself.
* [CD4027 dual JK flip-flop](cd4027.md) - Two JK flip-flops with set and reset, clocked on the rising edge.
* [CD4030 quad XOR](cd4030.md) - Four XOR gates, the older 4070.
* [CD4040 12-stage counter](cd4040.md) - Divides its clock by up to 4096, all twelve stages out.
* [CD4049 hex inverter buffer](cd4049.md) - Six inverters whose inputs may go above the supply.
* [CD4050 hex buffer](cd4050.md) - Six buffers whose inputs may go above the supply.
* [CD4060 counter with oscillator](cd4060.md) - An RC oscillator and a 14-stage divider in one chip.
* [CD4069 hex inverter](cd4069.md) - Six inverters, 3 V to 18 V.
* [CD4070 quad XOR](cd4070.md) - Four XOR gates, 3 V to 18 V.
* [CD4071 quad OR](cd4071.md) - Four OR gates, 3 V to 18 V.
* [CD4077 quad XNOR](cd4077.md) - Four XNOR gates, 3 V to 18 V.
* [CD4081 quad AND](cd4081.md) - Four AND gates, 3 V to 18 V.
* [CD4093 quad Schmitt NAND](cd4093.md) - Four NAND gates with hysteresis: oscillators and debouncers.
* [CD4543 7-segment LCD driver](cd4543.md) - A BCD digit, latched, on an LCD or either kind of LED display.
* [WCH CH32V003 (RISC-V, 16 KB)](ch32v003.md) - The cheapest RISC-V chip there is, 48 MHz with 16 KB of flash and 2 KB of RAM. Blink, Serial and a 10-bit ADC; no interrupts yet.
* [D flip-flop](dff.md) - One bit of memory: Q takes D on each rising clock edge. Feed Q̅ back to D and it divides the clock by two.
* [D flip-flop with set and reset](dffsr.md) - A D flip-flop with set and reset that beat the clock: S high makes Q 1, R high makes it 0.
* [LM311 comparator](lm311.md) - Fast comparator. COL pulls down to EMIT; STRB low forces it off.
* [LM339 quad comparator](lm339.md) - Quad comparator, open collector. Outputs on pins 1, 2, 13, 14.
* [LM393 dual comparator](lm393.md) - Dual comparator. Open collector: give each output a pull-up.
* [LM833 dual audio op-amp](lm833.md) - Dual 16 MHz audio op-amp for split supplies.
* [LMV358 dual rail-to-rail op-amp](lmv358.md) - LM358 pinout, 2.7 V to 5.5 V, rail to rail out.
* [MCP6002 dual rail-to-rail op-amp](mcp6002.md) - Dual rail-to-rail op-amp, 1.8 V to 6 V.
* [MCP6004 quad rail-to-rail op-amp](mcp6004.md) - Quad rail-to-rail op-amp, 1.8 V to 6 V.
* [2-to-1 multiplexer](mux2.md) - A two-way switch for logic: Y is A while SEL is low and B while SEL is high.
* [NE5532 dual audio op-amp](ne5532.md) - Dual audio op-amp for split supplies.
* [NE556 dual timer](ne556.md) - Two 555 timers in one DIP-14.
* [OP07 precision op-amp](op07.md) - Precision single op-amp.
* [OPA2134 dual audio op-amp](opa2134.md) - Dual FET-input audio op-amp for split supplies.
* [TL081 JFET op-amp](tl081.md) - Single JFET op-amp, the 741 pinout.
* [TL084 quad JFET op-amp](tl084.md) - Quad JFET op-amp, VCC+ on pin 4.
* [TLC555 CMOS timer](tlc555.md) - CMOS 555: from 2 V, output to both rails.
* [TPIC6B595 power shift register](tpic6b595.md) - A 595 whose outputs sink 150 mA each, up to 50 V.
* [ULN2003A Darlington array](uln2003a.md) - Seven 500 mA Darlington switches a pin turns on. COM catches a coil's kick.
* [ULN2003 stepper driver board](uln2003board.md) - The 28BYJ-48 driver board alone: IN1 to IN4 sink OUT1 to OUT4.
* [ULN2803A Darlington array](uln2803a.md) - Eight 500 mA Darlington switches in a DIP-18.

# Up

* [Mokxi knowledge bundle](../index.md) - Every section of this bundle.
