Arduino Uno simulator, wired to a real breadboard
Mokxi models an Arduino Uno R3 down to the ATmega328P. Three timers in every waveform mode, USART0, the ADC, external and pin-change interrupts, sleep, EEPROM and the self-programming instruction. It runs at 16 MHz and at real time, next to a breadboard that behaves like one.
- 6peripheral areas modeled
- 581projects ready to run
- Real timeon your own machine
What is modeled
Taken from the board's own contract document and put in plain words, with what is missing beside it.
Modeled
- Core
- Every ATmega328P mnemonic with datasheet cycle counts
- Timers
- Three, in every waveform mode, including hardware PWM
- USART0
- Wired to the serial monitor, paced at the baud rate you set
- ADC
- On the analog pins, with the reference options
- Interrupts
- External and pin-change, with the real vector table
- Sleep and EEPROM
- Both, so an idle sketch costs almost nothing to simulate
Not modeled
- Shields, as physical parts. Wire the same circuit on the breadboard instead.
- The Arduino IDE library ecosystem. The runtime here is ours and Arduino-shaped, not the Arduino core.
Open one and press Run
Each of these opens in the editor exactly as it is drawn here.
Every built-in project on the Arduino Uno
Each has its own page with the circuit running, the code and a parts list.
- First blinkBeginner
- Arduino Uno blinkBeginner
- MetronomeBeginner
- Night lightBeginner
- Light thereminBeginner
- Door alarmBeginner
- LED bar chaserIntermediate
- Sink chaserIntermediate
- Level lightBeginner
- Touch lampBeginner
- Traffic lightIntermediate
- Reaction timerIntermediate
- Reaction duelIntermediate
- Electronic diceIntermediate
- Joystick bar graphIntermediate
- Arcade leverBeginner
- Lit buttonBeginner
- LED and keyIntermediate
- Matrix ballIntermediate
- OLED on an UnoIntermediate
- Thermometer on an I2C LCDIntermediate
- Weather stationIntermediate
- Air quality monitorIntermediate
- Six MQ gas sensors on A0 to A5Beginner
- Alcohol, hydrogen, ozone and ammonia on A0 to A3Beginner
- Analog kit modules on A0 to A3Beginner
- KY comparator boards and an IR switchBeginner
- KY switch modules on pins 2 to 6Beginner
- Color sorterIntermediate
- Analog boardIntermediate
- Tilt levelIntermediate
- Dusk switchBeginner
- NTC thermometerBeginner
- Mux knobsIntermediate
- Mux eightIntermediate
- BarometerIntermediate
- Laser rulerBeginner
- Pulse oximeterIntermediate
- Lie detector, science fair styleIntermediate
- Swipe lampIntermediate
- JukeboxIntermediate
- Phone dialBeginner
- Two handsIntermediate
- Shelf labelIntermediate
- Cap touchIntermediate
- ScoreboardIntermediate
- Round watch faceIntermediate
- E-paper name badgeIntermediate
- Thermometers on one wireIntermediate
- Solar trackerAdvanced
- Clock and memoryIntermediate
- More pinsIntermediate
- Clap switchBeginner
- Kitchen scaleIntermediate
- Plant monitorIntermediate
- Desk clockIntermediate
- Tilt meterIntermediate
- Remote-controlled lampsIntermediate
- Bluetooth lampIntermediate
- Bluetooth chatBeginner
- HC-06 Bluetooth chatBeginner
- Send an SMSBeginner
- Receive an SMSBeginner
- GPS positionBeginner
- RFID doorIntermediate
- Radio doorbellAdvanced
- LoRa messengerAdvanced
- NFC entry and exitAdvanced
- RS-485 linkIntermediate
- RS-232 loopbackIntermediate
- DAC sine waveIntermediate
- Digital pot LED dimmerIntermediate
- Temperature and light on one I2C busBeginner
- Motor both waysIntermediate
- Robot car driveIntermediate
- Obstacle-avoiding carIntermediate
- Bumper carIntermediate
- Robot arm with joysticksIntermediate
- Pick and place arm on a PCA9685Advanced
- Arduino quadruped robotAdvanced
- Robot arm inverse kinematicsAdvanced
- Robot arm record and playbackAdvanced
- RC plane elevon and V-tail mixerIntermediate
- MPU6050 servo stabilizerAdvanced
- Wireless robot arm with nRF24L01Advanced
- Fire fighting robotAdvanced
- Sumo robotIntermediate
- Maze-solving robotIntermediate
- Light-seeking robotBeginner
- Infrared remote roverIntermediate
- Wheel-encoder square driverAdvanced
- Scanning obstacle roverIntermediate
- Hexapod robotAdvanced
- Robot vacuum behaviorsIntermediate
- Hand gesture controlled carAdvanced
- Ultrasonic water tank level monitorIntermediate
- Bidirectional visitor counterIntermediate
- Smart blind stickIntermediate
- Automatic pet feederIntermediate
- MAX7219 scrolling text displayBeginner
- Temperature data logger with an SD cardIntermediate
- Kalman filter tilt angle with an MPU6050Intermediate
- GPS speedometer with a trip odometerIntermediate
- Automatic curtain opener with a stepper motorIntermediate
- I2C keypad door lock with an LCDIntermediate
- Indoor and outdoor thermometer on two OLEDsIntermediate
- LoRa weather station with acknowledgmentsAdvanced
- nRF24L01 sensor network with RF24NetworkAdvanced
- Solar battery monitor with an INA3221Intermediate
- Home energy monitor with EmonLibIntermediate
- Stepper turntableIntermediate
- TB6612 robot driveIntermediate
- MX1508 two-motor driveBeginner
- DRV8871 motor driverBeginner
- IBT-2 BTS7960 big motor driverIntermediate
- TMC2209 stepper driverIntermediate
- 8-channel relay boardBeginner
- TB6600 stepper driverIntermediate
- Brushless motor on an ESCIntermediate
- Linear actuator out and backBeginner
- PC fan speed and tachometerIntermediate
- Workbench lightIntermediate
- Motion alarm sirenBeginner
- Touch climate displayIntermediate
- Lux night lampBeginner
- Dosing pumpIntermediate
- Aquarium air pump and doserBeginner
- Line-following cartIntermediate
- Pocket gaussmeterBeginner
- Motor current meterBeginner
- Lamp power meterBeginner
- DC voltmeterBeginner
- Soil moisture meterBeginner
- Water pressure gaugeBeginner
- Pitot airspeed meterIntermediate
- Aquarium water monitorIntermediate
- UV index meterBeginner
- Wind and rain stationIntermediate
- Sump alarmBeginner
- Bench supply monitorAdvanced
- Delta-T monitorAdvanced
- HVAC thermostatAdvanced
- Sump pump controllerIntermediate
- Leak detector with shutoff valveIntermediate
- Voltage drop calculatorIntermediate
- GFCI concept demo (not a real GFCI)Intermediate
- Generator transfer switchAdvanced
- Panel load monitorIntermediate
- Motor starterAdvanced
- Pressure tank monitorAdvanced
- Water heater thermostatAdvanced
- Four-way switch logicIntermediate
- Geiger counterBeginner
- Reject stationIntermediate
- Line OEE dashboardIntermediate
- Merge jamAdvanced
- ASRS pickerAdvanced
- Light curtainIntermediate
- PLC ladderAdvanced
- Pick and placeAdvanced
- Batch mixerIntermediate
- Packaging lineIntermediate
- Bottling lineIntermediate
- Secret knock lockIntermediate
- Touchless soap dispenserBeginner
- Heat, magnet and wheelBeginner
- Steppers on A4988 and DRV8825Intermediate
- Music boxIntermediate
- Relay boardIntermediate
- Opto pressIntermediate
- Lamp inrushIntermediate
- Radar lightBeginner
- ThermocoupleBeginner
- Nine axesIntermediate
- Hiking compassIntermediate
- Energy meterIntermediate
- PZEM-004T energy monitorIntermediate
- PMS5003 dust monitorIntermediate
- AC voltmeterBeginner
- Two railsIntermediate
- Kiln and bath probesIntermediate
- Kitchen airIntermediate
- Height meterIntermediate
- CO2 monitorIntermediate
- IR decoderBeginner
- Solenoid tapIntermediate
- Electromagnet hold and dropIntermediate
- Solid-state relay on 24 V ACIntermediate
- Peltier cooler with a MOSFET moduleIntermediate
- Power moduleBeginner
- Relays reverse a motorIntermediate
- Stepper dial on the analyzerIntermediate
- Pong consoleAdvanced
- OLED pongAdvanced
- Pocket petAdvanced
- SnakeAdvanced
- Factory 1: Mining drillIntermediate
- Factory 2: BeltsIntermediate
- Factory 3: Robot armIntermediate
- Factory 4: SmelterIntermediate
- Factory 5: AssemblerAdvanced
- Factory 6: Splitter and mergerAdvanced
- Factory 7: Power gridAdvanced
- Factory 8: Logistics robotAdvanced
- Factory 9: Production dashboardAdvanced
- Factory 10: Build your ownAdvanced
- Snake on two matricesAdvanced
- Orbit simulatorAdvanced
- Tilt sandAdvanced
- Moon phase clockAdvanced
- Lunar LanderAdvanced
- Game of LifeAdvanced
- Drum machineIntermediate
- ADSR synthIntermediate
- ArpeggiatorIntermediate
- Tap-tempo metronomeIntermediate
- TunerIntermediate
- LooperIntermediate
- Ringtone playerIntermediate
- Grid sequencerAdvanced
- Waveform labIntermediate
- Claw machine controllerAdvanced
- Arcade claw machineAdvanced
- Vending machineAdvanced
- Slot machineAdvanced
- Laser swordAdvanced
- Arc reactor and faceplateIntermediate
- Rhythm gameAdvanced
- 4x4x4 LED cubeAdvanced
- Balance botAdvanced
- Number guessIntermediate
- CalculatorAdvanced
- Digital pianoBeginner
- Whack-a-moleIntermediate
- Pomodoro timerBeginner
- Automatic plant watererIntermediate
- Word gameAdvanced
- Twenty by fourIntermediate
- Three small screensAdvanced
- Two color screensAdvanced
- Touch paintIntermediate
- Level meterIntermediate
- Four-digit counterAdvanced
- RGB color mixerBeginner
- Rotary encoderBeginner
- Fog machine triggerBeginner
- Grabbing candy bowlBeginner
- Jump-scare boxIntermediate
- Talking skullIntermediate
- Haunted windowIntermediate
- Tree topper starBeginner
- Sleigh-bell doorbellBeginner
- Christmas countdownIntermediate
- Christmas light showAdvanced
- Rocket flight computerAdvanced
- Mars roverAdvanced
- Satellite trackerAdvanced
- New Year's countdownIntermediate
- New Year's ball dropBeginner
- Car washIntermediate
- Washing machineIntermediate
- XY pen plotterIntermediate
- Coin pusherIntermediate
- Ticket redemption counterIntermediate
- Elevator controllerAdvanced
- Gumball machineIntermediate
- Lunar New Year lanternBeginner
- Red envelope boxBeginner
- Lion dance headIntermediate
- Light-up Valentine heartBeginner
- Love meterBeginner
- Send a heartbeatAdvanced
- Pi digits on an LCDIntermediate
- Buffon's needleIntermediate
- Rainbow to the pot of goldBeginner
- Pot-of-gold treasure boxIntermediate
- Holi color mixerBeginner
- Holi color catcherIntermediate
- Crescent and star lanternBeginner
- Eid greeting cardBeginner
- Egg hunt finderBeginner
- Hatching chickBeginner
- Lights-out reminderBeginner
- Message display giftBeginner
- Kind words night lightBeginner
- LED fireworksIntermediate
- LED sparklerBeginner
- Ofrenda candlesBeginner
- Marigold pathBeginner
- Diwali diya rowBeginner
- Rangoli lightsIntermediate
- Hanukkah menorahBeginner
- Dreidel spinnerBeginner
- Kwanzaa kinaraBeginner
- CrosswalkBeginner
- Cat laser toyBeginner
- Temperature-controlled fanBeginner
- LM358 dark switch with an ArduinoIntermediate
- ULN2003A solenoid from an ArduinoBeginner
- ULN2003 board stepping its LEDsBeginner
- LM311 zero-cross detector into an ArduinoIntermediate
- Mini pump plant watererBeginner
- Piggy bankIntermediate
- Heartbeat monitorIntermediate
- ECG heart monitor plotBeginner
- Tilt mazeIntermediate
- Water meterBeginner
- Parking barrierIntermediate
- Distance rainbowBeginner
- Touch pianoBeginner
- Fever thermometerBeginner
- Thermal cameraIntermediate
- Alarm clockIntermediate
- Fingerprint door lockIntermediate
- Fortune printerBeginner
- Police lights and sirenBeginner
- Arcade button Simon gameIntermediate
- Dino game on an I2C LCDIntermediate
- Ultrasonic radarIntermediate
- Smart dustbinBeginner
- RFID attendance systemAdvanced
- Flappy Bird on an OLEDIntermediate
- Space Invaders on an OLEDAdvanced
- Gas leak detector with an MQ-2Beginner
- Breathalyzer with an MQ-3Intermediate
- Battery level indicatorBeginner
- Battery and alternator monitorIntermediate
- EGT gauge with peak hold and alarmIntermediate
- OBD-II style gauge clusterIntermediate
- Engine tachometer with shift lightIntermediate
- CAN bus dash readerAdvanced
- Boost and oil pressure gaugeIntermediate
- Fuel level gaugeIntermediate
- Turn signals and hazard flasherIntermediate
- Wheel speed and odometerIntermediate
- Tire pressure check stationIntermediate
- Engine hour meterIntermediate
- Torque angle meterIntermediate
- Object counter with an E18-D80NKBeginner
- 12 V lamp dimmer with a MOSFET moduleBeginner
- Power an Arduino Uno from 12 V with an LM2596Beginner
- Bluetooth RC car with an HC-05Intermediate
- Joystick robot car with an L298NIntermediate
- IBT-2 motor speed control with a knobIntermediate
- Stepper speed control with a TMC2209 and a knobIntermediate
- IR remote control relay moduleBeginner
- Bluetooth home automation with relaysBeginner
- PIR motion light with a relayBeginner
- Water level controller with float switchesIntermediate
- Defuse the doomsday deviceIntermediate
- Zombie tripwireIntermediate
- Bunker battery gaugeIntermediate
- Morse code telegraph decoderIntermediate
- Bunker airlock interlockIntermediate
- Find the emergency broadcastIntermediate
- Rescue beaconBeginner
- Two-digit counterIntermediate
- Three-digit voltmeterIntermediate
- Heart on a bare 8x8 matrixAdvanced
- Red, green and orange on a bicolor matrixAdvanced
- LCD keypad shield buttonsBeginner
- Two motors on an L293D motor shieldIntermediate
- Adafruit Motor Shield v2, two motorsIntermediate
- Two steppers on a CNC shieldIntermediate
- 12 V RGB strip color fadeIntermediate
- Two AC lamps on an SSR boardIntermediate
- 16-channel relay board chaserBeginner
- Deep-sea dive computerAdvanced
- Sonar depth and fish finderIntermediate
- SeismographAdvanced
- Bop-It reaction gameAdvanced
- DimmerBeginner
- Night light with a light sensorBeginner
- ThermometerIntermediate
- Parking sensorIntermediate
- D-pad pongAdvanced
- Tilt alarmBeginner
- Servo faderBeginner
- Big servoBeginner
- Motor on a transistorIntermediate
- Keypad lockAdvanced
- Fade an LEDBeginner
- Button and LEDBeginner
- Read a knobBeginner
- Piezo melodyBeginner
- Starship control panelBeginner
- Warm-hands meterBeginner
- Color-mixing lampBeginner
- Mood dialBeginner
- Four-key keyboardBeginner
- Tilt hourglassBeginner
- Motor pinwheelBeginner
- Spinning zoetropeIntermediate
- Answer ballBeginner
- Active buzzerBeginner
- Tilt switchBeginner
- Servo sweepBeginner
- DHT11 temperature and humidityBeginner
- LCD1602 helloBeginner
- Thermistor thermometerIntermediate
- Photocell light meterIntermediate
- Countdown digitIntermediate
- Relay switches a motorIntermediate
- Remote stepperIntermediate
- PIR motion lightBeginner
- Water level sensorBeginner
- Real-time clockBeginner
- Knob stepperIntermediate
- Servo turnouts with a panelIntermediate
- Level crossingIntermediate
- Block signalsAdvanced
- DC throttle with momentumIntermediate
- Stepper homingIntermediate
- Heated bed PIDAdvanced
- Mini G-code plotterAdvanced
- Filament runout sensorIntermediate
- Two Arduino Unos talking over serialIntermediate
- Two Arduino Unos as an SPI master and slaveAdvanced
- An LED on the 5 V pinBeginner
- RGB fade on pins 6, 5 and 3Beginner
- Two buttons, one LEDBeginner
- Passive buzzer on pin 8Beginner
- Ultrasonic distance on pins 12 and 11Beginner
- Joystick on A0, A1 and pin 2Beginner
- LCD1602 on pins 7 to 12Beginner
- Thermistor thermometer on an LCD (pins 7 to 12)Intermediate
- Eight LEDs on a 74HC595 (pins 12, 9 and 11)Intermediate
- Serial monitor drives eight LEDs (74HC595)Intermediate
- Photocell bar graph on a 74HC595Intermediate
- One-digit countdown on a 74HC595 (pins 2, 4 and 3)Intermediate
- Four-digit display on a 74HC595 (pins 8, 10 and 9)Intermediate
- DC motor on an L293D (pins 5, 3 and 4)Intermediate
- Relay switched by an L293D (pins 5, 3 and 4)Intermediate
- Stepper motor on pins 8 to 11Beginner
- Membrane keypad on pins 9 to 2Beginner
- MAX7219 8x8 matrix (pins 12, 10 and 11)Beginner
- MPU-6050 readings over I2CBeginner
- Sound sensor on A0 and pin 3Beginner
- RC522 RFID reader (SS 10, RST 9)Beginner
- EEPROM: memory that survives a resetBeginner
- Countdown timer on a four-digit displayAdvanced
- Tilt dice on an 8x8 matrixIntermediate
- Ultrasonic ranging on an LCDIntermediate
- Remote control light switch (IR on 12, servo on 11)Beginner
- Motion night light (PIR on 12, RGB on 5, 6 and 9)Beginner
- Tilt snake on an 8x8 matrixIntermediate
- Memory math game on an LCD and an IR remoteIntermediate
- Catch the beans: a tilt game on an 8x8 matrixIntermediate
- Alarm clock with a timer on a four-digit displayAdvanced
- RFID time clock with an LCD and a DS1307Advanced
- Knock lock on the book’s pinsIntermediate
- Touch lamp, LED on pin 12Beginner
- Blink an LED on pin 9Beginner
- Flowing lights on pins 2 to 9Beginner
- Button on pin 12 lights the LED on pin 13Beginner
- Doorbell: button on pin 2, buzzer on pin 8Beginner
- Relay on pin 8 through a transistorBeginner
- RGB colors on pins 11, 10 and 9Beginner
- Knob on A0 dims the LED on pin 9Beginner
- Light meter: photoresistor on A0, LEDs on pins 5 to 12Beginner
- LCD1602 on pins 4, 6 and 10 to 13Beginner
- Thermistor on A0, degrees on an LCD (pins 4, 6, 10 to 13)Intermediate
- Ultrasonic distance on an LCD (TRIG 2, ECHO 3)Intermediate
- IR receiver on pin 2Beginner
- DHT11 on pin 3, readings on an LCDIntermediate
- Joystick on A0, A1 and pin 8Beginner
- Seven-segment digit on pins 4 to 11Beginner
- Hex digits through a 74HC595 (pins 11, 8 and 12)Intermediate
- Stepper follows a knob (pins 2 to 5)Intermediate
- Stopwatch on a four-digit displayAdvanced
- Quiz buzzer for three playersIntermediate
- Three-speed fan on an L293D (pins 9 and 10)Intermediate
- Digital dice on a 74HC595 (pins 11, 8 and 12)Intermediate
- An LED on 5 V, with a multimeter on itBeginner
- Series and parallel LEDs on 5 VBeginner
- Blink an LED on pin 3Beginner
- Traffic lights on pins 3, 4 and 5Beginner
- Traffic lights with a crossing button on pin 8Beginner
- Morse code on an active buzzer (pin 9)Beginner
- Siren on a passive buzzer (pin 9)Beginner
- Joystick lights the way (LEDs on 8 to 11)Beginner
- Dinosaur game player: light sensor on A0, servo on 9Beginner
- Warm or cool light: a knob blends an RGB LEDBeginner
- Summer fan: four buttons and an L293D (pins 9 and 10)Intermediate
- I2C LCD1602: find its address, then say helloBeginner
- On and off desk lamp: button on 7, relay on 2Beginner
- Smart trash can: ultrasonic on 8 and 7, servo lid on 9Intermediate
- Automatic soap dispenser: ultrasonic on 8 and 7, pump on 2Intermediate
- Temperature alarm: thermistor on A0, RGB on 10, 11 and 12Intermediate
- Remote-controlled colors: IR on pin 2, RGB on 11, 10 and 9Intermediate
- Twinkle, Twinkle, Little Star on a passive buzzer (pin 9)Beginner
- Pomodoro timer on an active buzzer (pin 9)Beginner
- Reversing radar: ultrasonic, buzzer and I2C LCDIntermediate
- Cyber dice: seven-segment on pins 2 to 8, button on 9Intermediate
- Flowing light on a 74HC595 (pins 11, 8 and 12)Intermediate
- Type a digit: serial to a 74HC595 display (pins 11, 8 and 12)Intermediate
- Plant monitor: light, soil, temperature and a pumpAdvanced
- Radar sweep: ultrasonic on 10 and 11, servo on 12Intermediate
- Guess the number: IR remote and an I2C LCDIntermediate
- Stopwatch: four-digit display, digits on 10 to 13Advanced
- RFID reader with an I2C LCDIntermediate
- Access control: RFID card opens a stepper doorAdvanced
- A push button lights an LED, no codeBeginner
- Blink an LED on pin 13, once a secondBeginner
- Two LEDs take turns on pins 4 and 5Beginner
- LED bar graph on pins 3 to 12Beginner
- Four brightnesses from PWM: pins 5, 6, 9 and 10Beginner
- Breathing LED on pin 5Beginner
- Push button on pin 12 lights the LED on pin 9Beginner
- Push button on pin 12 toggles the LED on pin 9Beginner
- Serial echo: the board repeats what you typeBeginner
- Set the LED on pin 11 from the serial monitorBeginner
- Photoresistor night light: A0 dims the LED on pin 9Beginner
- Three knobs mix an RGB LED (pins 11, 10 and 9)Beginner
- Random colors on an RGB LED (pins 11, 10 and 9)Beginner
- Transistor doorbell: button on 12, buzzer on 9Beginner
- Passive buzzer alarm on pin 9, through a transistorBeginner
- Relay switches a motor: button on 12, relay on 9Intermediate
- A knob drives a motor both ways through an L293DIntermediate
- Servo sweep on pin 3Beginner
- A knob on A0 points the servo on pin 3Beginner
- Thermometer: a thermistor on A0Beginner
- I2C LCD clock and thermometerIntermediate
- A light runs along eight LEDs on a 74HC595 (pins 11, 12 and 13)Intermediate
- A smile and scrolling digits on an 8x8 matrix (74HC595 rows, pins 2 to 9 columns)Advanced
- Falling rain on eight LEDs (74HC595, pins 11, 12 and 13)Intermediate
- Hex digits on a common-anode display (74HC595, pins 11, 12, 13)Intermediate
- Four digits from one 74HC595 (pins 11, 12, 13 and 7 to 4)Advanced
- Keypad on pins 11 to 4Beginner
- Combination lock: keypad, servo bolt and buzzerIntermediate
- Vibration alarm: a spring switch on pin 3, a buzzer on 13Beginner
- IR remote codes on pin 12Beginner
- Remote dimmer: IR on 12, LED on 5, buzzer on 13Intermediate
- DHT11 temperature and humidity on pin 10Beginner
- Motion sensor on pin 12 lights the LED on 13Beginner
- A button doorbell with a lamp, no codeBeginner
- LED module on pin 7, blinkingBeginner
- 3 W power LED on pin 13Beginner
- RGB LED module: red 11, blue 10, green 9Beginner
- Analog temperature module on A0Beginner
- Photocell module on A0Beginner
- Analog sound module on A0Beginner
- Analog rotation sensor on A0Beginner
- Passive buzzer module on pin 3Beginner
- Active buzzer module on pin 3Beginner
- Button module on pin 3 lights the LED on 13Beginner
- Tilt switch on pin 3 lights the LED on 13Beginner
- Photo interrupter on pin 3 lights the LED on 13Beginner
- Touch sensor on pin 2 lights the LED on 13Beginner
- Knock sensor on pin 3 lights the LED on 13Beginner
- Hall sensor on pin 3 lights the LED on 13Beginner
- Line tracking sensor on pin 3Beginner
- Obstacle sensor on pin 3 lights the LED on 13Beginner
- Motion sensor on pin 3 lights the LED on 13Beginner
- Flame sensor on pin 2 lights the LED on 13Beginner
- Vibration sensor on pin 3, read by an interruptBeginner
- Gas sensor module on A0Beginner
- Alcohol sensor on A0Beginner
- IR receiver module on pin 11Beginner
- Rotary encoder on pins 2, 3 and 4, LEDs on 5 and 6Intermediate
- LM35 temperature sensor on A0Beginner
- DS18B20 temperature sensor on pin 2Beginner
- ADXL345 accelerometer on I2CIntermediate
- DHT11 module on pin 4Beginner
- Ambient light sensor on A0Beginner
- Ultrasonic sensor on 8 and 7, the LED on 13 when out of rangeBeginner
- Joystick module: A0, A1 and pin 3Beginner
- DS3231 real-time clock on I2CBeginner
- Relay module on pin 8Beginner
- Steam sensor on A0Beginner
- Servo sweep on pin 10Beginner
- Blink an LED on pin 8Beginner
- RGB LED on pins 3, 5 and 6Beginner
- Passive buzzer scale on pin 12Beginner
- Eight LEDs on a 74HC595 (pins 2, 5 and 4)Intermediate
- Photoresistor bar graph on a 74HC595 (pins 9, 12 and 11)Intermediate
- One-digit countdown on a 74HC595 (pins 8, 10 and 9)Intermediate
- Tilt switch on A5 lights the LED on pin 8Beginner
- DHT11 on A0, read with no libraryIntermediate
- Remote stepper, a whole turn a pressIntermediate
- LCD1602 in 8-bit mode on pins 2 to 12Intermediate
Parts wired to the Arduino Uno, step by step
Each page has the wiring with the Arduino Uno’s own pin names, the code, the common mistakes and the circuit running.
- Arduino Uno DHT22
- Arduino Uno SSD1306 OLED
- Arduino Uno I2C LCD
- Arduino Uno Servo
- Arduino Uno HC-SR04
- Arduino Uno NeoPixel
- Arduino Uno Button
- Arduino Uno Potentiometer
- Arduino Uno Buzzer
- Arduino Uno Relay
- Arduino Uno PIR Sensor
- Arduino Uno MPU6050
- Arduino Uno BMP280
- Arduino Uno DS18B20
- Arduino Uno IR Receiver
- Arduino Uno Keypad
- Arduino Uno TM1637 Display
- Arduino Uno 28BYJ-48 Stepper
- Arduino Uno RC522 RFID
- Arduino Uno LDR
- Arduino Uno BME280
- Arduino Uno Joystick
- Arduino Uno 7-Segment Display
- Arduino Uno DS3231 RTC
Arduino libraries that compile as they are
Paste a tutorial that includes one of these and it builds. For any other library, the build names the Mokxi header that does the same job.
And 15 more, 23 in all: OneWire.h and DallasTemperature.h; Adafruit_BME280.h, Adafruit_BMP280.h and SparkFunBME280.h; RTClib.h; Adafruit_SHT31.h; Adafruit_PCF8591.h; Adafruit_ADXL345_U.h; LedControl.h; Adafruit_LEDBackpack.h; Adafruit_TCS34725.h; Adafruit_SGP30.h; Adafruit_INA219.h; Adafruit_ADS1X15.h; Adafruit_MCP23X17.h; Bounce2.h; HX711.h.
Tutorials that use this board
Each one ends in a running circuit, on this same board.
- The Arduino Uno pinout: every pin and its ATmega328P pin
- Blink an LED with Arduino: wiring and the resistor
- Arduino button debounce: watch the bounce, then fix it
- Arduino blink without delay: two LEDs, two rates
- Arduino PWM fade: analogWrite, pins and the curve
- Wire a servo to an Arduino and move it with a knob
- An HC-SR04 ultrasonic sensor, measured in centimeters
- A 16x2 LCD on I2C, with four wires
- A 16x2 LCD on six pins, without I2C
- An SSD1306 OLED display, 128x64 on I2C
- Temperature and humidity with a DHT22 or DHT11
- A NeoPixel (WS2812B) rainbow with Adafruit_NeoPixel
- A 4x4 keypad code lock with a relay
- A relay module: active LOW and the startup click
- An MPU6050 accelerometer, read as tilt
- A 28BYJ-48 stepper on a ULN2003
- Play a song on a piezo with tone()
- A TM1637 4-digit display: a countdown timer
- A line follower robot with five sensors
- A DFPlayer Mini playing MP3s from a card
- The serial monitor, plotter and logic analyzer
- I2C explained: addresses, pull-ups and a scanner
- SPI explained: clock, data and chip select
- Interrupts vs polling, counted side by side
- A state machine: a reaction game in four states
- Two Unos in one simulation, talking over serial
- Two Unos as an SPI master and slave
- An ESP32 and an Uno, wired together
- An NPN transistor switch, with real currents
- A whack-a-mole game with a score display
- Snake on two 8x8 LED matrices
Questions
Which Uno?
The R3.
Why is the Uno beside the breadboard rather than in it?
Its headers are two inches apart, so it will not push into one. A real Uno is wired with jumpers, and so is this one.
Does my sketch compile here?
Yes, on your own machine. The compiling page in the docs says how.
Is it free?
Yes, all of it.
The other boards
Every one of these runs today, and every one is free.
Looking for the shorter introduction? See the Arduino simulator page.
A RISC-V chip at 160 MHz, on the real memory map.
The Uno’s chip on a small board that fits a breadboard.
The big Arduino, with 54 digital pins and four serial ports.
An Uno-shaped board whose chip does its own USB serial.
A second RISC-V board, with 31 pins and simulated WiFi.
The classic ESP32 at 240 MHz, with simulated WiFi.
The ESP32-S3 at 240 MHz, with USB serial and an RGB LED.
The NodeMCU’s ESP8266 at 80 MHz, with simulated WiFi.
Try it on your own firmware
What you build here runs on the board on your desk, unchanged. Nothing to install and no account needed.