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
- Equipped with the ESP32-C6 chip, it supports communication protocols including Wi-Fi, BLE, Zigbee, and Thread.
- Supports Wi-Fi 6 protocol for lower latency and lower power consumption.
- Solar charging enables deployment without the need for power lines.
- Battery level detection allows monitoring of device battery information.
- Ultra-low power consumption with deep sleep at 16uA.
- Onboard GDI interface for easy connection to screens.
Specification
Basic Parameters
- Operating Voltage: 3.3V
- Type-C Input Voltage: 5V DC
- VCC Input Voltage: 5V DC or 4.5-6V Solar Panel
- Max Charging Current: 0.5A
- Sleep current: 16uA (in deep sleep mode, powered by battery)
- Operating Temperature: -10~60℃
- Dimension: 25.4x60mm/1x2.36”
Hardware Information
- Processor: RISC-V single-core processor
- Main Frequency: 160 MHz
- SRAM: 512KB
- ROM: 320KB
- Flash: 4MB
- RTC SRAM: 16KB
- USB: USB 2.0 CDC
WIFI
- WIFI Protocol: IEEE 802.11b/g/n
- IEEE 802.11ax (20 MHz-only non-AP mode)
- Bandwidth: Support 20 MHz and 40 MHz at 2.4 GHz band
- WIFI Mode: Station, SoftAP, SoftAP+Station combined mode
- WIFI Frequency: 2.4GHz
- Frame Aggregation: TX/RX A-MPDU, TX/RX A-MSDU
- WIFI Protocol: IEEE 802.11b/g/n
Bluetooth
- Bluetooth Protocol: Bluetooth 5, Bluetooth mesh
- Bluetooth Frequency: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps
IEEE 802.15.4
- Compatible with IEEE 802.15.4-2015 protocol
- Frequency band: 2.4GHz
- Data rate: 250Kbps
- Supports Thread 1.3 and Zigbee 3.0
Ports
- Digital I/O x19
- LED PWM 6 Channel
- SPI x1
- UART x3 (LP UART x1)
- I2C x2 (LP I2C x1)
- I2S x1
- IR Transceiver: transmit channel x5, receive channel x5
- 1 × 12-bit SAR ADC, 7 Channel
- DMA Controller: transmit channel x3, receive channel x3
Board Overview
- Type-C:Type-C USB port
- IO15/D13:onboard LED pin
- Charge: Charging indicator
- Off: not plugged in power supply or fully charged
- On: charging
- Blinking: battery not connected
- RST: Reset button
- IO9/D9/BOOT: GPIO9 / Boot button
- HM6245: 3.3V Low power LDO
- BAT:Lithium ion battery or lithium polymer battery interface
- IO0: Battery voltage detection pin
- CN3165: Solar management chip
- GDI: GDI display interface
- ESP32-C6: ESP32-C6FH4 chip
Pin Diagram
Pin Definition
- Power: Power pin
- VIN: 5V DC or 4.5-6V Solar Panel
- 3V3: 3.3V stable output
- GND: common ground pin
- GPIO: ESP32 default GPIO number
- Arduino: FirebBeetle 2 ESP32-C6 GPIO mapping in Arduino
- ADC: ESP32 default analog-to-digital conversion pin
- I2C: I2C interface
- FirebBeetle 2 ESP32-C6 I2C mapping in Arduino
- LP_SDA/SCL: Low power I2C pin
- UART: UART interface
- LP_TX/RX: Low power UART pin
- SPI: FirebBeetle 2 ESP32-C6 SPI mapping in Arduino
- SDIO: ESP32 default SDIO pin
- JTAG: debug interface
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:
- 1.54" 240x240 IPS wide viewing angle TFT display
- 1.8" 128x160 IPS TFT LCD Display
- 2.0" 320x240 IPS wide viewing angle TFT display
- 2.8" 320x240 IPS TFT resistive touch display
- 3.5" 480x320 IPS TFT capacitive touch display
- 1.51" OLED Transparent Display with Converter
Tutorial - First Time Use
Arduino IDE Configuration
Please pay attention to the followings when using FireBeetle 2 ESP32-C6 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 = 15;
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 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.
- MicroPython official firmware (by HonestQiao)
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
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?
- 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 (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
- 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.