Seeed XIAO ESP32-C3 simulator, a RISC-V board the size of a thumbnail
The XIAO ESP32-C3 is the DevKitM-1’s RISC-V chip at 160 MHz on a board 21 by 17.5 mm with fourteen pads. Its D0 to D10 are the XIAO family’s numbers, not GPIOs, and a sketch uses them as they are. There is no user LED, 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
- RV32IMC at 160 MHz, the DevKitM-1 model whole
- GPIO
- The eleven D pads, with the XIAO’s names defined for your sketch
- ADC1
- A0 to A2, which are ADC1 channels 2 to 4
- LEDC
- PWM on any pad
- UART0
- Wired to the serial monitor
- WiFi, simulated
- WiFi.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
- ADC2, so A3, which is on it, reads 0.
- A user LED: the board has none, so there is no LED_BUILTIN.
- The battery charger, the USB stack and a real radio.
Open one and press Run
Each of these opens in the editor exactly as it is drawn here.
Every built-in project on the XIAO ESP32-C3
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. For any other library, the build names the Mokxi header that does the same job.
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.
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.
Is D0 GPIO 0?
No. D0 is GPIO 2, and D6 is GPIO 21. Use the D names in your sketch; they are defined for this board.
Why does Blink not compile?
Because the board has no user LED, so LED_BUILTIN is not defined. Wire an LED to a pad; the built-in Blink uses D10.
Will a DevKitM-1 program run on it?
Yes. It is the same chip and the same memory map. The pins it uses have to be ones this board brings out.
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.