FireBeetle 2 ESP32-S3 (N4) IoT Microcontroller-DFRobot

Introduction

FireBeetle 2 ESP32-S3(N4) is a main control board designed based on the Espressif ESP32-S3-WROOM-1-N4 module. It features a 32-bit dual-core processor with a clock frequency of 240MHz and a built-in 4M FLASH memory. It supports dual-mode communication of WIFI and Bluetooth 5.0. Additionally, it also supports Bluetooth Mesh protocol and Espressif Wi-Fi Mesh, providing higher communication stability, larger coverage area, longer transmission distance, and more device interconnectivity.

The ESP32-S3 chip is equipped with AI acceleration capability, enabling it to perform neural network calculations and signal processing tasks. This allows it to meet the performance requirements of low-computational AI edge computing tasks such as simple voice command recognition, text recognition, and sensor data recognition. Therefore, it is not only suitable for IoT scenarios but also plays an important role in simple, low-computational AIoT projects.

In terms of product features, FireBeetle 2 ESP32-S3(N4) has the following characteristics:

Rich peripheral interfaces

It includes 18 analog pins, 26 digital pins, 3 UART interfaces, 3 SPI interfaces, 3 I2C interfaces, 2 I2S interfaces, 10 infrared transceivers, and 10 DMA controller channels. Additionally, it provides an onboard GDI display interface to meet various hardware connection requirements.

Dual power supply modes

It supports both USB and external lithium battery power supply and can automatically switch between power sources in dual power supply mode. Furthermore, it supports both USB and external DC charging modes and allows hardware to control power on/off settings.

Support for multiple programming methods

Including Arduino IDE, idf, MicroPython, C language, and Python, catering to the programming preferences of different developers.

Compact design, convenient for embedding

With dimensions of only 25.4mm × 60mm, it has onboard WIFI and Bluetooth antennas and adopts a stamp hole design, making it easy to embed or integrate into PCB prototypes.

Wide range of application scenarios

It is suitable for various scenarios such as home automation renovation, IoT device prototyping, IoT remote monitoring, and remote robot control. Additionally, it is also applicable to low-computational AI edge computing, voice command recognition, text recognition, and sensor data recognition applications.

Furthermore, this product is one of the low-power IoT development boards in the FireBeetle series. If it does not meet your requirements, you can refer to the FireBeetle Series Selection Guide to choose a more suitable model.

If there is a programming failure, please connect the USB, hold down the BOOT button, click the RST button, and then release the BOOT button to put the development board into download mode.

Features

Specification

Board Overview

Board Overview

Pin Diagram

Pinout

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
GND GND GND
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:

Dimensional Diagram

Tutorial - First Time Use

Arduino IDE Configuration

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

  2. In the newly opened interface, click the button in the red circle as shown below

  3. Copy the following link into the new pop-up dialog box: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

    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.

  4. Click OK.

  5. Update the board. Open Tools->Board:->Boards Manager... as shown below:

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

  7. After the update is completed, you can enter "esp32" in the search bar above. When you see the following situation, select "esp32" and click on "Install" (it is recommended to install the latest version):

  8. Please wait for the progress bar below to finish:

  9. Once the installation is complete, the list will display the installed ESP32 board, as shown in the following image:

  10. Click on Tools->Board: and select DFRobot FireBeetle 2 ESP32-S3.

  11. Before you begin, you also need to configure the following settings: (When you select "Disabled", the serial port will be RX(44) and TX(43). If you want to print on the Arduino monitor via USB, you need to select "Enable".)

  12. Click on Port and select the corresponding serial port.

The onboard LED is connected to pin 21 by default.

Code

int led = 21;
void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

Upload Successful

Basic Tutorials

The basic tutorials include tutorials on PWM, interrupts, serial communication, servos, and SD card.

Advanced Tutorials

Note: FireBeetle 2 ESP32-S3(N4) does not support camera functionality, so you don't need to refer to the camera-related content in the tutorials.

The advanced tutorials include tutorials on screen display, Bluetooth, Wi-Fi, ESP-NOW, project examples, one-click configuration, and camera.

Tutorial for MicroPython

Build Environment for MicroPython

To run microPython on the FireBeetle 2 ESP32-S3(N4), you need to burn the firmware into FireBeetle 2 ESP32-S3(N4) 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 main.py

     import time
     from machine import Pin
    
     led=Pin(21,Pin.OUT)
    
     while True:
    
      led.value(1)
      time.sleep(1)
      led.value(0)
      time.sleep(1)
    

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

MicroPython Tutorial

MicroPython basic tutorial

FAQ

1. What will cause burning error?

How to solve

2. Data cannot be printed on serial port

2. Drive multiple servos in the same time

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

More Documents