Firebeetle 2 Board ESP32-P4 Microcontroller Wiki - DFRobot

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

Specification

Basic Parameters

Hardware Information

Interface Pins

Note: The functional pins are multiplexed, and the above number of interfaces is the maximum value.

Board Overview

Tutorial - First Time Use

Arduino IDE Configuration

Please pay attention to the followings when using FireBeetle 2 ESP32-P4 for the first time.

  1. Add the json link in the IDE
  2. Download the core of the MCU
  3. Select the development board and serial port
  4. Open the sample code and burn it into the board
  5. Get to know the serial monitor

Arduino IDE compiler environment config

  1. Open Arduino IDE and click File->Preferences, as shown below.
  1. In the newly opened interface, click the button in the red circle as shown below

  1. 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:

  1. Click OK. Update the board. Open Tools->Board:->Boards Manager... as shown below:

  2. Boards Manager will automatically update the boards as shown below:

  3. 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):

  4. Wait for the end of the following progress bar:

  5. After completing the installation, the list will show that the esp32 has been installed, as shown below:

  1. Click Tools->Board, select DFRobot FireBeetle 2 ESP32-C6.
  1. 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)

  1. 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);
}

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?

How to solve

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

For any questions, advice or cool ideas to share, please visit the DFRobot Forum.