Firebeetle 2 Board ESP32-C6 Microcontroller Wiki - DFRobot

Introduction

FireBeetle 2 ESP32-C6 is a low-power IoT main control board designed based on the ESP32-C6 chip. It is suitable for smart home projects. The ESP32-C6 supports communication protocols such as Wi-Fi 6, Bluetooth 5, Zigbee 3.0, and Thread 1.3, enabling connectivity to various IoT networks. FireBeetle 2 ESP32-C6 supports Type-C, 5V DC, and solar power, providing more options for power supply during deployment.

Multiple protocol support for expanded wireless connectivity
FireBeetle 2 ESP32-C6 supports Wi-Fi and Thread communication protocols, allowing seamless communication and collaboration between Matter Wi-Fi terminal devices and Matter Thread terminal devices in multi-system, multi-platform smart home setups. Additionally, FireBeetle 2 ESP32-C6 also supports BLE and Zigbee communication protocols, enabling it to serve as a Thread border router, Matter gateway, and Zigbee bridge when combined with other MCUs.

Wi-Fi 6 support for ultra-low-power IoT devices
ESP32-C6 is Espressif's first chip to support the Wi-Fi 6 (802.11ax) protocol. Wi-Fi 6 offers improved network capacity, enabling devices to work with higher efficiency and lower latency. Moreover, Wi-Fi 6's Target Wake Time (TWT) technology effectively reduces device power consumption, extends battery life, and enables long-lasting device operation.

Excellent power system for convenient device power supply
FireBeetle 2 ESP32-C6 integrates lithium battery charging management, allowing the lithium battery to be charged via Type-C, 5V DC, and solar panels. Solar charging solves the problem of deploying devices in scenarios without power lines, such as balconies, windows, and rooftops. FireBeetle 2 ESP32-C6 uses the same solar power management chip as the Solar Power Manager 5V and has a maximum power point tracking MPPT algorithm that can maximize the output power of the solar panel under various lighting conditions.FireBeetle 2 ESP32-C6 also supports battery level monitoring to take measures when the battery is low, ensuring continuous device operation.

If you encounter difficulties with programming, please refer to the FAQ section.

Features

Specification

Board Overview

Board Overview

Pin Diagram

Pinout

Pin Definition

Connect Solar Panels

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 FireBeetle 2 ESP32-C6 Pins Description
VCC 3V3 3.3V
LCD_BL 15/D13 Backlight
GND GND GND
SCLK 23/SCK SPI clock
MOSI 22/MOSI Host output, slave input
MISO 21/MISO Host input, slave output
LCD_DC 8/D2 Data/command
LCD_RST 14/D3 Reset
LCD_CS 1/D6 TFT Chip Select
SD_CS 18/D7 SD card chip select
FCS NC Font library chip select
TCS 6/D12 Touch chip select
SCL 20/SCL I2C clock
SDA 19/SDA I2C data
INT 7/D11 INT
BUSY NC 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:

Tutorial - First Time Use

Arduino IDE Configuration

Please pay attention to the followings when using FireBeetle 2 ESP32-C6 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 = 15;
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 includes the use of Battery voltage detection, PWM, interrupt, serial port, servo, and SD card.

Advanced Tutorial

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

Tutorial for MicroPython

Build Environment for MicroPython

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

1.Click to download microPython firmware.

2.Click to download esptool Flash burning tool

3.Run flash_download_tool.exe

4.Select the ESP32-C6 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(15,Pin.OUT)

while True:

 led.value(1)
 time.sleep(1)
 led.value(0)
 time.sleep(1)

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

FAQ

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 (IO9) 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.

More Documents