ESP32-C3-DevKitM-1-N4

by Espressif

Image of Board

The ESP32-C3-DevKitM-1 is an entry-level RISC V development board equipped with the ESP32-C3-MINI-1-N4, a powerful, generic Wi-Fi + Bluetooth LE MCU module that features a rich set of peripherals, yet an optimized size. It’s an ideal choice for a wide variety of application scenarios related to the Internet of Things (IoT), such as embedded systems, smart homes, wearable electronics, etc. ESP32-C3-DevKitM-1 comes with a PCB antenna. This version is equipped with the ESP32-C3-MINI-1-N4 with 4MB SPI Flash and no PSRAM.

Please note: The C3 is similar to the ESP32 - but uses RISC V as a core, not Tensilica, and has Bluetooth LE (not classic!) However, there is minimal support for this dev board. For example, as of the time of this writing, there is no CircuitPython support - only Arduino and ESP IDF! Please purchase if you’re doing development with the C3, and recognize that it’s a different core than the classic ESP32s most folks have used.

Most of the I/O pins on the module are broken out to the pin headers on both sides of this board for easy interfacing. Developers can either connect peripherals with jumper wires or mount ESP32-C3-DevKitM-1 on a breadboard.

At the core of the module is ESP32-C3, which has a 32-bit RISC-V single-core processor. The ESP32-C3 integrates a rich set of peripherals, ranging from UART, I2C, I2S, remote control peripheral, LED PWM controller, general DMA controller, TWAI controller, USB Serial/JTAG controller, temperature sensor, and ADC. It also includes SPI, Dual SPI, and Quad SPI interfaces.

There are three mutually exclusive ways to provide power to the board:

  • Micro-USB Port, default power supply
  • 5V and GND pin headers
  • 3V3 and GND pin headers

It is recommended to use the first option: Micro-USB Port.

Components:

  • ESP32-C3-MINI-1-N4: ESP32-C3-MINI-1-N4 from Espressif is a powerful and general-purpose RISC V module that offers Wi-Fi and Bluetooth LE coexistence. It has a PCB antenna and 4 MB SPI flash.
  • 5V to 3.3V LDO: Power regulator that converts a 5V supply into a 3.3V output.
  • 5V Power On LED: Turns on when the USB power is connected to the board.
  • Pin Headers: All available GPIO pins (except for the SPI bus for flash) are broken out to the pin headers on the board for easy interfacing and programming. For details, please see Header Block.
  • Micro-USB Port: USB interface. Power supply for the board as well as the communication interface between a computer and the ESP32-C3 chip.
  • Boot Button: Download button. Holding down Boot and then pressing Reset initiates Firmware Download mode for downloading firmware through the serial port.
  • Reset Button: Press this button to restart the system.
  • USB-to-UART Bridge: Single USB-to-UART bridge chip provides transfer rates up to 3 Mbps.
  • RGB LED: Addressable RGB LED, driven by GPIO8.

Purchase

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 9.0.4

This is the latest stable release of CircuitPython that will work with the ESP32-C3-DevKitM-1-N4.

Use this release if you are new to CircuitPython.

Release Notes for 9.0.4

DOWNLOAD .BIN NOW

Built-in modules available: _asyncio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, analogbufio, analogio, array, atexit, binascii, bitbangio, bitmaptools, board, builtins, builtins.pow3, busdisplay, busio, busio.SPI, busio.UART, canio, codeop, collections, digitalio, displayio, dualbank, epaperdisplay, errno, espidf, espnow, fontio, fourwire, framebufferio, getpass, gifio, hashlib, i2cdisplaybus, io, ipaddress, jpegio, json, keypad, keypad.KeyMatrix, keypad.Keys, keypad.ShiftRegisterKeys, locale, math, mdns, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, os.getenv, ps2io, pulseio, pwmio, rainbowio, random, re, rgbmatrix, rtc, sdcardio, select, sharpdisplay, socketpool, ssl, storage, struct, supervisor, sys, terminalio, time, touchio, traceback, ulab, vectorio, warnings, watchdog, wifi, zlib

CircuitPython 9.1.0-beta.1

This is the latest development release of CircuitPython that will work with the ESP32-C3-DevKitM-1-N4.

Alpha development releases are early releases. They are unfinished, are likely to have bugs, and the features they provide may change. Beta releases may have some bugs and unfinished features, but should be suitable for many uses. A Release Candidate (rc) release is considered done and will become the next stable release, assuming no further issues are found.

Please try alpha, beta, and rc releases if you are able. Your testing is invaluable: it helps us uncover and find issues quickly.

Release Notes for 9.1.0-beta.1

DOWNLOAD .BIN NOW

Built-in modules available: _asyncio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, analogbufio, analogio, array, atexit, audiobusio, audiocore, audiomixer, binascii, bitbangio, bitmaptools, board, builtins, builtins.pow3, busdisplay, busio, busio.SPI, busio.UART, canio, codeop, collections, digitalio, displayio, dualbank, epaperdisplay, errno, espidf, espnow, fontio, fourwire, framebufferio, getpass, gifio, hashlib, i2cdisplaybus, io, ipaddress, jpegio, json, keypad, keypad.KeyMatrix, keypad.Keys, keypad.ShiftRegisterKeys, keypad_demux, keypad_demux.DemuxKeyMatrix, locale, math, mdns, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, os.getenv, ps2io, pulseio, pwmio, rainbowio, random, re, rgbmatrix, rtc, sdcardio, select, sharpdisplay, socketpool, ssl, storage, struct, supervisor, synthio, sys, terminalio, time, touchio, traceback, ulab, vectorio, warnings, watchdog, wifi, zlib

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. These releases are even newer than the development release listed above. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Previous Versions of CircuitPython

All previous releases of CircuitPython are available for download from Amazon S3 through the button below. For very old releases, look in the OLD/ folder for each board. Release notes for each release are available at GitHub button below.

Older releases are useful for testing if you something appears to be broken in a newer release but used to work, or if you have older code that depends on features only available in an older release. Otherwise we recommend using the latest stable release.