BysMax

Wokwi: Free Online Arduino & ESP32 Simulator — Complete Guide 2025

14 min

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

  1. Go to wokwi.com
  2. Click New Project
  3. 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

FeatureWokwiTinkercadProteus
CostFreeFreePaid ($)
InstallationNone (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

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);
}

Open in Wokwi →

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-GUEST network 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

ShortcutAction
Ctrl+EnterRun simulation
Ctrl+Shift+EnterStop simulation
+Add component
DelDelete selected
Ctrl+ZUndo
Ctrl+DDuplicate
ScrollZoom 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

  1. Test before you build: Run your code in Wokwi first. If it works there, it's almost guaranteed to work on real hardware.
  2. Share links, not code files: Include a Wokwi link when posting to forums or homework submissions.
  3. Use the serial monitor: Serial.print() is your best debugging tool. Wokwi's serial monitor is instant and scrollable.
  4. Fork existing projects: Search "Wokwi examples" on GitHub — thousands of ready-to-fork circuits.
  5. 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.

Comentarios (0) /pt/blog/wokwi-arduino-simulator