Verified 2026-10
dfrobot FireBeetle ESP8266 IoT Microcontroller (Supports Wi-Fi)
58 x 29 mm ESP8266EX board with 16 MB flash, Wi-Fi 4, a TP4056 LiPo charger, CH340C USB-serial, 10 kOhm I2C pull-ups and 36 header holes carrying 10 digital pins, one 0-1.0 V ADC input and 10 kOhm-pulled SDA/SCL - $7.50 USD.
Place this board on a carrier in the editor →
Part & documents
| Data sheet | Data sheet → |
|---|---|
| Source | www.dfrobot.com/product-1634.html → |
Specs
| MCU | Espressif ESP8266EX (32-bit Tensilica L106 at 80 MHz, 160 MHz maximum, 50 KB SRAM available to the sketch, 16 MB external SPI flash, 802.11 b/g/n 2.4 GHz, 10-bit ADC) |
|---|---|
| Clock | 80 MHz |
| Flash | 16 MB |
| RAM | 50 KB |
Pinout
36 pads, as the vendor numbers them.
| # | Name | Function | Signals |
|---|---|---|---|
| 1 | IO3 | Left row pad 1: IO3, printed DFRobot D0 and RXD - the ESP8266EX U0RXD line, used by the USB-serial download circuit and the AT console | GPIO3, UART0 RXD, Arduino D0 |
| 2 | IO1 | Left row pad 2: IO1, printed DFRobot D1 and TXD - the ESP8266EX U0TXD line; it carries boot log output at power-up | GPIO1, UART0 TXD, Arduino D1 |
| 3 | IO13 | Left row pad 3: IO13, printed DFRobot D2 - hardware SPI MOSI on the ESP8266EX (HSPI_MOSI) and UART0 CTS | GPIO13, HSPI MOSI, UART0 CTS, Arduino D2 |
| 4 | IO10 | Left row pad 4: IO10, printed DFRobot D3 - SPIWP/HSPIWP and SDIO_DATA_3, normally reserved for the flash | GPIO10, SPIWP / HSPIWP, SDIO_DATA_3, Arduino D3 |
| 5 | IO15 | Left row pad 5: IO15, printed DFRobot D4 - HSPI_CS and UART0 RTS, and one of the three boot-mode straps | GPIO15, HSPI CS, UART0 RTS, Arduino D4 |
| 6 | IO2 | Left row pad 6: IO2, printed DFRobot D5 - a boot-mode strap that must be high at reset, also UART1 TXD | GPIO2, boot-strap pin, UART1 TXD, Arduino D5 |
| 7 | IO5 | Left row pad 7: IO5, printed DFRobot D6 - the I2C clock line, with a 10 kOhm pull-up to 3.3 V fitted on the board | GPIO5, I2C SCL, PWM3, IR Rx, Arduino D6 |
| 8 | IO4 | Left row pad 8: IO4, printed DFRobot D7 - the I2C data line, with a 10 kOhm pull-up to 3.3 V fitted on the board | GPIO4, I2C SDA, PWM3, Arduino D7 |
| 9 | IO0 | Left row pad 9: IO0, printed DFRobot D8 - boot-mode select, pulled low by the auto-download circuit to enter the serial bootloader | GPIO0, boot-strap pin, SPI_CS2, Arduino D8 |
| 10 | IO12 | Left row pad 10: IO12, printed DFRobot D9 - HSPI MISO and hardware PWM channel 0 | GPIO12, HSPI MISO, PWM0, Arduino D9 |
| 11 | NC | Left row pad 11: NC, a plated hole with no connection, kept for FireBeetle footprint compatibility | |
| 12 | NC | Left row pad 12: NC, a plated hole with no connection | |
| 13 | NC | Left row pad 13: NC, a plated hole with no connection | |
| 14 | NC | Left row pad 14: NC, a plated hole with no connection | |
| 15 | GND | Left row pad 15: GND, board ground | ground |
| 16 | AREF | Left row pad 16: AREF, an analogue reference pad - it carries no reference source on this board | analogue reference pad, not connected to a reference source on this board |
| 17 | 3V3 | Left row pad 17: 3V3, the 3.3 V LDO output, for powering external parts | regulated 3.3 V rail, LDO output |
| 18 | VCC | Left row pad 18: VCC, the raw supply rail - 5 V on micro-USB and about 3.7 V on a LiPo, not a regulated 3.3 V | unregulated supply rail, 5 V on USB and about 3.7 V on a LiPo |
| 19 | A0 | Right row pad 1: A0, the ESP8266EX ADC, reached through a 220 kOhm series resistor into the battery-sense divider node | ADC input (ESP8266EX TOUT through a 220 kOhm series resistor) |
| 20 | NC | Right row pad 2: NC, a plated hole with no connection | |
| 21 | NC | Right row pad 3: NC, a plated hole with no connection | |
| 22 | NC | Right row pad 4: NC, a plated hole with no connection | |
| 23 | NC | Right row pad 5: NC, a plated hole with no connection | |
| 24 | NC | Right row pad 6: NC, a plated hole with no connection | |
| 25 | IO0 | Right row pad 7: IO0, a second pad on the same net as left row pad 9 - boot-mode select | GPIO0, boot-strap pin, SPI_CS2 |
| 26 | SCK | Right row pad 8: SCK, the hardware SPI clock (GPIO14 / HSPI_CLK), also PWM channel 2 and IR transmit | GPIO14, HSPI CLK, PWM2, IR TX |
| 27 | MOSI | Right row pad 9: MOSI, hardware SPI MOSI (GPIO13 / HSPI_MOSI), also UART0 CTS and PWM channel 1 | GPIO13, HSPI MOSI, UART0 CTS, PWM1 |
| 28 | MISO | Right row pad 10: MISO, hardware SPI MISO (GPIO12 / HSPI_MISO), also PWM channel 0 | GPIO12, HSPI MISO, PWM0 |
| 29 | SDA | Right row pad 11: SDA, the I2C data line (GPIO4), a second pad on the same net as left row pad 8 | GPIO4, I2C SDA, PWM3 |
| 30 | SCL | Right row pad 12: SCL, the I2C clock line (GPIO5), a second pad on the same net as left row pad 7 | GPIO5, I2C SCL, PWM3, IR Rx |
| 31 | NC | Right row pad 13: NC, a plated hole with no connection | |
| 32 | NC | Right row pad 14: NC, a plated hole with no connection | |
| 33 | NC | Right row pad 15: NC, a plated hole with no connection | |
| 34 | NC | Right row pad 16: NC, a plated hole with no connection | |
| 35 | NC | Right row pad 17: NC, a plated hole with no connection | |
| 36 | RST | Right row pad 18: RST, the ESP8266EX reset line, active low, pulled up to 3.3 V by a 10 kOhm resistor and shared with the reset button | reset, active low |
Buses
| Bus | Signals | Pins | Voltage | Note |
|---|---|---|---|---|
| I2C ×2 | SDA, SCL | SDA, SCL | 3.3 V V | SDA is GPIO4 and SCL is GPIO5, brought out twice - as GPIO4/GPIO5 on the left row and as SDA/SCL on the right row, the same two nets. 10 kOhm pull-ups to 3.3 V are fitted on the board (R12 on GPIO4, R13 on GPIO5). |
| SPI ×2 | SCK, MOSI, MISO, CS | SCK, MOSI, MISO, IO15 | 3.3 V V | Hardware SPI (HSPI) is GPIO14 SCK, GPIO13 MOSI and GPIO12 MISO on the right row; chip select is GPIO15, which is printed D4 on the left row. |
| UART ×1 | TX, RX | IO1, IO3 | 3.3 V V | UART0 is GPIO1 TXD (printed D1) and GPIO3 RXD (printed D0), wired to the CH340C through 470 Ohm series resistors and shared with the boot log and the auto-download circuit. |
Power
| Input | 5 V DC on micro-USB, or a 3.7 V Li-ion/LiPo cell on the JST battery connector |
|---|---|
| Input range | 3.3 V to 5 V as DFRobot states; the ESP8266EX chip itself runs 2.5 V to 3.6 V |
| Typical draw | 80 mA |
Outputs
| Rail | Rating | Note |
|---|---|---|
| 3.3V | 3.3 V V | Regulated on board from the USB or battery rail; DFRobot rates 600 mA maximum discharge. Brought out on left row pad 17. |
| VCC | 5 V on USB, about 3.7 V on battery V | The raw, unregulated rail on left row pad 18 - not a second 3.3 V pin. |
Notes
DFRobot numbers no pads, so pins[].number is this entry's own 1-36 run: left row 1-18 first (pads 19-36 are the right row), both rows starting at the antenna end with the micro-USB at the far end, and every description names the row and the vendor's own printed label. Labels are the text on DFRobot's own pinout diagram, and the order is corroborated independently by the board schematic V1.0, whose P1 and P2 header symbols carry the same sequence (P1 pin 1 RXD ... pin 18 VCC, P2 pin 1 A0 ... pin 18 RST); the diagram exists only as an image, so it was read at full resolution with a vision model and cross-checked against the schematic's own text. Pull-up designators and values come from a coordinate read of that schematic PDF, not from a manual scan: R12 10 kOhm on GPIO4, R13 10 kOhm on GPIO5, R11 10 kOhm on EN, all to 3V3. DFRobot's spec table contradicts itself on operating temperature (-40 to +85 C against -10 to +55 C in the same list), so no operating temperature is recorded.
AI context
Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.
PART: DFRobot FireBeetle ESP8266 IoT Microcontroller (Supports Wi-Fi), SKU DFR0489, 58 mm x 29 mm with 53 mm x 24 mm mounting holes, 24 g, built on an Espressif ESP8266EX: 32-bit Tensilica L106, 80 MHz default and 160 MHz maximum, 50 KB SRAM available to the sketch, 16 MB external SPI flash on board, 10-bit SAR ADC and 802.11 b/g/n Wi-Fi on 2.4 GHz only. It adds a micro-USB socket, a CH340C USB-serial bridge with an STM8S003 auto-download circuit, a TP4056 Li-ion charger, a 3.3 V LDO and two 18-pin 2.54 mm header rows (36 holes). PINOUT: DFRobot prints no pad numbers, so the numbers here are this entry's own - left row 1-18 first, then right row 19-36, both starting at the antenna end with the micro-USB at the far end. Left row, pads 1-18: IO3 (D0, RXD), IO1 (D1, TXD), IO13 (D2), IO10 (D3), IO15 (D4), IO2 (D5), IO5 (D6), IO4 (D7), IO0 (D8), IO12 (D9), NC, NC, NC, NC, GND, AREF, 3V3, VCC. Right row, pads 19-36: A0, NC, NC, NC, NC, NC, IO0, SCK (IO14), MOSI (IO13), MISO (IO12), SDA (IO4), SCL (IO5), NC, NC, NC, NC, NC, RST. Ten pads carry the Dx aliases D0-D9 and those aliases are DFRobot's own: D0 is GPIO3 and D1 is GPIO1, which are the UART0 RX and TX lines, so the serial console occupies two of the ten. GPIO4, GPIO5, GPIO12 and GPIO13 each appear on both rows (as SDA/SCL/SCK and as D7/D6/D9/D2 respectively) and the two pads of each pair are one net - do not use them as two independent signals. Only one analogue input exists, A0, and there is no AREF source on the board. I2C: SDA is GPIO4 and SCL is GPIO5, and both are broken out twice - as GPIO4/GPIO5 on the left row and as SDA/SCL on the right row. There is no I2C device on the board, so no fixed addresses exist to record. SUPPLY: the ESP8266EX itself runs 2.5 V to 3.6 V and the board regulates 3.3 V from a micro-USB 5 V input or a 3.7 V LiPo on the JST connector, with a stated input range of 3.3 V to 5 V. DFRobot rates the 3.3 V output at 600 mA maximum discharge and the charger at 500 mA maximum charge, quotes 80 mA average operating current and 46 uA in low-power mode. LOGIC AND LIMITS: logic is 3.3 V with no level shifting anywhere on the header pins - the ESP8266EX table gives VIL of -0.3 V to 0.25 x VIO, VIH of 0.75 x VIO up to 3.6 V, and 12 mA maximum per IO, so a 5 V sensor output must be divided or shifted before it reaches any pad. The ADC (TOUT) accepts 0 V to 1.0 V when driven from outside, which is the ceiling on the A0 pad. REFERENCE CIRCUIT: the board carries its own regulation, charging and USB-serial, so a host needs only 5 V on the micro-USB or a cell on the battery connector. 10 kOhm pull-ups to 3.3 V are fitted on both I2C lines, on EN, and across the reset switch, so a sensor with its own pull-ups is paralleled rather than required; add nothing unless you are chaining many devices. The two UART lines run through 470 Ohm series resistors to the CH340C. A0 reaches the ADC through a 220 kOhm series resistor into the same node as the on-board battery divider (320 kOhm from the battery rail, 100 kOhm to ground), which is scaled so a 4.2 V cell lands just under the 1.0 V ADC full scale. TRAPS: the VCC pad is the raw rail - 5 V under USB and about 3.7 V on a LiPo - not a regulated 3.3 V, and feeding 5 V back into it while on battery is not what the power path expects. Because A0 shares the battery divider node, an external signal on A0 is attenuated and loaded by that network and cannot be read independently of the battery sense. GPIO0, GPIO2 and GPIO15 are the boot-mode straps; GPIO0 is pulled low by the STM8/CH340 auto-download circuit at reset, so anything wired to D8 must not fight that pull-down. The ESP8266EX data sheet warns that U0TXD must not be pulled low externally during power-up, which is the D1 pad. Five holes on the right row and four on the left are NC and carry no net at all. DFRobot lists operating temperature as -40 to +85 C in one line of the same table and -10 to +55 C in another, so neither figure is quoted here. The CHG LED blinks with no battery connected, is lit while charging and goes dark when the charge completes. Espressif marks the ESP8266EX not recommended for new designs in the current data sheet.
Provenance
Every figure on this page was read from the 5 sources below and last checked on Oct 24, 2026.
- vendor DFRobot - FireBeetle ESP8266 IoT Microcontroller product page (DFR0489, $7.50 USD): specification table, input 3.3-5 V, 600 mA LDO output, 500 mA charge, 46 uA low-power and 80 mA average current, 50 KB SRAM, 16 MB flash, 58 x 29 mm, and the CHG LED behaviour note
- reference DFRobot wiki - FireBeetle ESP8266 (DFR0489): identical specification table, the pinout diagram, and the note that VCC is 5 V under USB and about 3.7 V on a 3.7 V LiPo
- image DFRobot pinout diagram for DFR0489 - the two header rows with each pad's IO number, Dx alias and bus function, read at full resolution because the pinout is published only as an image
- schematic DFRobot FireBeetle Board-ESP8266 schematic V1.0 (in the wiki's schematics zip): P1/P2 pad order, TP4056 charger, CH340C, 3V3 LDO, 10 kOhm pull-ups R11 on EN, R12 on GPIO4, R13 on GPIO5, 220 kOhm R19 from A0 into the battery divider with 320 kOhm R35 and 100 kOhm R20
- datasheet Espressif ESP8266EX datasheet v7.1 (2.5-3.6 V operating, VIL/VIH, 12 mA maximum per IO, TOUT 0-1.0 V external input range, boot straps on GPIO0/GPIO2/MTDO, U0TXD must not be pulled low at power-up, 16 MB maximum external flash, and the NRND status)