无垠的广袤 发表于 2025-9-27 10:14:55

【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试

本帖最后由 无垠的广袤 于 2025-9-27 10:19 编辑

【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试
本文介绍了 FireBeetle 2 ESP32-C5 IO 套装的相关信息,包括参数特点、资源分布、原理图及产品应用等,并结合固件上传流程实现 MicroPython 开发,通过一系列工程测试展示了该开发板的强大性能和多场景应用。
介绍
FireBeetle 2 ESP32-C5 IO套装包括两部分:Firebeetle 2 ESP32-C5 开发板和其专用的IO扩展底板。IO扩展板方便快速连接各种传感器外设,让Firebeetle 2 ESP32-C5开发板到手即用,无需焊接。
[*]FireBeetle 2 ESP32-C5 是一款搭载乐鑫 ESP32-C5 模组的低功耗 IoT 开发板,面向智能家居和广泛物联网场景,集高性能计算、多协议支持与智能电源管理于一体,为各种部署需求提供高可靠性、高灵活性与长续航的解决方案。提供 双频 Wi-Fi 6 连接(2.4 和 5 GHz) 以及蓝牙 5、Thread 和 Zigbee,便于无缝集成到智能家居平台 Home Assistant 等开源系统。
[*]FireBeetle 2 ESP32-C5 IO 扩展套件是一个先进的开发平台,将强大的 FireBeetle 2 ESP32-C5 与专用的 IO 扩展扩展板相结合。它专为下一代物联网应用而设计,提供尖端的无线性能、全面的协议支持和强大的电源灵活性。
[*]该开发套件具有太阳能充电功能的智能电源管理系统和 23 μA 的超低深度睡眠电流。
[*]可定制 Home Assistant 传感器节点、通过 MQTT 报告的太阳能户外显示器,甚至是多协议 Zigbee/Thread 网关。
详见:FireBeetle 2 ESP32-C5 RISC-V 物联网开发套件 |双频 Wi-Fi 6 - DFRobot .
外观参数
[*]处理器:RISC-V单核处理器
[*]时钟频率:240 MHz
[*]内存:384 KB
[*]电子模块: 320 KB
[*]闪存:4 MB
[*]LP SRAM:16 KB
资源
[*]数字 I/O x18
[*]带 6 通道的 LED PWM 控制器
[*]SPI x1
[*]UART x3 (LP UART x1)
[*]I2C x2 (LP I2C x1)
[*]I2S x1
[*]红外收发器:5个发射通道,5个接收通道
[*]1 个 12 位 SAR ADC,带 7 个通道
[*]DMA 控制器,具有 3 个接收通道和 3 个发射通道
板载资源分布
[*]Type-C:USB接口
[*]充电:充电指示灯

[*]熄灭:未连接电源或充满电
[*]常亮:充电中
[*]15/D13:板载 LED 引脚
[*]RST:复位按钮
[*]28/BOOT:IO28 针/BOOT 按钮
[*]BAT:锂电池接口,支持3.7至4.2V
[*]IO1:电池电压检测引脚
[*]3V3_C:IO0控制3.3V电源输出,默认关闭,可高电平开启。
[*]GDI:GDI显示接口
[*]ESP32-C5:模块型号为 ESP32-WROOM-1-N4
扩展板分布详见:wiki.dfrobot.com.cn .
引脚功能应用
[*]Matter 智能设备
[*]离网气象站
[*]高速、低延迟的机器人控制器
[*]多协议物联网网关
[*]原型互动艺术和可穿戴设备
主控
ESP32-C5 是行业首款支持 2.4&5 GHz 双频 Wi-Fi 6、Bluetooth 5 (LE) 和 IEEE 802.15.4 (Zigbee, Thread) 连接性能的 RISC-V MCU,专为需要高效无线传输的物联网应用设计。芯片搭载 RISC-V 32 位单核处理器,主频高达 240 MHz,内置 384 KB SRAM、320 KB ROM。它拥有 29 个可编程 GPIO,支持所有常用外围设备,并保证高连接可靠性和优越的安全功能。详见:ESP32-C5 2.4 & 5 GHz 双频 Wi-Fi 6 MCU | 乐鑫科技 .
原理图供电主控电池管理DC-DC引脚固件上传
这里介绍使用 MicroPython 开发的方式,需上传 ESP32-C5 对应的二进制 *.bin 固件至开发板;

[*]固件下载:DFR1222 FireBeetle 2 ESP32-C5 MicroPython 固件下载,详见:ESP32 MicroPython使用教程 DFRobot ;
[*]使用命令行烧录固件

[*]电脑安装 Python 软件,终端命令行输入指令 pip3 install esptool==4.9.dev3 安装 esptool 烧录工具;
[*]终端打开固件所在文件夹,执行指令 esptool --chip esp32c5 -b 921600 --before default_reset --after hard_reset write_flash 0x2000 FireBeetle_2_ESP32-C5.bin
[*]使用烧录工具上传固件,详见:ESP32-C5固件烧录工具分享 ;
工程测试
包括 GPIO、UART、IIC、SPI、WiFi、Bluetooth 等基本功能测试。

[*]下载安装并运行 Thonny IDE 软件;
[*]使用 Type-C 数据线连接开发板和电脑;
[*]配置解释器,选择 ESP32 对应的端口;
[*]通过指令 help('modules') 获取固件包含的库,以便后续开发;
BlinkThonny IDE 新建文件,添加如下代码并运行
import time
from machine import Pin

led=Pin(15,Pin.OUT)

while True:

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


板载 LED 闪烁;UART 串口这里通过串口连接雷达模块,实现串口接收雷达数据并终端打印的效果。硬件连接

ESP32-C5Radar moduleNote
3.3VVCCPower
GNDGNDGround
TXDRXDTransmit data
RXDTXDReceive data

Thonny IDE 新建文件,添加如下代码并运行
from machine import UART, Pin
import time

uart = UART(1, baudrate=115200, tx=Pin(11), rx=Pin(12))

print("Serial Monitor Started")

while True:
    if uart.any():
      data = uart.readline()
      if data:
            text = data.decode('utf-8')
            print(text, end='')
   
    time.sleep_ms(10)


终端打印 UART 串口接收到的雷达距离数据;IIC 通信
这里通过驱动 IIC 协议 OLED 显示进行 IIC 测试。
硬件连接

ESP32-C5OLEDNote
GNDGNDGround
3.3VVCCPower
SCL (Pin10)SCLSerial clock
SDA (Pin9)SDASerial data

Thonny IDE 新建文件,添加如下代码并运行
from machine import Pin, I2C
from ssd1306 import SSD1306_I2C

i2c = I2C(0,sda=Pin(9), scl=Pin(10), freq=400000)

devices = i2c.scan()
try:
    oled = SSD1306_I2C(128, 64, i2c,addr=devices)
    oled.text("hello world", 0, 0)
    oled.show()
except Exception as err:
    print(f"Unable to initialize oled: {err}")


OLED 显示文字信息SPI 通信
这里通过驱动 SPI 协议 OLED 显示进行 SPI 测试。
硬件连接

ESP32-C5SPI OLEDNote
GNDGNDGround
3.3VVCCPower
SCK (Pin23)SCKSerial Clock
MOSI (Pin24)MOSIMaster Output Slave Input
RES (Pin3)RESReset
DC (Pin2)DCData
CS (Pin4)CSChip Select

Thonny IDE 新建文件,添加如下代码并运行
from machine import Pin, SPI
import ssd1306 # 导入OLED驱动模块
import time

# 初始化SPI接口
spi = SPI(1, baudrate=10000000, polarity=0, phase=0, sck=Pin(23), mosi=Pin(24), miso=None)
# 初始化控制引脚
dc = Pin(2, Pin.OUT)
res = Pin(3, Pin.OUT)
cs = Pin(4, Pin.OUT)

# 初始化OLED对象
oled = ssd1306.SSD1306_SPI(128, 64, spi, dc, res, cs)

# 显示内容
oled.text("Hello, World!", 0, 0, 1)
oled.text("RP2350", 0, 16, 1)
oled.show()


显示效果WiFi 连接
Thonny IDE 新建文件,添加如下代码并运行
import network
import time

SSID = 'xxx'
PASSWORD = 'xxx'

def connect_wifi():
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
      print('正在连接WiFi...', end='')
      wlan.connect(SSID, PASSWORD)
      while not wlan.isconnected():
            print('.', end='')
            time.sleep(1)
    print('\n网络信息:', wlan.ifconfig())

connect_wifi()


终端打印 WiFi 连接信息以及获取到的 ip 地址;蓝牙连接
Thonny IDE 新建文件,添加如下代码并运行
from machine import Pin
import bluetooth, struct

_IRQ_CENTRAL_CONNECT    = 1
_IRQ_CENTRAL_DISCONNECT = 2
_IRQ_GATTS_WRITE      = 3

UART_UUID = bluetooth.UUID("6E400001-B5A3-F393-E0A9-E50E24DCCA9E")
UART_TX   = bluetooth.UUID("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")
UART_RX   = bluetooth.UUID("6E400002-B5A3-F393-E0A9-E50E24DCCA9E")

ble = bluetooth.BLE()
ble.active(True)

def bt_irq(event, data):
    if event == _IRQ_CENTRAL_CONNECT:
      print("BT connected")
    elif event == _IRQ_CENTRAL_DISCONNECT:
      print("BT disconnected")
      _advertise()
    elif event == _IRQ_GATTS_WRITE:
      _, attr_handle = data
      msg = ble.gatts_read(attr_handle)
      print("recv:", msg)

def _advertise():
    ble.gap_advertise(100, adv_data=_adv_payload())

def _adv_payload():
    # payload
    name = b"ESP32-C5 BLE"
    return bytearray((2, 0x01, 0x06, 1 + len(name), 0x09)) + name

ble.irq(bt_irq)
ble.gatts_register_services(((UART_UUID, ((UART_TX, bluetooth.FLAG_NOTIFY),
                                          (UART_RX, bluetooth.FLAG_WRITE)),),))
_advertise()


打开手机蓝牙,扫描周围设备,发现并连接 ESP32-C5 BLE 设备;离线运行
要使 MicroPython 脚本脱离电脑也可以运行,需要将 MicroPython 脚本保存到 MicroPython 设备,并命名为main.py ,复位即可自动运行程序;详见:ESP32 MicroPython使用教程 DFRobot .
总结
本文介绍了 FireBeetle 2 ESP32-C5 IO 套装的相关信息,包括参数特点、资源分布、原理图及产品应用等,并结合固件上传流程实现 MicroPython 开发,通过一系列工程测试展示了该开发板的强大性能和多场景应用,为相关产品的开发设计和快速应用提供了参考。


PY学习笔记 发表于 2025-9-27 12:51:12

期待大佬的lvgl+mpy示例

无垠的广袤 发表于 2025-9-27 19:30:25

PY学习笔记 发表于 2025-9-27 12:51
期待大佬的lvgl+mpy示例

感谢大佬支持~正在努力研究LVGL{:7_221:}
页: [1]
查看完整版本: 【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试