Board

ESP32-C3 simulator, on the real memory map

Mokxi models the ESP32-C3-DevKitM-1. A RISC-V core at 160 MHz, with GPIO, IO_MUX, UART0, the SYSTIMER and ADC1 at their real addresses. Firmware runs at real time here; test the finished build on the physical board too.

Start building free
  • 7peripheral areas modeled
  • 42projects ready to run
  • Real timeon your own machine
ESP32-C3-DevKitM-1: blinklive0.000 s 0.00x
Click to open it in the editor
The board is running real firmware right now. Click it to open the circuit in the editor.
The model

What is modeled

Taken from the board's own contract document and put in plain words, with what is missing beside it.

Modeled

Core
RV32IMC with Zicsr, machine mode, one instruction per cycle at 160 MHz
GPIO and IO_MUX
Real register offsets, input enable on every pad at reset
UART0
Paced at the configured baud rate, wired to the serial monitor
SYSTIMER
Alarms, which park the core during delay() rather than spinning on it
ADC1
One-shot conversions on GPIO 0 to 4: twelve bits, with the four attenuations
Memory map
The real one for everything above, so a build is not Mokxi-specific
WiFi, simulated
WiFi.h, HTTPClient.h and WebServer.h over a network written in software: no radio, no 802.11, and real internet only when you sign in and switch it on

Not modeled

  • A radio of any kind. There is no 802.11 and no Bluetooth radio in the model. WiFi and Bluetooth are simulated instead (the Arduino API over a network of ours which reaches the real internet only when you sign in and switch it on, and a phone in the editor’s Bluetooth pane), and every page that mentions them says so.
  • ADC2, the ADC's DMA and digital controller, and the eFuse calibration curve. ADC1 one-shot is the path analogRead takes.
  • Other outlines on this page: the XIAO ESP32-C3 and the SuperMini are the same chip and have pages of their own.
  • Vendor ESP-IDF binaries. The firmware runtime here is ours.
Start here

Open one and press Run

Each of these opens in the editor exactly as it is drawn here.

Libraries

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.

Servo.h
attach, write, writeMicroseconds, read, detach, on any pin
Wire.h
I2C as a master; Wire.begin() puts it on GPIO 8 (SDA) and GPIO 9 (SCL)
SPI.h
transfer and transactions, on the board’s usual SPI pins
EEPROM.h
read, write, update, get, put and EEPROM[i], kept in 4 KB of RAM, which a reset clears: this board has no EEPROM to write
LiquidCrystal_I2C.h
the 16x2 LCD behind its I2C backpack
Adafruit_GFX.h and Adafruit_SSD1306.h
the 128x64 I2C OLED: text, pixels, lines, rectangles, circles, triangles and bitmaps
Adafruit_NeoPixel.h
WS2812 strips and panels
ESP32Servo.h
the ESP32 spelling of Servo.h

And 16 more, 24 in all: DHT.h; 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.

Questions

Is it free?

Yes. Every board and every part is on the free plan, with no account needed.

Does it simulate WiFi?

Yes, and it says plainly that it is simulated. Your sketch uses the real Arduino calls (WiFi.begin, WiFi.status, HTTPClient, WebServer), and the board joins a network, fetches a page and serves one. Underneath there is no radio and no 802.11. Four made-up addresses under .mokxi answer inside this tab. Signed in, you can switch on Real internet in the Cloud panel, and HTTP and HTTPS requests to real hosts go out through Mokxi’s gateway.

Will my firmware run on a real board?

Firmware for the modeled peripherals targets the DevKitM-1 register offsets. Test the finished build on the physical board before relying on it.

Do I need an account?

Only to save projects to the cloud and share them by link.

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.