Simulator

ESP8266 simulator, running in this tab

Mokxi is a free ESP8266 simulator that runs in your browser, with nothing to install and no account needed. Mokxi models the NodeMCU V1.0: an ESP-12E with its Xtensa LX106 at 80 MHz, the GPIO block, the RTC pin that is D0, UART0 and the ten-bit ADC behind the board’s divider. No radio and no PWM hardware, because the chip has neither. The WiFi here is simulated and says so. Wire the circuit, press Run.

  • 505parts on the bench
  • 45boards running now
  • 1.00xreal time, on every board
NodeMCU: blinklive0.000 s 0.00x
Click to open it in the editor
Real firmware, running right now on our own core. Click it to open the circuit in the editor.
What is modeled

The numbers, not the marketing

Taken from the board's own contract document and put in plain words.

The coreXtensa LX106 in the call0 ABI (sixteen registers and no window), one instruction per cycle at 80 MHz.
D0 to D8 are not GPIO numbersD4 is GPIO 2, D2 is GPIO 4, D3 is GPIO 0, D0 is GPIO 16. Both on-board LEDs are active low. The model keeps every one of those, because the board does.
What is not thereNo radio in any form, no flash or filesystem, no hardware timers and no PWM peripheral. analogWrite is software, 0 to 1023, and costs the core two wake-ups a period, exactly as on the real part. WiFi is simulated: the Arduino API over a network of ours, with no 802.11 behind it, and real internet when you sign in and switch it on.
Go further

The full board page

Every peripheral area, every example and the wiring notes, in one place.

ESP8266 NodeMCU simulatorBlink, a button and the serial monitor, running.
Guides

Step-by-step guides for the NodeMCU

Each one has the parts, the wiring and the code, and ends in a circuit you can run.

How it works

Three steps from a blank tab to a running circuit.

  1. Open the editor

    It runs in your browser tab. Nothing to install, and you need no account to start.

    Your first project
  2. Wire it and write the code

    Drag parts onto a breadboard, run each wire from pin to pin, and write the sketch beside it.

    Wiring
  3. Press Run

    Your sketch compiles in the tab and runs on a model of the chip, with the Serial Monitor beside it.

    Run and serial
Reviews

What makers say about Mokxi.

“The AI checker helps check and correct my circuits, and it has way more components than Tinkercad. As a student I really appreciate the tool.”

ChloeEngineering student

“I’d been looking for a real online electronic simulator that was intuitive and complete when I found Mokxi. I was able to quickly import a Fritzing file and my Arduino sketch and start testing. Mokxi has all of the makings for the best online Arduino simulator I have been able to find!”

JayModel builderFeatured in his DioramaOS post

“I’m using Mokxi to develop and simulate an STM32-based four-wheel-drive robot car before building the actual hardware. It allows me to experiment with DC motor control, PWM, RPM measurement using photointerrupters, and different acceleration, braking, and reversing strategies, helping me understand and refine the system before implementing it in real life.”

NusretRobot car builder, Hamburg

Share your story

FAQ

Questions, answered.

Is it free?

Yes, with no card and no account needed to try it.

Does it do WiFi?

Simulated WiFi, yes, and it says so. Your sketch uses the real Arduino calls and the board joins, fetches and serves. There is no radio and no 802.11 under it, and on a chip whose reason to exist is the radio, that is said first rather than last. Signed in, you can switch on real internet.

Which ESP8266 boards can I simulate?

Three, on the same chip: the NodeMCU V1.0 above, the Wemos D1 mini and the ESP-01S. Each has a board page and a pinout page with its pins in GPIO numbers.

Why is digitalWrite(2, HIGH) not D2?

Because D4 is GPIO 2 on this board. The silkscreen names are not GPIO numbers, and the runtime defines D0 to D8 so you can write the name you are looking at.

Can I compile my own sketch?

Yes. Edit the sketch and press Run: it compiles in the tab with clang for Xtensa, and the build panel shows every step. Nothing is uploaded.

Is analogRead accurate?

The pin is: ten bits of the real voltage, behind the NodeMCU’s own 220k/100k divider, so the header reads to about 3.2 V. The registers behind it are this model’s own, because Espressif never published the chip’s, which makes analogRead the one call here you would have to change for real hardware, and the contract says so.

Simulators for one kind of circuit

A servo, a display, a motor driver or a rectifier, each already running.

Try your own firmware on the NodeMCU

What you build here runs on the board on your desk, unchanged. Nothing to install and no account needed.