Wokwi: Free Online Arduino & ESP32 Simulator — Complete Guide 2025
Wokwi is a free, browser-based electronics simulator that lets you build and test Arduino, ESP32, and Raspberry Pi Pico circuits — no hardware required. Used by students, engineers, and educators worldwide.
Quick answer: Go to wokwi.com, create a new project, pick your board, add components, write code, and hit Run. Your circuit simulates in real time, in your browser.
What is Wokwi?
Wokwi is an online circuit simulator built specifically for microcontrollers. Unlike Tinkercad or Proteus, Wokwi runs entirely in the browser with no installation, no account required for basic use, and no cost.
Supported boards:
- Arduino Uno, Nano, Mega, Leonardo, Pro Mini
- ESP32, ESP32-S2, ESP32-S3, ESP32-C3
- Raspberry Pi Pico (MicroPython and C/C++)
- STM32, ATtiny, and more
Key Features
Real-Time Simulation
Wokwi simulates your circuit as it actually runs. If your code toggles a GPIO pin at 1 kHz, the LED in the simulator blinks at 1 kHz. Serial output appears in the real-time monitor.
Component Library
Over 100 components including:
- Passive: resistors, capacitors, inductors, potentiometers
- Output: LEDs, 7-segment displays, LCD 16x2, TFT screens, buzzers, servo motors, DC motors
- Input: buttons, joysticks, distance sensors (HC-SR04), DHT11/22, PIR, IR remote
- Communication: I2C OLED, SPI displays, NeoPixel strips
WiFi and MQTT Simulation (ESP32)
On ESP32 projects, Wokwi simulates WiFi connectivity. You can connect to a virtual broker and test MQTT communication without physical internet access.
Logic Analyzer
Built-in oscilloscope/logic analyzer. Pin a signal, click Play, and inspect timing — useful for debugging I2C, SPI, UART protocols.
Arduino Libraries Support
Wokwi supports hundreds of Arduino libraries. Install them the same way as in Arduino IDE. Popular ones work out of the box: DHT sensor library, FastLED, Servo, Wire, LiquidCrystal.
VS Code Extension
Wokwi has a VS Code extension that lets you simulate your PlatformIO or Arduino CLI project directly from your editor.
How to Use Wokwi — Step by Step
Step 1: Create a Project
- Go to wokwi.com
- Click New Project
- Select your board (Arduino Uno, ESP32, Pico, etc.)
Step 2: Add Components
- Click the + button in the diagram panel
- Search for your component (LED, sensor, display)
- Drag it onto the canvas
- Connect pins by clicking on a pin and dragging to another
Step 3: Write Your Code
The code editor opens automatically. Write standard Arduino code — same syntax as Arduino IDE.
// Blink example — works identically in Wokwi and on real hardware
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Step 4: Run the Simulation
Click the Play button (▶). The simulation starts instantly. Open the Serial Monitor to see output.
Step 5: Debug
- Use
Serial.print()to output debug data - Pause the simulation to inspect component states
- Use the logic analyzer to capture pin timing
Wokwi vs Tinkercad vs Proteus
| Feature | Wokwi | Tinkercad | Proteus |
|---|---|---|---|
| Cost | Free | Free | Paid ($) |
| Installation | None (browser) | None (browser) | Windows app |
| Arduino support | ✅ Full | ✅ Limited | ✅ Full |
| ESP32 support | ✅ Yes | ❌ No | ⚠️ Partial |
| WiFi simulation | ✅ Yes | ❌ No | ❌ No |
| Library support | ✅ Hundreds | ⚠️ Limited | ✅ Many |
| Logic analyzer | ✅ Built-in | ❌ No | ✅ Yes |
| Offline use | ⚠️ VS Code ext | ❌ No | ✅ Yes |
| Real-time speed | ✅ Real speed | ⚠️ Slow | ✅ Real speed |
When to use Wokwi: Prototyping, testing libraries, learning, sharing circuits with others.
When to use Proteus: Complex PCB simulation, analog circuits, school assignments that require Proteus specifically.
Practical Examples on Wokwi
Blink an LED (Arduino Uno)
Basic circuit: LED + 220Ω resistor on pin 13.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
DHT11 Temperature Sensor (Arduino)
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float temp = dht.readTemperature();
float humidity = dht.readHumidity();
Serial.print("Temp: ");
Serial.print(temp);
Serial.print("°C Humidity: ");
Serial.println(humidity);
delay(2000);
}
ESP32 WiFi Connection
#include <WiFi.h>
const char* ssid = "Wokwi-GUEST"; // Wokwi's virtual WiFi
const char* password = "";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected! IP: " + WiFi.localIP().toString());
}
void loop() {}
On Wokwi, connect to
Wokwi-GUESTnetwork with no password. It simulates real internet access.
Sharing Projects
Every Wokwi project gets a unique URL. Share it and anyone can open, view, and fork your circuit. No login required to view.
This makes Wokwi ideal for:
- Sharing homework solutions
- Asking for help on forums (include the Wokwi link)
- Code examples in blog posts and tutorials
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+Enter | Run simulation |
Ctrl+Shift+Enter | Stop simulation |
+ | Add component |
Del | Delete selected |
Ctrl+Z | Undo |
Ctrl+D | Duplicate |
Scroll | Zoom in/out |
Limitations
- Analog simulation: Wokwi is primarily digital. Op-amp and analog filter behavior may not be fully accurate.
- Timing precision: For tight real-time applications (>100 kHz), real hardware is needed.
- Proprietary libraries: Some closed-source Arduino libraries won't load.
- Offline use: Requires internet except through VS Code extension.
Tips for Students and Educators
- Test before you build: Run your code in Wokwi first. If it works there, it's almost guaranteed to work on real hardware.
- Share links, not code files: Include a Wokwi link when posting to forums or homework submissions.
- Use the serial monitor:
Serial.print()is your best debugging tool. Wokwi's serial monitor is instant and scrollable. - Fork existing projects: Search "Wokwi examples" on GitHub — thousands of ready-to-fork circuits.
- Embed in docs: Wokwi projects can be embedded in Notion, GitHub README, or any website.
Frequently Asked Questions (FAQ)
Is Wokwi completely free? Yes. Basic features are free with no account required. A Wokwi Club subscription ($) exists for private projects and additional features, but everything you need to simulate circuits is free.
Does Wokwi work without an account? Yes. You can simulate, write code, and even share projects without creating an account. An account is only needed to save projects long-term.
How accurate is Wokwi's simulation? Very accurate for digital logic and most sensors. The Arduino core runs the same compiled binary as real hardware. WiFi and serial communication are faithfully simulated. Analog circuit accuracy has some limitations.
Can I use Wokwi to simulate ESP32 with WiFi? Yes. Connect to the Wokwi-GUEST network in your code (no password). Wokwi simulates internet access and even allows MQTT connections.
Does Wokwi work on mobile? Yes, but the experience is better on desktop due to the drag-and-drop interface. The code editor and simulation run fine on tablets.
What is "wowki"? It's a common misspelling of Wokwi. The correct name is Wokwi (wokwi.com).
Can I simulate an Arduino Nano on Wokwi? Yes. Wokwi supports Arduino Uno, Nano, Mega, Mega 2560, Leonardo, Pro Mini, and more. The pin layout matches the real board.
Related Tools
- Ohm's Law Calculator — Calculate resistor values for your circuit
- Resistor Color Code Calculator — Identify resistor values
- Logic Gates Reference — Digital logic fundamentals
- ESP32 vs Arduino Guide — Choose the right board