board dev studio

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 →

Logic level3.3 V

Part & documents

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

Specs

MCUEspressif 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)
Clock80 MHz
Flash16 MB
RAM50 KB

Pinout

36 pads, as the vendor numbers them.

#NameFunctionSignals
1IO3Left row pad 1: IO3, printed DFRobot D0 and RXD - the ESP8266EX U0RXD line, used by the USB-serial download circuit and the AT consoleGPIO3, UART0 RXD, Arduino D0
2IO1Left row pad 2: IO1, printed DFRobot D1 and TXD - the ESP8266EX U0TXD line; it carries boot log output at power-upGPIO1, UART0 TXD, Arduino D1
3IO13Left row pad 3: IO13, printed DFRobot D2 - hardware SPI MOSI on the ESP8266EX (HSPI_MOSI) and UART0 CTSGPIO13, HSPI MOSI, UART0 CTS, Arduino D2
4IO10Left row pad 4: IO10, printed DFRobot D3 - SPIWP/HSPIWP and SDIO_DATA_3, normally reserved for the flashGPIO10, SPIWP / HSPIWP, SDIO_DATA_3, Arduino D3
5IO15Left row pad 5: IO15, printed DFRobot D4 - HSPI_CS and UART0 RTS, and one of the three boot-mode strapsGPIO15, HSPI CS, UART0 RTS, Arduino D4
6IO2Left row pad 6: IO2, printed DFRobot D5 - a boot-mode strap that must be high at reset, also UART1 TXDGPIO2, boot-strap pin, UART1 TXD, Arduino D5
7IO5Left row pad 7: IO5, printed DFRobot D6 - the I2C clock line, with a 10 kOhm pull-up to 3.3 V fitted on the boardGPIO5, I2C SCL, PWM3, IR Rx, Arduino D6
8IO4Left row pad 8: IO4, printed DFRobot D7 - the I2C data line, with a 10 kOhm pull-up to 3.3 V fitted on the boardGPIO4, I2C SDA, PWM3, Arduino D7
9IO0Left row pad 9: IO0, printed DFRobot D8 - boot-mode select, pulled low by the auto-download circuit to enter the serial bootloaderGPIO0, boot-strap pin, SPI_CS2, Arduino D8
10IO12Left row pad 10: IO12, printed DFRobot D9 - HSPI MISO and hardware PWM channel 0GPIO12, HSPI MISO, PWM0, Arduino D9
11NCLeft row pad 11: NC, a plated hole with no connection, kept for FireBeetle footprint compatibility
12NCLeft row pad 12: NC, a plated hole with no connection
13NCLeft row pad 13: NC, a plated hole with no connection
14NCLeft row pad 14: NC, a plated hole with no connection
15GNDLeft row pad 15: GND, board groundground
16AREFLeft row pad 16: AREF, an analogue reference pad - it carries no reference source on this boardanalogue reference pad, not connected to a reference source on this board
173V3Left row pad 17: 3V3, the 3.3 V LDO output, for powering external partsregulated 3.3 V rail, LDO output
18VCCLeft 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 Vunregulated supply rail, 5 V on USB and about 3.7 V on a LiPo
19A0Right row pad 1: A0, the ESP8266EX ADC, reached through a 220 kOhm series resistor into the battery-sense divider nodeADC input (ESP8266EX TOUT through a 220 kOhm series resistor)
20NCRight row pad 2: NC, a plated hole with no connection
21NCRight row pad 3: NC, a plated hole with no connection
22NCRight row pad 4: NC, a plated hole with no connection
23NCRight row pad 5: NC, a plated hole with no connection
24NCRight row pad 6: NC, a plated hole with no connection
25IO0Right row pad 7: IO0, a second pad on the same net as left row pad 9 - boot-mode selectGPIO0, boot-strap pin, SPI_CS2
26SCKRight row pad 8: SCK, the hardware SPI clock (GPIO14 / HSPI_CLK), also PWM channel 2 and IR transmitGPIO14, HSPI CLK, PWM2, IR TX
27MOSIRight row pad 9: MOSI, hardware SPI MOSI (GPIO13 / HSPI_MOSI), also UART0 CTS and PWM channel 1GPIO13, HSPI MOSI, UART0 CTS, PWM1
28MISORight row pad 10: MISO, hardware SPI MISO (GPIO12 / HSPI_MISO), also PWM channel 0GPIO12, HSPI MISO, PWM0
29SDARight row pad 11: SDA, the I2C data line (GPIO4), a second pad on the same net as left row pad 8GPIO4, I2C SDA, PWM3
30SCLRight row pad 12: SCL, the I2C clock line (GPIO5), a second pad on the same net as left row pad 7GPIO5, I2C SCL, PWM3, IR Rx
31NCRight row pad 13: NC, a plated hole with no connection
32NCRight row pad 14: NC, a plated hole with no connection
33NCRight row pad 15: NC, a plated hole with no connection
34NCRight row pad 16: NC, a plated hole with no connection
35NCRight row pad 17: NC, a plated hole with no connection
36RSTRight 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 buttonreset, active low

Buses

BusSignalsPinsVoltageNote
I2C ×2SDA, SCLSDA, SCL3.3 V VSDA 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 ×2SCK, MOSI, MISO, CSSCK, MOSI, MISO, IO153.3 V VHardware 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 ×1TX, RXIO1, IO33.3 V VUART0 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

Input5 V DC on micro-USB, or a 3.7 V Li-ion/LiPo cell on the JST battery connector
Input range3.3 V to 5 V as DFRobot states; the ESP8266EX chip itself runs 2.5 V to 3.6 V
Typical draw80 mA

Outputs

RailRatingNote
3.3V3.3 V VRegulated on board from the USB or battery rail; DFRobot rates 600 mA maximum discharge. Brought out on left row pad 17.
VCC5 V on USB, about 3.7 V on battery VThe 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.