Firebeetle 2 Board ESP32-S3(N16R8) Microcontroller Wiki - DFRobot


FireBeetle 2 ESP32-S3 is a high-performance main-controller built around the ESP32-S3-WROOM-1-N16R8 module. ESP32-S3-WROOM-1-N16R8 comes with 16MB Flash and 8MB PSRAM for storing more data. The acceleration for neural network computing and signal processing workloads provided by the ESP32-S3 chip make the module an ideal choice for a wide variety of applications, such as speech recognition, image recognition, and so on.
FireBeetle 2 ESP32-S3 offers a camera interface onboard for easy connection with a camera. Also, an independent camera power supply circuit is designed, which helps reduce interference from other signals to the camera. The board comes with an OV2640 camera that offers 2 megapixel, 68° FOV, and up to 1600×1200 resolution. Besides, its onboard easy-to-connect GDI greatly saves the trouble of wiring for using with a screen. Meanwhile, the controller integrates a power management function, which enables users to charge a Li-ion battery and turn the hardware on/off.
In addition, FireBeetle 2 ESP32-S3 supports WiFi and Bluetooth 5 (LE) dual-mode communication that reduces the difficulty of networking, and also both Bluetooth Mesh protocol and Espressif WiFi Mesh are supported for more stable communication and a larger coverage area. With the support of Matter protocol, the board can be used to develop industrial standard smart home devices for a wider range of IoT scenarios.
FireBeetle 2 ESP32-S3 can be programmed by Arduino IDE, ESP-IDF, MicroPython. Both C and Python are supported.



Board Overview

Board Overview

Pin Diagram


Pin Definition

GPIO Configuration

GDI Display Interface

This interface is a DFRbot dedicated GDI display interface for connecting a screen using a 18pin-FPC wire.

The pin list for using GDI camera interface is shown below:

FPC PINS Beetle ESP32 S3 Pins Description
VCC 3V3 3.3V
LCD_BL 21/D13 Backlight
SCLK 17/SCK SPI clock
MOSI 15/MOSI Host output, slave input
MISO 16/MISO Host input, slave output
LCD_DC 3/D2 Data/command
LCD_RST 38/D3 Reset
LCD_CS 18/D6 TFT Chip Select
SD_CS 9/D7 SD card chip select
FCS 7/D6 Font library chip select
TCS 12/D12 Touch chip select
SCL 2/SCL I2C clock
SDA 1/SDA I2C data
INT 13/D11 INT
BUSY 4/D10 Tearproof pins
X1 NC custom pin 1
X2 NC custom pin 2

When using FPC to connect the screen, please configure the corresponding pin numbers according to the GDL demo. Normally, only three pins need to be configured on different main controllers.

Displays that support GDI:

CAM Interface

The CAM interface is compatible with both OV2640 and OV7725 camera. Enable AXP313A power output when using a camera. Click to download AXP313A library(ESP-IDF and MicroPython drivers are included).

The pin list for using DVP camera interface is shown below.

CAM PINS FireBeetle ESP32-S3 PINS Description
AGND / Analog GND
SDA 1/SDA I2C data
AVDD / AXP313A Controllable Power
SCL 2/SCL I2C Clock
RST / Pulled up to DOVDD
VSYNC 6/A2 Frame sync signal
PWDN / Pulled down
HREF 42 Horizontal sync signal
DVDD / AXP313A Controllable Power
DOVDD / AXP313A Controllable Power
D9 48 DATA 9
XMCLK 45 Clock signal
D8 46 DATA 8
D7 8/A3 DATA 7
PCLK 5/A1 Pixel Clock signal
D6 7/D5 DATA 6
D2 39 DATA 2
D5 4/A0 DATA 5
D3 40 DATA 3
D4 41 DATA 4

Pin connection

Connect the pin 1 of the camera to the white dot position

Tutorial - First Time Use

Arduino IDE Configuration

Please pay attention to the followings when using FireBeetle 2 ESP32-S3 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:

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

  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:

  6. Click Tools->Board, select DFRobot FireBeetle 2 ESP32-S3.

  1. Before starting, you need to configure the following settings (when you select Disabled, the serial port is RX(44), TX(43), 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 12.

Sample Code

int led = 21;
void setup() {

void loop() {

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 includes the use of PWM, interrupt, serial port, servo, and SD card.

Advanced Tutorial

The advanced tutorial domenstrates how to use screen, Bluetooth, WiFi, ESP-NOW, camera, one-key for networking config and sample projects.

Tutorial for MicroPython

Build Environment for MicroPython

To run microPython on the FireBeetle 2 ESP32-S3, you need to burn the firmware into FireBeetle 2 ESP32-S3 first.

1.Click to download microPython firmware

2.Click to download esptool Flash burning tool

3.Run flash_download_tool_3.9.3.exe

4.Select the ESP32-S3 main controller, than Press Boot, press RST and release both, then try burning again.

5.Select the downloaded firmware, clear the flash and then burn the firmware.

MicroPython Interpreter

1.Click to download thonny

2.Open the software and set up the interpreter (Run->Configure interpreter...)

3.Copy and paste the code into the code box, save the file to the MicroPython device and name it

import time
from machine import Pin 


while True:


4.Reboot the FireBeetle 2 ESP32-S3, and you can see the L LED flashing.


1. What will cause burning error?

How to solve

2. Data cannot be printed on serial port

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

More Documents

DFshopping_car1.png Get FireBeetle 2 Board ESP32 S3 from DFRobot Store or DFRobot Distributor.

Turn to the Top