DFRobot Beetle ESP32-C3

by DFRobot

Image of Board

Beetle ESP32-C3, mainly intended for IoT applications, is a controller based on ESP32-C3 RISC-V 32bit single-core processor.

On a coin-size board of 25*20.5 mm, there are up to 13 IO ports broken out, so you don’t have to worry about running out of IO ports when making projects. Meanwhile, li-ion battery charging management function is integrated on the board which allows to directly connect li-ion battery without extra modules, while ensuring the application size and safety.

The equipped expansion board for Beetle ESP32-C3 brings out more power sources without increasing product volume, more convenient to solder. Besides, the onboard easy-to-connect GDI saves the trouble of wiring when using a screen.

Interface pins

  • Digital I/O x13
  • LED PWM controller with 6 channels
  • SPI x1
  • UART x2
  • I2C x1
  • I2S x1
  • Infrared receiver and transmitter: transmit channel x2, receive channel x2, (any pin)
  • 2 × 12-bit SAR A/D converters, 6 channels
  • DMA controller, 3 receive channels and 3 transmit channels
  • USB Type-C: 5V
  • PIN10/LED: Onboard LED pin
  • ESP32-C3 module: the latest ESP32-C3 module launched by Espressif
  • RST: reset pin, short contact point trigger reset
  • TP4057: TP4057 lithium battery charge management chip
  • Charge: charging indicator
    • Off: not plugged in power supply or fully charged
    • On: charging
    • Blinking: battery not connected
  • 18Pin-FPC:GDI display interface

To Boot into Firmware Download Mode

Beetle ESP32 C3 Firmware Download

  1. Pull PIN 9 Down
  2. Place a jumper across RST and hold for 3 seconds
  3. Release RST and PIN 9
  4. Flash as normal per Espressif port instructions


Add any links to purchase the board


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

CircuitPython 8.0.0-beta.4

This is the latest unstable release of CircuitPython that will work with the DFRobot Beetle ESP32-C3.

Unstable builds have the latest features but are more likely to have critical bugs.

Release Notes for 8.0.0-beta.4

Built-in modules available: _asyncio, _bleio, adafruit_bus_device, adafruit_pixelbuf, aesio, analogio, array, atexit, audiocore, audiomixer, binascii, bitbangio, bitmaptools, board, builtins, busio, canio, collections, digitalio, displayio, dotenv, dualbank, errno, fontio, framebufferio, getpass, hashlib, i2ctarget, ipaddress, json, keypad, math, mdns, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, ps2io, pulseio, pwmio, rainbowio, random, re, rgbmatrix, rtc, sdcardio, select, sharpdisplay, socketpool, ssl, storage, struct, supervisor, synthio, sys, terminalio, time, touchio, traceback, ulab, vectorio, 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. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Past Releases

All previous releases are listed on GitHub, with release notes, and are available for download from Amazon S3. They are handy for testing, but otherwise we recommend using the latest stable release. Some older GitHub release pages include the same binaries for downloading. But we have discontinued including binaries as assets on newer release pages because of the large number of files for each release.