Wemos D1 R32 simulator, an ESP32 on the Uno outline
The D1 R32 is a classic ESP32, of which one Xtensa LX6 core runs here, on the Arduino Uno’s outline with the Uno’s four headers. The holes carry the Uno’s names, but a sketch writes GPIO numbers: D2 is GPIO 26. Its blue LED is on GPIO 2, which is also A0, and WiFi joins a simulated network.
- 6peripheral areas modeled
- 1project 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
- One Xtensa LX6 core, the DevKit V1 model whole
- GPIO
- The Uno’s four headers, each hole named by its GPIO, with the Uno name beside it
- ADC1
- A2 to A5, which are GPIO 35, 34, 36 and 39
- The blue LED
- GPIO 2, lit when the pin is HIGH, as LED_BUILTIN
- Serial
- UART0, on D0 and D1, wired to the serial monitor
- WiFi, simulated
- WiFi.h over a network written in software: no radio, no 802.11, no real internet
Not modeled
- The second core, ADC2, the DAC and touch sensing. A0 and A1 are on ADC2, so analogRead on them reads 0 here.
- Bluetooth and a real radio.
- VIN, AREF and the board’s 5 V regulator: VIN and AREF are open, and the board runs from USB.
Open one and press Run
Each of these opens in the editor exactly as it is drawn here.
Every built-in project on the D1 R32
Each has its own page with the circuit running, the code and a parts list.
Tutorials that use this board
Each one ends in a running circuit, on this same board.
Questions
Is it free?
Yes. Every board and every part is on the free plan, with no account needed.
Why does digitalWrite(2, HIGH) not light the LED on D2?
Because the hole printed D2 is GPIO 26. Pin 2 in a sketch is GPIO 2, which is the blue LED and the A0 hole. Write 26 for D2, or D2, which the firmware defines as 26.
Will my 5 V Uno shield work?
It plugs in, but the board’s logic is 3.3 V, and IOREF says so. The ESP32’s pins are not 5 V tolerant, so a shield that drives its outputs to 5 V needs level shifting.
Why are the labels on my board different?
Some boards misprint two labels on the analog header: the white IO36 beside A2 is really GPIO 35, and IO38 beside A4 is really GPIO 36. The catalog uses the real GPIOs.
The other boards
Every one of these runs today, and every one is free.
A RISC-V chip at 160 MHz, on the real memory map.
The classic Arduino, with an ATmega328P running at 16 MHz.
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.
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.