Arduino simulator
An Arduino Uno and a Nano on the bench, programmed in C++ in the lab's editor, with the parts an Arduino meets in real projects: LEDs and resistors, buttons, potentiometers, LCDs, servos, stepper and DC motor drivers, sensors, relays and shift registers. The circuit is solved electrically while the code runs, so the lessons can show what a floating input does, why a motor needs a driver and a flyback diode, and what a 5 V pin can and cannot source.

Open the labFree, in your browser, no account needed. Part of a free electronics simulator with 293 parts, 193 lessons and 66 builds.
What you can do
- Start from the first blink and work up to the course's projects with guided builds and test sheets.
- Measure the circuit with the multimeter and the oscilloscope while the sketch runs.
- Import a Wokwi diagram, or export the netlist to SPICE.
Lessons (9)
Shift register (74HC164)
A shift register is a row of D flip-flops sharing one clock, each feeding the next. Every clock edge moves the stored…
PWM actuator: hobby servo
A hobby servo is position-controlled by pulse width, not duty cycle: every 20 ms it expects a pulse between 0.5 ms…
16×2 I²C LCD
Show text and numbers on a character LCD over I²C. Here a 12 V adapter feeds an HW-688 for 5 V, the ESP32 reads a pot…
ULN2003 driver array for a stepper
An ESP32 pin can give about 20 mA at 3.3 V; a stepper phase wants 100 mA at 5 V. The ULN2003 has seven Darlington…
Arduino Uno: upload your first sketch
An Arduino is a computer on a chip with pins you can switch. It comes with Blink already loaded, so the L LED flashes…
Powering an Arduino: USB, VIN and the regulator
On USB the board runs from the computer’s 5 V (through a 500 mA fuse on the Uno). On VIN or the barrel jack, the…
Arduino Nano on a breadboard: a servo sweep
The Nano is an Uno shrunk to 45 × 18 mm, with the same ATmega328P. The Servo library makes 50 Hz pulses on any pin…
Reading a button: floating inputs and INPUT_PULLUP
A pin set to INPUT with nothing driving it floats: it picks up hum from the room and reads random HIGHs and LOWs…
analogRead and PWM: a pot dims an LED
analogRead turns 0–5 V into a number from 0 to 1023 (10 bits). analogWrite cannot make a real voltage: it switches the…
Parts (31)
Arduino Uno R3 (ATmega328P)
Arduino Uno R3 · ATmega328P 16 MHz, 5 V logic · 32 KB flash (0.5 KB bootloader), 2 KB SRAM, 1 KB…
Arduino Nano (ATmega328P, FT232RL)
Arduino Nano · ATmega328P 16 MHz, 5 V logic · 32 KB flash (2 KB bootloader), 2 KB SRAM, 1 KB…
ESP32 DevKit (ESP32-WROOM-32, AMS1117)
ESP32-WROOM-32 DevKit V1 · 30 pins · 3.3 V logic · VIN 5 V through AMS1117
ESP32-S3 DevKitC-1 (ESP32-S3-WROOM-1, ESP32-S3-WROOM-1-N8R8, SGM2212)
ESP32-S3-DevKitC-1 v1.1 · ESP32-S3-WROOM-1-N8R8 (8 MB flash, 8 MB octal PSRAM) · dual-core 240 MHz…
Raspberry Pi Pico 2 (RP2350A, RT6154A, RP2350)
Raspberry Pi Pico 2 · RP2350A dual Cortex-M33 (or Hazard3 RISC-V) at 150 MHz · 520 KB SRAM · 4 MB…
LILYGO T-SIM A7670E R2 (ESP32-WROVER-E, ESP32)
LILYGO T-SIM A7670E R2 · ESP32-WROVER-E (240 MHz, 4 MB flash, 8 MB PSRAM, Wi-Fi + BLE) · SIMCom…
Orange Pi One
Orange Pi One · Allwinner H3 quad Cortex-A7 1.2 GHz, Mali-400 MP2 · 512 MB DDR3 · boots from…
Coin acceptor
Multi-coin acceptor · DC 12 V ±10 % · 80 mA idle, 250 mA accepting · open-collector COIN output…
Coin slot (₱5 only)
Single-coin validator taught the ₱5 · DC 12 V ±10 % · 80 mA idle, 250 mA accepting ·…
I2C LCD (HD44780, PCF8574)
HD44780 16×2 character LCD · PCF8574 I2C backpack at 0x27 · 5 V · white on blue
MAX7219 8-digit display
MAX7219 LED driver with eight 7-segment digits · SPI write-only: DIN, CLK, CS (load) · 5 V · send…
ILI9341 2.8" TFT (SPI) (MSP2807, MSP2806, XPT2046)
2.8" TFT LCD module, ILI9341 controller, 240 × 320, 65K colours, 4-wire SPI · VCC 3.3–5 V (662K…
1.69" IPS TFT (ST7789) (ST7789V2)
1.69" IPS LCD module, ST7789V2 controller, 240 × 280, 65K colours, 4-wire SPI (write only) · VCC…
OLED display (I²C) (SSD1306, SH1106)
0.96" 128×64, white · SSD1306 · I²C 0x3C
MPU-6050 IMU (GY-521)
GY-521 breakout · 3-axis accelerometer ±2 g and gyro ±250 °/s · I²C at 0x68 · 3.3–5 V, pull-ups on…
BME280 environment sensor
BME280 breakout · temperature ±1 °C, humidity ±3 %, pressure ±1 hPa · I²C at 0x76 · 3.3 V · now 29…
Hobby servo (SG90)
SG90 micro servo · 4.8–6 V · 50 Hz pulses: 0.5 ms = 0°, 1.5 ms = 90°, 2.5 ms = 180° · ~10 mA…
GPS module
u-blox NEO-6M on a GY-NEO6MV2 board · VCC 3–5 V (3.3 V LDO), 3.3 V UART · Open sky · NMEA at 9600…
4G LTE module
SIMCom A7670 LTE Cat-1 board · VIN 5–12 V · UART 3.3 V at 115200 · SIM inserted
MAX485 RS-485 module (MAX485CSA, MAX3485)
MAX485 half-duplex RS-485 transceiver module · 5 V part (works at 3.3 V on the bench, out of spec…
microSD card module (AMS1117, 74LVC125A, FAT32)
Micro SD Card Adapter (AMS1117 + 74LVC125A, 5 V) · 16 GB microSDHC (FAT32)
DS3231 RTC module (ZS-042) (DS3231SN, AT24C32)
DS3231SN real-time clock, ±2 ppm TCXO · AT24C32 EEPROM · CR2032 (3 V lithium, NOT rechargeable)
L298N motor driver
L298N dual H-bridge module · 5–35 V motor supply · 2 A per channel (bipolar Darlington outputs…
DRV8833 motor driver
DRV8833 dual H-bridge breakout · 2.7–10.8 V · 1.5 A per channel (MOSFETs, about 0.36 Ω per side) ·…
INA219 current sensor
INA219 breakout · 0.1 Ω shunt between VIN+ and VIN− in the high side · measures shunt voltage…
ACS712 Hall current sensor (ACS712ELC, ACS712ELC-5A)
ACS712ELC-5A breakout · Hall-effect, isolated from the load path (1.2 mΩ) · OUT = V_CC/2 + 185 mV…
HX711 load-cell ADC
HX711 breakout · 24-bit ADC with a gain-128 bridge amplifier · supplies the bridge excitation (E+…
PAM8403 class-D amp
PAM8403 stereo class-D amplifier board · 2.5–5.5 V · 2 × 3 W into 4 Ω · gain 24 dB (× 16…
Relay module (SRD-05VDC)
1-channel relay board · 5 V coil (SRD-5VDC) with transistor, flyback diode and indicator LED ·…
nRF52832 BLE module
Ebyte E73 (nRF52832) · Bluetooth LE · 1.7–3.6 V · 1.9 µA asleep with the RTC, low-power comparator…
E-paper display 1.54" (SSD1681)
1.54-inch e-paper module (SSD1681) · 200 × 200 · SPI · 3.3 V · draws about 5 mA for 2 s while it…
Calculators
Ohm’s law calculator
Volts, amps, ohms and watts from any two
LED resistor calculator
The series resistor for one LED or a string
Voltage divider calculator
Vout from two resistors, or the resistor for a wanted Vout
Also on the lab
Solar PV simulator · Battery and BMS simulator · ESP32 simulator · Breadboard simulator · House wiring simulator · PCB layout and perfboard · Brownout backup · Piso Wi-Fi on solar · Questions answered · Compared with other simulators