Verified 2026-10
dfrobot FireBeetle 328P Low-Power Arduino Board (BLE 4.1)
58 x 29 mm 3.3 V ATmega328P board with an on-board BLE 4.1 module, 14 digital and 6 analogue pads, a 3.7 V LiPo charger and a 600 mA 3.3 V LDO, running the 3.3 V / 8 MHz Pro Mini bootloader - $18.90 USD.
Place this board on a carrier in the editor →
Part & documents
| Data sheet | Data sheet → |
|---|---|
| Source | www.dfrobot.com/product-1646.html → |
Specs
| MCU | Microchip ATmega328P at 3.3 V / 8 MHz, with a separate BLE 4.1 module on the same PCB (4 KB/s, up to 4 cascaded devices) |
|---|---|
| Clock | 8 MHz |
Pinout
36 pads, as the vendor numbers them.
| # | Name | Function | Signals |
|---|---|---|---|
| 1 | D0 | Left row pad 1: D0, with RXD printed beside it - the ATmega328P's PD0/UART RXD line, shared with the USB-serial bridge | Arduino D0, RXD, ATmega328P PD0/RXD |
| 2 | D1 | Left row pad 2: D1, with TXD printed beside it - the ATmega328P's PD1/UART TXD line, shared with the USB-serial bridge | Arduino D1, TXD, ATmega328P PD1/TXD |
| 3 | D2 | Left row pad 3: D2 - also the line the BLE 4.1 module drives high to wake the ATmega328P | Arduino D2, interrupt-capable |
| 4 | D3 | Left row pad 4: D3, marked PWM - also the line the ATmega328P pulls low to wake the BLE 4.1 module | Arduino D3, PWM |
| 5 | D4 | Left row pad 5: D4, no PWM and no alternate function printed | Arduino D4 |
| 6 | D5 | Left row pad 6: D5, marked PWM | Arduino D5, PWM |
| 7 | D6 | Left row pad 7: D6, marked PWM | Arduino D6, PWM |
| 8 | D7 | Left row pad 8: D7, no PWM and no alternate function printed | Arduino D7 |
| 9 | D8 | Left row pad 9: D8, no PWM and no alternate function printed | Arduino D8 |
| 10 | D9 | Left row pad 10: D9, marked PWM | Arduino D9, PWM |
| 11 | D10 | Left row pad 11: D10, marked PWM | Arduino D10, PWM |
| 12 | D11 | Left row pad 12: D11, marked PWM | Arduino D11, PWM |
| 13 | D12 | Left row pad 13: D12, no PWM and no alternate function printed on DFRobot's diagram | Arduino D12 |
| 14 | D13 | Left row pad 14: D13 - DFRobot names it LED_BUILTIN, so the on-board L LED sits on this pad | Arduino D13, LED_BUILTIN |
| 15 | GND | Left row pad 15: GND, board ground | ground |
| 16 | AREF | Left row pad 16: AREF - the analogue reference pad, carrying no reference source of its own | analogue reference |
| 17 | 3V3 | Left row pad 17: 3V3, the on-board LDO output - DFRobot rates it at 600 mA maximum discharge | 3.3 V rail |
| 18 | VCC | Left row pad 18: VCC, the raw supply rail - a 3.7 V LiPo or the 5 V USB input; DFRobot gives the VCC I/O voltage as 3.7 V to 5.5 V | supply rail |
| 19 | A0 | Right row pad 1: A0, analogue input 0, one of the ATmega328P's six ADC channels | analogue input 0 |
| 20 | A1 | Right row pad 2: A1, analogue input 1 | analogue input 1 |
| 21 | A2 | Right row pad 3: A2, analogue input 2 | analogue input 2 |
| 22 | A3 | Right row pad 4: A3, analogue input 3 | analogue input 3 |
| 23 | A4 | Right row pad 5: A4, analogue input 4 - on the ATmega328P this ADC channel is shared with the TWI SDA line (PC4/ADC4/SDA) | analogue input 4, I2C SDA on the ATmega328P |
| 24 | A5 | Right row pad 6: A5, analogue input 5 - on the ATmega328P this ADC channel is shared with the TWI SCL line (PC5/ADC5/SCL) | analogue input 5, I2C SCL on the ATmega328P |
| 25 | NC | Right row pad 7: NC, a plated hole with no connection | |
| 26 | SCK | Right row pad 8: SCK, the hardware SPI clock - PB5 on the ATmega328P | SPI clock, ATmega328P PB5/SCK |
| 27 | MOSI | Right row pad 9: MOSI, hardware SPI master-out - PB3 on the ATmega328P | SPI MOSI, ATmega328P PB3/MOSI |
| 28 | MISO | Right row pad 10: MISO, hardware SPI master-in - PB4 on the ATmega328P | SPI MISO, ATmega328P PB4/MISO |
| 29 | SDA | Right row pad 11: SDA, the I2C data line - a pad of its own here, separate from the A4 pad, though the ATmega328P brings both functions out of one pin | I2C data |
| 30 | SCL | Right row pad 12: SCL, the I2C clock line - a pad of its own here, separate from the A5 pad | I2C clock |
| 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 ATmega328P reset line, active low, alongside the board's RST button | reset, active low |
Buses
| Bus | Signals | Pins | Voltage | Note |
|---|---|---|---|---|
| I2C ×1 | SDA, SCL | SDA, SCL | 3.3 V V | SDA and SCL are pads of their own on the right row, but on the ATmega328P the same two pins are also ADC4 and ADC5 (PC4 = ADC4/SDA, PC5 = ADC5/SCL), so the A4 and A5 pads cannot be used as analogue inputs while I2C is in use. DFRobot publishes no pull-up values for this board. |
| SPI ×1 | SCK, MOSI, MISO | SCK, MOSI, MISO | 3.3 V V | SCK, MOSI and MISO are on the right row and are PB5, PB3 and PB4 on the ATmega328P. No chip-select pad is dedicated. |
| UART ×1 | TX, RX | D1, D0 | 3.3 V V | D1 TXD and D0 RXD - the same pair the BLE 4.1 module uses, which is why an active Bluetooth link blocks a sketch upload. |
Power
| Input | 5 V DC on micro-USB, or a 3.7 V Li-ion/LiPo cell on the JST battery connector |
|---|---|
| Input range | DFRobot states the VCC I/O voltage as 3.7 V to 5.5 V and the operating voltage as 3.3 V |
Outputs
| Rail | Rating | Note |
|---|---|---|
| 3.3V | 3.3 V V | On-board LDO output on left row pad 17; DFRobot rates 600 mA maximum discharge. |
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 printed label. DFRobot publishes no schematic for this board - only a dimension drawing, a datasheet PDF that is actually Dialog's DA14681 BLE SoC document, and a footprint library - so the pad order rests on the vendor's pinout diagram alone: it exists only as an image, was read at full resolution with a vision model, and is corroborated by three independent checks against the vendor's own specification (14 digital and 6 analogue pads above match its stated 14 digital and 6 analogue interfaces) and against the ATmega328P data sheet pin table (six PWM-marked pads, SPI on PB3/PB4/PB5, and PC4/PC5 carrying ADC4/SDA and ADC5/SCL). No pull-up, decoupling or absolute-maximum figure for the board itself is recorded because DFRobot publishes none; the limits quoted are the ATmega328P device data sheet's own. There is no I2C device on the board, hence addresses is empty.
AI context
Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.
PART: DFRobot FireBeetle 328P Low-Power Arduino Board (BLE 4.1), SKU DFR0492, 58 mm x 29 mm, two 18-pin 2.54 mm header rows (36 holes). It is an ATmega328P board with a separate BLE 4.1 module on the same PCB: 14 digital pads D0-D13, six analogue inputs A0-A5, one SPI, one I2C and one UART, with the on-board LED on D13 (DFRobot names it LED_BUILTIN). The ATmega328P runs from 3.3 V and DFRobot ships it with the Arduino Pro or Pro Mini bootloader for ATmega328 at 3.3 V and 8 MHz. 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: D0 (RXD), D1 (TXD), D2, D3 (PWM), D4, D5 (PWM), D6 (PWM), D7, D8, D9 (PWM), D10 (PWM), D11 (PWM), D12, D13, GND, AREF, 3V3, VCC. Right row, pads 19-36: A0, A1, A2, A3, A4, A5, NC, SCK, MOSI, MISO, SDA, SCL, NC, NC, NC, NC, NC, RST. The six pads DFRobot marks PWM are D3, D5, D6, D9, D10 and D11, and the ATmega328P has six timer compare outputs across three timers. The 14 digital and six analogue pads match DFRobot's own count of 14 digital and 6 analogue interfaces. I2C AND BUSES: the right row carries SDA and SCL as pads of their own, and separately carries A4 and A5. On the silicon these are not independent - the ATmega328P's pin table gives PC4 as ADC4/SDA and PC5 as ADC5/SCL - so the SDA pad and A4, and the SCL pad and A5, reach the same two pins, and using an analogue input on A4 or A5 takes the I2C bus with it. SPI is SCK, MOSI and MISO on the right row (PB5, PB3 and PB4 on the chip) with no dedicated chip-select pad. UART is D0/D1, which is also the pair the BLE module and the USB-serial bridge share. There is no I2C device on the board, so no fixed address exists to record. SUPPLY: operating voltage 3.3 V, with the VCC rail stated at 3.7 V to 5.5 V and a 3.7 V LiPo on the battery connector. DFRobot rates the 3.3 V LDO output at 600 mA maximum discharge and the charger at 400 mA maximum charge, and quotes 25 uA in power-down against 70 uA with the interrupt enabled. LOGIC AND LIMITS: the ATmega328P in this build is a 3.3 V part, so its I/O swing is 3.3 V and not 5 V - DFRobot's spec table lists the VCC I/O range, not the logic level, and feeding 5 V into a digital pad is outside the chip's ratings even though the bare ATmega328P can run at 5 V. The device data sheet gives -0.5 V to VCC+0.5 V on any pin except RESET (-0.5 V to +13.0 V), 6.0 V maximum operating voltage, 40 mA DC per I/O pin, 200 mA total on VCC and GND, and an operating range of 1.8 V to 5.5 V for the chip itself. REFERENCE CIRCUIT: DFRobot publishes no schematic for this board, so decoupling and pull-up values cannot be quoted from a vendor drawing and none are recorded here. What the vendor does document is the handshake between the two chips: the BLE 4.1 module wakes the ATmega328P by driving D2 high, and the ATmega328P wakes the BLE module by pulling D3 low, so both lines are claimed by that function before any user circuit. TRAPS: the BLE module occupies the ATmega328P's serial port, so a Bluetooth connection must be dropped before an upload or the sketch will not download. The bootloader is the 3.3 V / 8 MHz Pro Mini one, which cannot keep up with 115200 baud - DFRobot recommends 9600 and says anything faster comes back as gibberish. The Arduino IDE lists the port as an Arduino UNO; the board to select is Arduino Pro or Pro Mini, ATmega328, 3.3 V, 8 MHz. Bluetooth device IDs are assigned by connection order (ID1 to ID4) and cannot be changed, so connect the central first. HID, iBeacon and tree networking are listed as under development, not available. D9 to D13 are on the left row while the SPI pads are on the right row, so a shield built for an Uno's header order will not map across.
Provenance
Every figure on this page was read from the 4 sources below and last checked on Oct 24, 2026.
- vendor DFRobot - FireBeetle 328P Low-Power Arduino Board (BLE 4.1) product page (DFR0492, $18.90 USD): specification table (3.3 V operating, VCC I/O 3.7-5.5 V, 600 mA LDO output, 400 mA charge, 25 uA power-down and 70 uA with the interrupt enabled, 14 digital and 6 analogue interfaces, LED_BUILTIN D13, 58 x 29 mm) and the feature list (BLE 4.1, 4 KB/s, up to 4 cascaded devices, D2/D3 wake handshake)
- reference DFRobot wiki - FireBeetle 328P with BLE 4.1 (DFR0492): the pinout diagram and the FAQ that states the bootloader is the 3.3 V / 8 MHz Pro Mini one, that 115200 comes back as gibberish and 9600 is recommended, that the port appears as an Arduino UNO, that Bluetooth occupies the serial port and blocks uploads, that Bluetooth IDs are fixed by connection order, and that HID/iBeacon/tree networking are still under development
- image DFRobot pinout diagram for DFR0492 - the two header rows with each pad's Dx alias, RXD/TXD and PWM marks, read at full resolution because the pinout is published only as an image
- datasheet Microchip ATmega48A/PA/88A/PA/168A/PA/328/P family data sheet DS40002061B - Microchip publishes no ATmega328P-only document, and this is the same family document the RedBoard Plus entry carries: absolute maximum ratings (-0.5 V to VCC+0.5 V on any pin, RESET to +13.0 V, 6.0 V maximum operating voltage, 40 mA per I/O, 200 mA VCC and GND), the 1.8-5.5 V operating range, and the pin table giving PC4 = ADC4/SDA and PC5 = ADC5/SCL