Introduction
The FireBeetle 2 ESP32-P4 is a high-performance microcontroller (MCU) development board designed based on the ESP32-P4R32 chip. It has powerful processing capabilities in image processing, supporting up to 1080p@30fps video playback and 1080p@30fps image shooting. The development board integrates WiFi and Bluetooth functions, making it suitable for various HMI (Human-Machine Interface) application scenarios such as digital photo albums, home central control screens, intelligent security systems, and smart doorbells.
High-definition Large-screen Display
The FireBeetle 2 ESP32 P4 integrates an MIPI-DSI interface, which can be directly connected to the Raspberry Pi DSI series display screens. The built-in JPEG decoder of the ESP32-P4 is mainly used for efficiently parsing and decompressing JPEG format image data, while the pixel processing accelerator is specifically designed to improve the processing speed and quality of image data. Thanks to these hardware advantages, the development board significantly enhances the display performance of images and videos, supporting smooth playback at up to 720p@88fps or 1080p@30fps, bringing a good visual experience of human-machine interaction to the project. Using the FireBeetle 2 ESP32 P4, a series of related projects such as digital photo albums, home central control screens, and multimedia advertisement displays can be created.
High-definition Camera Capture
The FireBeetle 2 ESP32 P4 integrates an MIPI-CSI interface, which can be directly connected to the Raspberry Pi CSI series cameras. The built-in JPEG encoder of the ESP32-P4 is responsible for efficiently compressing the original image data into JPEG format. The image signal processor performs real-time optimization and enhancement on the captured images, and the H264 video encoder ensures the real-time encoding of high-quality video streams. These features work together to greatly improve the image capture performance of the camera, supporting high-definition shooting at up to 720p@88fps or 1080p@30fps, enabling smooth shooting and video recording functions. Using the FireBeetle 2 ESP32 P4, various image capture and processing projects such as intelligent security systems, smart doorbells, and remote video conference cameras can be created.
Rich Expansion Interfaces
The FireBeetle 2 ESP32-P4 development board, with a size of only 25.4x60mm, exposes a rich and easy-to-use set of peripheral interfaces, reducing the difficulty of connecting external devices. The development board integrates the ESP32-C6 module, endowing the development board with wireless communication functions. The development board exposes a Type-C USB OTG 2.0 high-speed interface, which theoretically has a maximum data transmission speed of up to 480Mbps, enabling high-speed communication between the development board and USB devices. It has an on-board MIC, which can be used for sound collection and voice recognition. It also has an on-board TF card slot, which provides a convenient large-capacity storage solution for the project, enabling easy local storage and reading operations of media files such as pictures and videos.
Features
- Dual-core RISC-V 400MHz + Single-core RISC-V 40MHz processor
- Supports single-precision FPU and AI extensions
- On-board MIPI-DSI interface, supporting up to 720p@88fps or 1080p@30fps image display
- On-board MIPI-CSI interface, supporting up to 720p@88fps or 1080p@30fps image capture
- Integrates the ESP32-C6 module, supporting WiFi and Bluetooth communication
- Integrates rich and easy-to-use expansion interfaces: USB OTG 2.0, MIC, TF card slot
Specification
Basic Parameters
- Operating voltage: 3.3V
- Type-C input voltage: 5V DC
- VIN input voltage: 5V DC
- Operating temperature: -10~60℃
- Module size: 25.4x60mm
Hardware Information
CPU and Storage
- HP Core: RISC-V 32-bit Dual-core Microprocessor, 400 MHz
- LP Core: RISC-V 32-bit Single-core Microprocessor, 40 MHz
- 32MB PSRAM
- Flash: 16MB
- 768 KB HP L2MEM
- 32 KB LP SRAM
- 128KB HP ROM
- 16KB LP ROM
WIFI
- WIFI Protocol: IEEE 802.11b/g/n/ax
- IEEE 802.11ax (20 MHz-only non-AP mode)
- WIFI Bandwidth: The 2.4 GHz band supports 20 MHz and 40 MHz bandwidths
- WIFI Modes: Station mode, SoftAP mode, SoftAP+Station mode, and promiscuous mode
- WIFI Frequency: 2.4GHz
- Frame Aggregation: TX/RX A-MPDU, TX/RX A-MSDU
Bluetooth
- Bluetooth Protocol: Bluetooth 5
- Bluetooth Frequencies: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps
Interface Pins
- Digital I/O x24
- 2-channel MIPI CSI x1
- 2-channel MIPI DSI x1
- UART x5
- LP UART x1
- I2C x2
- LP I2C x1
- I3C x1
- SPI x1
- I2S x3
- LP I2S x1
- SPI x2
- LP SPI x1
- High-speed USB OTG 2.0 x1
- SDIO2.0 x1 T- OUCH 4 channels
- LED PWM Controller with 8 channels
- Infrared Transceiver: Transmit channels x5, Receive channels x5
- 1 × 12-bit SAR ADC, 7 channels
Note: The functional pins are multiplexed, and the above number of interfaces is the maximum value.
Board Overview
- Type-C USB CDC: Type-C USB programming and debugging interface
- IO3/LED: Onboard LED pin
- Power LED: Motherboard power indicator light
- RST: Reset button
- IO35/BOOT: IO pin/BOOT button
- MIC: PDM microphone
- HIGH-SPEED USB OTG 2.0: Type-C high-speed USB OTG 2.0
- ESP32-P4: ESP32-P4 chip
- MIPI-DSI: Two-channel MIPI-DSI screen (compatible with the pin sequence of Raspberry Pi 4B screen)
- MIPI-CSI: Two-channel MIPI-DSI screen (compatible with the pin sequence of Raspberry Pi 4B camera)
- TF Card: TF card slot
- 16MB FLASH: 16MB Flash storage
- ESP32-C6: ESP32-C6-MINI-1 module, connected to P4 via SDIO, used for expanding WiFi and Bluetooth
Tutorial - First Time Use
Arduino IDE Configuration
Please pay attention to the followings when using FireBeetle 2 ESP32-P4 for the first time.
- Add the json link in the IDE
- Download the core of the MCU
- Select the development board and serial port
- Open the sample code and burn it into the board
- Get to know the serial monitor
Arduino IDE compiler environment config
- Configure URL to the Arduino IDE
- Open Arduino IDE and click File->Preferences, as shown below.

- In the newly opened interface, click the button in the red circle as shown below
Copy the following link into the new pop-up dialog box:
Stable version:https://espressif.github.io/arduino-esp32/package_esp32_index.json
Development release:https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
Note:
Please choose the appropriate version according to Chip Support Situation.
If you have installed another environment before, you can press Enter key at the beginning or end of the previous link and paste the link at a new line.
Click OK. Update the board. Open Tools->Board:->Boards Manager... as shown below:
Boards Manager will automatically update the boards as shown below:
After completing the update, you can enter esp32 at the top, select esp32 and click install when the following occurs (It's recommended to install the latest version):
Wait for the end of the following progress bar:
After completing the installation, the list will show that the esp32 has been installed, as shown below:
- Click Tools->Board, select DFRobot FireBeetle 2 ESP32-C6.
- Before starting, you need to configure the following settings (when you select Disabled, the serial port is RX(17), TX(16), if you need to print on the Arduino monitor via USB, you need to select Enable)
- Click Port to select the corresponding serial port.
5.2 LED Blinking
The default pin for the onboard LED is pin 15.
Sample Code
int led = 3;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}
- Copy the codes above to the code editing box.
- Click the arrow to complile the program and burn it into your development board.
Burning Successful
The image above shows that your codes have been successfully loaded into the board. Then, the onboard LED will start blinking.
Basic Tutorial
The basic tutorial PWM, interrupt, serial port, servo, and SD card.
FAQ
The corresponding development board cannot be found in the Arduino IDE.
Reasons: The new development board is only supported in the new ESP32 board environment.
Solutions: Please download the latest board environment.
Chip support status of the environment version: https://github.com/espressif/arduino-esp32#supported-chips Stable version: https://espressif.github.io/arduino-esp32/package_esp32_index.json Development version: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
1. What will cause burning error?
- There is no delay or too short delay in Loop.
The USB cannot be recognized by the PC as some functions are incorrectlly called.
How to solve
- Press and hold BOOT, click RST, and then release the BOOT button to burn.
Principle During the initialization process, ESP32 undertakes a verification of the voltage level on the BOOT pin. If the voltage level is determined to be high, the system proceeds with a normal startup. In contrast, if the voltage level is deemed to be low, the device enters into the programming mode. By default, the BOOT pin maintains a high voltage level, but it transitions to a low level when a button is pressed.
2. Data cannot be printed on serial port
- Check if the USB CDC is enabled
- Check print information using other serial debugger.
For any questions, advice or cool ideas to share, please visit the DFRobot Forum.