ESP32-C3 RISC-V IoT processor with 2.4 WiFI and Bluetooth LE 5.0 was unveiled in December 2020, and Espressif Systems’ own ESP32-C3-DevKitM-1 board has been available in limited quantities as an “engineering sample”.
But now I’ve noticed third-party NodeMCU ESP32-C3 boards are being sold on Aliexpress for around $4 with ESP32-C3S_Kit and ESP-C3-01M-Kit both based on AI Thinker ESP32-C3 modules announced a few months ago.
NodeMCU ESP32-C3S_KIt
- Wireless module – AI Thinker ESP32-C3S (footprint compatible with ESP32-S / ESP32-WROOM-32D) with ESP32-C3 RISC-V processor @ 160 MHz, 2.4 GHz WiFi, Bluetooth 5.0 LE, 4MB flash, on-board PCB antenna, and IPEX connector (which may be soldered or not).
- USB – Micro USB port for power and programming via CH340C USB to TTL chip
- Expansion – 2x 15-pin headers with GPIO, SPI, UART, ADC, I2S, 3.3V, GND
- Misc – RGB LED, Reset key, user-programmable key
- Dimensions – 49 x 26 mm
ESP32-C3S_Kit is also called ESP-C3-32S-Kit with the datasheet available on AI Thinker website. You’ll find the board for $4.29 on Aliexpress, or the just module for around $2.50.
NodeMCU ESP-C3-01M-Kit
This board has pretty much the same features but in a more compact form factor, provided height does not matter, and fewer I/O pins.
ESP-C3-01M kit specifications:
- Wireless module – AI Thinker ESP-C3-01M (previously known as ESP32-C3M) compatible with ESP-01M, with ESP32-C3 RISC-V processor @ 160 MHz, 2.4 GHz WiFi, Bluetooth 5.0 LE, 4MB flash, and an on-board PCB antenna.
- USB – Micro USB port for power and programming via CH340C USB to TTL chip
- Expansion – 2x 10-pin headers with GPIO, UART, SPI, ADC, I2S, 3.3V, GND
- Misc – RGB LED, Reset key, user-programmable key
- Dimensions – Approx 30 x 26 mm
Note that one of the SPI interfaces is gone. Again, you’ll find the datasheet on AI Thinker website. The board is slightly cheaper at $3.55, but in my case shipping is more expensive.
Software support
None of the Aliexpress pages point to software resources for the NodeMCU ESP32-C3 boards. But AI Thinker documentation website has a dedicated section for ESP32-C3 modules and development boards. The company points to the ESP-IDF framework and offers a WeChat applet Bluetooth + WiFi dual control application demo together with source code. There’s no support for NodeMCU Lua firmware at this time.
The documentation also included datasheets for three more boards in a form factor similar to NodeMCU ESP32-C3S_KIt, but with other modules from the company:
- ESP-C3-12F_Kit with ESP-C3-12F module equipped with 2MB or 4MB flash, and IPEX antenna connector
- ESP-C3-13U_Kit with ESP-C3-13U module equipped with 2MB or 4MB flash, and IPEX antenna connector
- ESP-C3-13_Kit with ESP-C3-13 module equipped with 4MB flash, on-board antenna, and IPEX antenna connector
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
It really looks like a vastly improved 8266. I think I am interested in it for that reason alone.
I agree, the 12F looks great. Also, the use of 115200 bps by default will get rid of all the trouble caused by the horrible 74880 bps that plagues the 8266. And with 5 times the RAM, it could do a lot. It would be great to see Lua ported to it with that amount of resources available!
Also 400k SRAM? Here I did only read about Flash-Memory 🙁
Yes, but it’s inside the chip. 400KB SRAM along with 384KB ROM.
The flash memory is a separate chip and may vary between modules.
Well, RAM is not RAM. I investigate RAM in ESP32 and ESP32-C3 at the moment. One problem is memory fragmentation. In ESP32 the largest continous block of RAM is 108 KByte. Then you can allocate an additional 75 KByte block with malloc(). The ESP32 datasheet talks about 520 KByte RAM in the ESP32. I believe that, but still only say 200 KByte non-continous are available in the Arduino IDE environment. The ESP32-C3 number I will have in short time.
ESP32’s typically have two cores which helps with rf / userspace stability.
I absolutely applaud the new core and have just bought some but will be curious to see how we get on. Obviously the dual core parts are under way but it’s something to keep an eye on. Couldn’t see an Ultra Low Power processor in there either.
And I bought a couple. Was looking for the RISC-V ESP for a while. Finally it is available.
Hello everybody. I got a “ESP32-C3F-Kit” with a CH340 USB Bridge and a big problem: If I switch on seriell monitor, the Board stops. Using the PCB schematics from https://docs.ai-thinker.com/_media/esp32/docs/esp-c3-12f-kit-v1.0_specification.pdf I could see the problem: The CH340 RTS output is connected via 4.7k resistor to ESP 32 EN and CH340 DTR output is connected via 4.7k resistor to ESP 32 GPIO9. If you switch on seriell monitor, the CH340 outputs LOW at RTS and DTR and the ESP32-C3 is non-working because of LOW at EN. One workaround is to put a 2.2k resistors between EN and V3.3 and GPIO9 and… Read more »
I have a contact with AI Thinker. I’ve let them know your findings.
Hi,
Similar problem with the mini kit and I’m glad it might be hardware :
I didn’t try a work-around yet…
So I’d be very interested too by AI Thinker answer !
Regard
They are working on a fix for the next boards. I’m expecting some soon, and they will have the fix.
Another workaround is to connect a USB serial adapter to the tx rx pads on the module itself. By doing this you have always a serial console and flash via esptool over the onboard usb serial converter. For development this is nice. No more esptool fails because forgotten to disconnect Terminal program from Com port.
Hello everybody. I created my own benchmark program to compare ESP8266, ESP32 and ESP32-C3 multiply performance. As everybody knows, benchmarks lie. But still here are the results (Unit is million ops per second, compiled in Arduino IDE): ESP8266@160MHz mul_int32 = 31.93 mul_float = 0.90 mul_double = 0.88 ESP32-C3@160MHz mul_int32 = 18.72 mul_float = 0.67 mul_double = 0.68 ESP32@240MHz (one core): mul_int32 = 73.22 mul_float = 2.26 mul_double = 2.27 The ESP32-C3 is a poor performer. But the measured idle current (just have a delay(1000) in loop()) is 28.4mA for my DevKit, that is ESP32 module + CH340 + AM1117 +… Read more »
About ESP32-C3, Arduino IDE and RAM: I can reserve 190 KByte static (uint8_t sbuf[190 * 1024];) and another 112 KByte with mallo() for a non-continous usable RAM of 302 KByte. This number is much closer to the “400 KByte RAM” from the datasheet as in the ESP32 case (520 KByte datasheet, 230 KByte real life). I call this improvement and I hope that the ESP32-S2 and specially ESP32-S3 have even more continous usable RAM. Go Espressif, go!
Hello everybody, there was a bug in my multiply benchmark about float performance. These are the corrected results for Arduino IDE:
Unit is million ops per second
Idle is current for delay(1000) in loop()
ESP8266@160MHz, 141mA idle:
mul_int32 = 31.93
mul_float = 1.70
mul_double = 0.88
ESP32-C3@160MHz, 28.4mA idle:
mul_int32 = 18.72
mul_float = 1.18
mul_double = 0.68
ESP32@240MHz, 47.2mA idle:
mul_int32 = 73.19
mul_float = 73.17
mul_double = 2.27
Now we can see that ESP32 has float hardware FPU – as advertised by Espressif.
I can’t find the ESP-C3-13U or ESP-C3-13U_Kit in PlatformIO. Am I missing something obvious?