board dev studio

Verified 2026-10

dfrobot FireBeetle 2 ESP32-C6 IoT Development Board for Smart Home Control System

25.4 x 60 mm ESP32-C6FH4 board with Wi-Fi 6, Bluetooth 5, Zigbee 3.0 and Thread 1.3, a CN3165 solar charger, Li-ion charging and level sensing, USB-C, a GDI display connector and 32 header holes carrying 19 GPIO on 3.3 V logic - $6.90 USD.

Place this board on a carrier in the editor →

Logic level3.3 V

Part & documents

Data sheetData sheet →
Sourcewww.dfrobot.com/product-2771.html →

Specs

MCUEspressif ESP32-C6FH4 (single-core 32-bit RISC-V at 160 MHz, 512 KB SRAM, 320 KB ROM, 16 KB RTC SRAM, 4 MB flash, Wi-Fi 6 802.11ax 2.4 GHz, Bluetooth 5 LE, IEEE 802.15.4 for Thread 1.3 and Zigbee 3.0)
Clock160 MHz
Flash4 MB
RAM512 KB

Pinout

32 pads, as the vendor numbers them.

#NameFunctionSignals
1RSTLeft row pad 1: RST, the reset button's line, silkscreen RSTreset input
23V3Left row pad 2: 3V3, the board's regulated 3.3 V output (from the DC-DC converter on v1.1 boards, an LDO on v1.0)3.3 V rail, regulated output
3NCLeft row pad 3: NC, a plated hole with no connection, kept for footprint compatibility with the FireBeetle 2 familynot connected
4GNDLeft row pad 4: GNDground
5NCLeft row pad 5: NC, no connectionnot connected
623Left row pad 6: GPIO23, the hardware SPI clock (SCK) and SDIO DAT3, printed 23GPIO23, SPI SCK, SDIO DAT3
722Left row pad 7: GPIO22, SPI MOSI and SDIO DAT2, printed 22GPIO22, SPI MOSI, SDIO DAT2
821Left row pad 8: GPIO21, SPI MISO and SDIO DAT1, printed 21GPIO21, SPI MISO, SDIO DAT1
920Left row pad 9: GPIO20, the I2C clock and SDIO DAT0, printed 20 - the same net as the SCL pad on the right rowGPIO20, I2C SCL, SDIO DAT0
1019Left row pad 10: GPIO19, the I2C data line and SDIO CLK, printed 19 - the same net as the SDA pad on the right rowGPIO19, I2C SDA, SDIO CLK
119Left row pad 11: GPIO9, which the BOOT button pulls low at reset, printed 9GPIO9, BOOT button
1218Left row pad 12: GPIO18, SDIO CMD and SD_CS on the GDI connector, printed 18GPIO18, SDIO CMD, SD card chip select in the GDI pin map
131Left row pad 13: GPIO1, ADC1 channel 1, and LCD_CS on the GDI connector, printed 1GPIO1, ADC1_1, LCD chip select in the GDI pin map
14NCLeft row pad 14: NC, no connectionnot connected
1514Left row pad 15: GPIO14, printed 14 - the GDI display interface uses it as LCD_RSTGPIO14, LCD reset in the GDI pin map
168Left row pad 16: GPIO8, printed 8 - the GDI display interface uses it as LCD_DCGPIO8, LCD data/command in the GDI pin map
1716Left row pad 17: GPIO16, a UART transmit line, printed 16GPIO16, UART TX
1817Left row pad 18: GPIO17, a UART receive line, printed 17GPIO17, UART RX
19VINRight row pad 1: VIN, 5 V DC in from the Type-C port or a 5 V solar panel through the CN3165 charger5 V input, solar panel input
203V3Right row pad 2: 3V3, the same regulated output as the left row's 3V3 pad3.3 V rail
21GNDRight row pad 3: GNDground
22SCLRight row pad 4: SCL, the same GPIO20 net as left row pad 9, repeated next to 3V3 and GND so a Gravity/Qwiic cable can land on four adjacent padsI2C clock
23SDARight row pad 5: SDA, the same GPIO19 net as left row pad 10I2C data
245Right row pad 6: GPIO5, Arduino A4, the low-power UART transmit and JTAG MTDI, printed 5GPIO5, Arduino A4, LP_UART TX, ADC1_5, JTAG MTDI
254Right row pad 7: GPIO4, Arduino A3, the low-power UART receive and JTAG MTMS, printed 4GPIO4, Arduino A3, LP_UART RX, ADC1_4, JTAG MTMS
263Right row pad 8: GPIO3, Arduino A2 and ADC1 channel 3, printed 3GPIO3, Arduino A2, ADC1_3
272Right row pad 9: GPIO2, Arduino A1 and ADC1 channel 2, printed 2GPIO2, Arduino A1, ADC1_2
28NCRight row pad 10: NC, no connectionnot connected
2915Right row pad 11: GPIO15, the on-board LED's pin - also broken out as LCD_BL on the GDI connector - printed 15GPIO15, on-board LED, LCD backlight in the GDI pin map
306Right row pad 12: GPIO6, the low-power I2C data line, ADC1 channel 6 and JTAG MTCK, printed 6GPIO6, LP_I2C SDA, ADC1_6, JTAG MTCK
317Right row pad 13: GPIO7, the low-power I2C clock and JTAG MTDO, printed 7. DFRobot's two documents disagree on its Arduino alias - the pin diagram calls it D11, the GDI table D1 - so only the GPIO number is recorded hereGPIO7, LP_I2C SCL, JTAG MTDO
32NCRight row pad 14: NC, no connectionnot connected

Buses

BusSignalsPinsVoltageNote
I2C ×2SDA, SCLSDA, SCL3.3 V VTwo I2C controllers: the main bus on GPIO19 (SDA) and GPIO20 (SCL), and a low-power bus on GPIO6 (LP_SDA) and GPIO7 (LP_SCL). The main bus appears twice on the headers - as GPIO19/GPIO20 on the left row and as SDA/SCL on the right row next to 3V3 and GND - and both are the same two nets. The board fits no pull-up resistors of its own because there is no I2C device on it.
SPI ×1SCLK, MOSI, MISO, CS23, 22, 21, 13.3 V VOne hardware SPI peripheral on GPIO23 (SCK), GPIO22 (MOSI) and GPIO21 (MISO); there is no dedicated chip-select pad, and DFRobot's own GDI example uses GPIO1 for the display's CS and GPIO18 for an SD card's.
UART ×1TX, RX16, 173.3 V VThe board breaks out GPIO16 (TX) and GPIO17 (RX). The ESP32-C6 has three UART controllers and a low-power UART, the latter on GPIO5 (LP_TX) and GPIO4 (LP_RX).
USB ×1D+, D-Type-C5 V input, 3.3 V logic VUSB 2.0 CDC through the Type-C connector; the serial port only appears when USB CDC is enabled in the sketch, which is DFRobot's first FAQ entry.

Power

Input5 V DC on Type-C, 5 V DC or a 5 V solar panel on VIN, or a Li-ion/LiPo cell on the BAT connector
Input range5 V DC nominal on Type-C and VIN (a 5 V solar panel is expected on VIN); the board regulates 3.3 V for the module

DFRobot's spec table gives a 0.5 A maximum charging current from the CN3165 solar/charger path, and a deep-sleep draw on battery of 16 uA on version 1.0 and 36 uA on version 1.2 - the version matters, so quote the one printed on the board. No operating current for the module itself is published.

Outputs

RailRatingNote
3.3V3.3 V VRegulated on board - an HM6245 low-power LDO on v1.0 boards, a TPS62A02DRLR DC-DC converter from v1.1 - and brought out on both header rows.

Notes

DFRobot numbers no pads, so this entry uses its own 1-32 sequence: left row 1-18 top to bottom with USB-C at the top, then right row 19-32, and every description names the row and the vendor's own pad number. Labels are the silkscreen the component side carries - the GPIO number alone for GPIO pads, the name for power, ground and I2C pads - while the alternate functions come from the colour-coded callouts in DFRobot's pin diagram. The board is 25.4 x 60 mm, has 19 digital I/O with 6 PWM channels, a 12-bit 7-channel ADC, one I2S, two I2C and three UART controllers, and a 18-pin GDI FPC connector for DFRobot's own displays. Five holes are NC (left row 3, 5 and 14; right row 10 and 14) and exist only to keep the footprint compatible with the rest of the FireBeetle 2 family. GPIO0 is not on the headers at all - DFRobot wires it to the battery divider as the battery-voltage sense pin. The LED is on GPIO15, which the GDI connector also uses as its backlight line, and the BOOT button pulls GPIO9 low. A battery and solar path share the same charge controller, so VIN expects 5 V, not a raw 1S cell. DFRobot's pin diagram and its GDI table disagree on GPIO7's Arduino alias (D11 against D1), so the entry records neither. part is null because DFRobot's own product title already carries the module name.

AI context

Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.

PART: DFRobot FireBeetle 2 ESP32-C6 IoT Development Board for Smart Home Control System, DFR1075, 25.4 mm x 60 mm, built on an Espressif ESP32-C6FH4: single-core 32-bit RISC-V at 160 MHz, 512 KB SRAM, 320 KB ROM, 16 KB RTC SRAM, 4 MB flash, Wi-Fi 6 (802.11ax, 20 MHz-only non-AP mode) on 2.4 GHz, Bluetooth 5 LE and mesh, and IEEE 802.15.4 for Thread 1.3 and Zigbee 3.0. It adds USB-C, a CN3165 solar/charger path with Li-ion charge and level sensing, an 18-pin GDI FPC display connector, an on-board LED on GPIO15 and a BOOT button on GPIO9, and two header rows of 32 holes in total.
PINOUT: left row, USB-C at the top, pads 1-18: RST, 3V3, NC, GND, NC, 23, 22, 21, 20, 19, 9, 18, 1, NC, 14, 8, 16, 17. Right row, pads 19-32: VIN, 3V3, GND, SCL, SDA, 5, 4, 3, 2, NC, 15, 6, 7, NC. DFRobot numbers no pads, so those numbers are this entry's own. I2C is GPIO19 SDA and GPIO20 SCL and appears twice - as GPIO19/GPIO20 on the left row and as SDA/SCL beside 3V3/GND on the right. Hardware SPI is GPIO23 SCK, GPIO22 MOSI, GPIO21 MISO and there is no dedicated CS pad. UART is GPIO16 TX and GPIO17 RX; the low-power UART is GPIO5 TX and GPIO4 RX, the low-power I2C GPIO6 SDA and GPIO7 SCL. Arduino aliases: GPIO5 = A4, GPIO4 = A3, GPIO3 = A2, GPIO2 = A1. ADC channels are GPIO1 and GPIO2-GPIO6 (ADC1_1 to ADC1_6). GPIO0 is not on the headers - it is the battery-voltage sense pin.
SUPPLY: 3.3 V logic and a 3.3 V regulated rail brought out on both rows. Input is 5 V DC on Type-C, or 5 V DC or a 5 V solar panel on VIN, or a Li-ion/LiPo cell on the BAT connector; DFRobot rates charging at 0.5 A maximum. The regulator is an HM6245 low-power LDO on version 1.0 boards and a TPS62A02DRLR DC-DC on version 1.1. Deep sleep on battery draws 16 uA on v1.0 and 36 uA on v1.2, so read the version off the board before quoting a sleep figure. Operating temperature is -10 to 60 C.
LOGIC AND LIMITS: the ESP32-C6's absolute maximum is -0.3 to 3.6 V on the input power pins, with 1000 mA cumulative IO output current and no 5 V tolerance anywhere - a 5 V sensor output must be divided or shifted. Recommended operating is 3.0-3.6 V (3.3 V typical), 0.5 A cumulative input current, -40 to 105 C ambient for the chip itself. DFRobot publishes no board-level absolute maximum, so the chip's own table is the ceiling.
REFERENCE CIRCUIT: the board carries its own charging and regulation, so a host needs only 5 V on VIN or Type-C, or a cell on BAT. The I2C bus has no pull-ups fitted - there is no I2C device on the board, so a pull-up must come from the sensor or be added. The GDI FPC connector uses GPIO15 LCD_BL, GPIO23 SCLK, GPIO22 MOSI, GPIO21 MISO, GPIO8 LCD_DC, GPIO14 LCD_RST, GPIO1 LCD_CS, GPIO18 SD_CS, GPIO6 TCS, GPIO20 SCL and GPIO19 SDA, and its FCS, BUSY, X1 and X2 pins are NC - those GPIOs are unavailable while a GDI display is attached.
TRAPS: five holes are NC (left row 3, 5, 14; right row 10, 14) and only keep the footprint compatible with other FireBeetle 2 boards - do not solder a signal there and expect it to arrive. GPIO0 exists only as the battery divider's sense pin. GPIO15 drives the on-board LED and doubles as the GDI backlight line, so a GDI display and the LED share it. Serial output needs USB CDC enabled in the sketch or nothing appears on the port. The solar charger and the LiPo charger are one CN3165 path, so VIN wants 5 V rather than a raw 1S cell. DFRobot's pin diagram and its GDI table disagree on GPIO7's Arduino alias (D11 against D1), so neither is recorded.

Provenance

Every figure on this page was read from the 4 sources below and last checked on Oct 23, 2026.

Related boards