ESP32-C6 simulator, and a straight account of it
Mokxi models the ESP32-C6-DevKitC-1: the same RISC-V core as the C3 at 160 MHz, thirty-one GPIOs, 512 KB of SRAM in one window rather than two, UART0, the SYSTIMER, ADC1 and LEDC. It is a smaller model than the C3’s, and the contract says exactly where the edges are.
- 9peripheral areas modeled
- 5projects 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 listed underneath.
Not in the model
- The timer groups, RMT, the LP core and its peripherals, and the interrupt matrix.
- ADC2 and the SAR ADC’s DMA, filters and calibration; LEDC’s duty-fade hardware.
- A radio of any kind. There is no 802.11, no Bluetooth LE and no 802.15.4 in the model. WiFi is simulated instead (the Arduino API over a network of ours, with no real internet behind it), and every page that mentions it says so.
- Five base addresses (GPIO, IO_MUX, SYSTIMER, LEDC and the SAR ADC) are this model’s best account rather than something it can stand behind, and so are the matrix signal numbers LEDC uses. Section 7 of the contract names them.
Open one and press Run
Each of these opens in the editor exactly as it is drawn here.
Every built-in project on the ESP32-C6
Each has its own page with the circuit running, the code and a parts list.
Arduino libraries that compile as they are
Paste a tutorial that includes one of these and it builds: each is written for Mokxi, on its own drivers, under the name the tutorials use. For any other library the build names the Mokxi header that does the same job.
Questions
Is it free?
Yes. Every board and every part is on the free plan, with no account needed.
Does it simulate WiFi 6 or Thread?
Not Thread, and not WiFi 6, but the board does WiFi, simulated, and it says plainly that it is. Your sketch uses the real Arduino calls (WiFi.begin, WiFi.status, HTTPClient, WebServer), and joins a network, fetches a page and serves one. Underneath there is no radio, no 802.11 and no real internet: four made-up addresses under .mokxi exist and nothing a sketch does leaves this tab.
Can I use analogRead?
Yes, on GPIO 0 to GPIO 6, which are ADC1 channels 0 to 6. Twelve bits of the real net voltage, 0 to 4095 across the 3.3 V rail at the default attenuation. analogWrite works too, on any pin, out of the LEDC peripheral.
Will my firmware run on a real DevKitC-1?
The core and the UART will. Five base addresses in the model are believed rather than verified, and they are named in one header so you have a short list of #defines to check. Section 7 of the contract is the list.
The other boards
Every one of these runs today, and every one is free.
Looking for the shorter introduction? See the ESP32-C6 simulator page.
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.