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 →
Part & documents
| Data sheet | Data sheet → |
|---|---|
| Source | www.dfrobot.com/product-2771.html → |
Specs
| MCU | 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 2.4 GHz, Bluetooth 5 LE, IEEE 802.15.4 for Thread 1.3 and Zigbee 3.0) |
|---|---|
| Clock | 160 MHz |
| Flash | 4 MB |
| RAM | 512 KB |
Pinout
32 pads, as the vendor numbers them.
| # | Name | Function | Signals |
|---|---|---|---|
| 1 | RST | Left row pad 1: RST, the reset button's line, silkscreen RST | reset input |
| 2 | 3V3 | Left 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 |
| 3 | NC | Left row pad 3: NC, a plated hole with no connection, kept for footprint compatibility with the FireBeetle 2 family | not connected |
| 4 | GND | Left row pad 4: GND | ground |
| 5 | NC | Left row pad 5: NC, no connection | not connected |
| 6 | 23 | Left row pad 6: GPIO23, the hardware SPI clock (SCK) and SDIO DAT3, printed 23 | GPIO23, SPI SCK, SDIO DAT3 |
| 7 | 22 | Left row pad 7: GPIO22, SPI MOSI and SDIO DAT2, printed 22 | GPIO22, SPI MOSI, SDIO DAT2 |
| 8 | 21 | Left row pad 8: GPIO21, SPI MISO and SDIO DAT1, printed 21 | GPIO21, SPI MISO, SDIO DAT1 |
| 9 | 20 | Left row pad 9: GPIO20, the I2C clock and SDIO DAT0, printed 20 - the same net as the SCL pad on the right row | GPIO20, I2C SCL, SDIO DAT0 |
| 10 | 19 | Left row pad 10: GPIO19, the I2C data line and SDIO CLK, printed 19 - the same net as the SDA pad on the right row | GPIO19, I2C SDA, SDIO CLK |
| 11 | 9 | Left row pad 11: GPIO9, which the BOOT button pulls low at reset, printed 9 | GPIO9, BOOT button |
| 12 | 18 | Left row pad 12: GPIO18, SDIO CMD and SD_CS on the GDI connector, printed 18 | GPIO18, SDIO CMD, SD card chip select in the GDI pin map |
| 13 | 1 | Left row pad 13: GPIO1, ADC1 channel 1, and LCD_CS on the GDI connector, printed 1 | GPIO1, ADC1_1, LCD chip select in the GDI pin map |
| 14 | NC | Left row pad 14: NC, no connection | not connected |
| 15 | 14 | Left row pad 15: GPIO14, printed 14 - the GDI display interface uses it as LCD_RST | GPIO14, LCD reset in the GDI pin map |
| 16 | 8 | Left row pad 16: GPIO8, printed 8 - the GDI display interface uses it as LCD_DC | GPIO8, LCD data/command in the GDI pin map |
| 17 | 16 | Left row pad 17: GPIO16, a UART transmit line, printed 16 | GPIO16, UART TX |
| 18 | 17 | Left row pad 18: GPIO17, a UART receive line, printed 17 | GPIO17, UART RX |
| 19 | VIN | Right row pad 1: VIN, 5 V DC in from the Type-C port or a 5 V solar panel through the CN3165 charger | 5 V input, solar panel input |
| 20 | 3V3 | Right row pad 2: 3V3, the same regulated output as the left row's 3V3 pad | 3.3 V rail |
| 21 | GND | Right row pad 3: GND | ground |
| 22 | SCL | Right 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 pads | I2C clock |
| 23 | SDA | Right row pad 5: SDA, the same GPIO19 net as left row pad 10 | I2C data |
| 24 | 5 | Right row pad 6: GPIO5, Arduino A4, the low-power UART transmit and JTAG MTDI, printed 5 | GPIO5, Arduino A4, LP_UART TX, ADC1_5, JTAG MTDI |
| 25 | 4 | Right row pad 7: GPIO4, Arduino A3, the low-power UART receive and JTAG MTMS, printed 4 | GPIO4, Arduino A3, LP_UART RX, ADC1_4, JTAG MTMS |
| 26 | 3 | Right row pad 8: GPIO3, Arduino A2 and ADC1 channel 3, printed 3 | GPIO3, Arduino A2, ADC1_3 |
| 27 | 2 | Right row pad 9: GPIO2, Arduino A1 and ADC1 channel 2, printed 2 | GPIO2, Arduino A1, ADC1_2 |
| 28 | NC | Right row pad 10: NC, no connection | not connected |
| 29 | 15 | Right row pad 11: GPIO15, the on-board LED's pin - also broken out as LCD_BL on the GDI connector - printed 15 | GPIO15, on-board LED, LCD backlight in the GDI pin map |
| 30 | 6 | Right row pad 12: GPIO6, the low-power I2C data line, ADC1 channel 6 and JTAG MTCK, printed 6 | GPIO6, LP_I2C SDA, ADC1_6, JTAG MTCK |
| 31 | 7 | Right 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 here | GPIO7, LP_I2C SCL, JTAG MTDO |
| 32 | NC | Right row pad 14: NC, no connection | not connected |
Buses
| Bus | Signals | Pins | Voltage | Note |
|---|---|---|---|---|
| I2C ×2 | SDA, SCL | SDA, SCL | 3.3 V V | Two 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 ×1 | SCLK, MOSI, MISO, CS | 23, 22, 21, 1 | 3.3 V V | One 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 ×1 | TX, RX | 16, 17 | 3.3 V V | The 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 ×1 | D+, D- | Type-C | 5 V input, 3.3 V logic V | USB 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
| Input | 5 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 range | 5 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
| Rail | Rating | Note |
|---|---|---|
| 3.3V | 3.3 V V | Regulated 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.
- vendor DFRobot - FireBeetle 2 ESP32-C6 IoT Development Board product page (DFR1075, $6.90 USD)
- reference DFRobot wiki - FireBeetle 2 ESP32-C6 (specification table: 3.3 V operating, 5 V DC Type-C and VIN or 5 V solar, 0.5 A charging, 16 uA / 36 uA deep sleep by version, 25.4x60 mm, 19 digital I/O, 6 PWM, 2 I2C, 3 UART, 12-bit 7-channel ADC; component and GDI pin tables)
- image DFRobot pin diagram for DFR1075 (the two header rows with each pad's GPIO number and its GPIO/Arduino/ADC/I2C/UART/SPI/SDIO/JTAG functions, plus the NC pads)
- datasheet Espressif ESP32-C6 series datasheet v1.5 (absolute maximum input 3.6 V and 1000 mA cumulative IO, recommended 3.0-3.6 V, QFN40 pin overview)