12浏览
查看: 12|回复: 1

[ESP8266/ESP32] 【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】 介绍、固件上传、工程测试图1
  • FireBeetle 2 ESP32-C5 是一款搭载乐鑫 ESP32-C5 模组的低功耗 IoT 开发板,面向智能家居和广泛物联网场景,集高性能计算、多协议支持与智能电源管理于一体,为各种部署需求提供高可靠性、高灵活性与长续航的解决方案。提供 双频 Wi-Fi 6 连接(2.4 和 5 GHz) 以及蓝牙 5、Thread 和 Zigbee,便于无缝集成到智能家居平台 Home Assistant 等开源系统。
    【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图2
  • FireBeetle 2 ESP32-C5 IO 扩展套件是一个先进的开发平台,将强大的 FireBeetle 2 ESP32-C5 与专用的 IO 扩展扩展板相结合。它专为下一代物联网应用而设计,提供尖端的无线性能、全面的协议支持和强大的电源灵活性。
  • 该开发套件具有太阳能充电功能的智能电源管理系统和 23 μA 的超低深度睡眠电流。
  • 可定制 Home Assistant 传感器节点、通过 MQTT 报告的太阳能户外显示器,甚至是多协议 Zigbee/Thread 网关。


外观
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图3
参数
  • 处理器: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 个发射通道

板载资源分布
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图4
  • 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

扩展板分布
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图5

引脚功能
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图6
应用
  • Matter 智能设备
  • 离网气象站
  • 高速、低延迟的机器人控制器
  • 多协议物联网网关
  • 原型互动艺术和可穿戴设备

主控
ESP32-C5 是行业首款支持 2.4&5 GHz 双频 Wi-Fi 6、Bluetooth 5 (LE) 和 IEEE 802.15.4 (Zigbee, Thread) 连接性能的 RISC-V MCU,专为需要高效无线传输的物联网应用设计。
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图7
芯片搭载 RISC-V 32 位单核处理器,主频高达 240 MHz,内置 384 KB SRAM、320 KB ROM。它拥有 29 个可编程 GPIO,支持所有常用外围设备,并保证高连接可靠性和优越的安全功能。
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图8

原理图供电
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图9
主控
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图10
电池管理
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图11
DC-DC
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图12
引脚
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图13
固件上传
这里介绍使用 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
      【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图14

  • 使用烧录工具上传固件,详见:ESP32-C5固件烧录工具分享

【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图15
工程测试
包括 GPIO、UART、IIC、SPI、WiFi、Bluetooth 等基本功能测试。

  • 下载安装并运行 Thonny IDE 软件;
  • 使用 Type-C 数据线连接开发板和电脑;
  • 配置解释器,选择 ESP32 对应的端口;
    【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图16
  • 通过指令 help('modules') 获取固件包含的库,以便后续开发;

【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图17
Blink
Thonny IDE 新建文件,添加如下代码并运行

  1. import time
  2. from machine import Pin
  3. led=Pin(15,Pin.OUT)
  4. while True:
  5. led.value(1)
  6. time.sleep(0.2)
  7. led.value(0)
  8. time.sleep(0.2)
复制代码



板载 LED 闪烁;
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图18
UART 串口
这里通过串口连接雷达模块,实现串口接收雷达数据并终端打印的效果。
硬件连接[td]
ESP32-C5
Radar module
Note
3.3V
VCC
Power
GND
GND
Ground
TXD
RXD
Transmit data
RXD
TXD
Receive data

Thonny IDE 新建文件,添加如下代码并运行

  1. from machine import UART, Pin
  2. import time
  3. uart = UART(1, baudrate=115200, tx=Pin(11), rx=Pin(12))
  4. print("Serial Monitor Started")
  5. while True:
  6.     if uart.any():
  7.         data = uart.readline()
  8.         if data:
  9.             text = data.decode('utf-8')
  10.             print(text, end='')
  11.    
  12.     time.sleep_ms(10)
复制代码



终端打印 UART 串口接收到的雷达距离数据;
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图19
IIC 通信
这里通过驱动 IIC 协议 OLED 显示进行 IIC 测试。

硬件连接[td]
ESP32-C5
OLED
Note
GND
GND
Ground
3.3V
VCC
Power
SCL (Pin10)
SCL
Serial clock
SDA (Pin9)
SDA
Serial data

Thonny IDE 新建文件,添加如下代码并运行

  1. from machine import Pin, I2C
  2. from ssd1306 import SSD1306_I2C
  3. i2c = I2C(0,sda=Pin(9), scl=Pin(10), freq=400000)
  4. devices = i2c.scan()
  5. try:
  6.     oled = SSD1306_I2C(128, 64, i2c,addr=devices[0])
  7.     oled.text("hello world", 0, 0)
  8.     oled.show()
  9. except Exception as err:
  10.     print(f"Unable to initialize oled: {err}")
复制代码



OLED 显示文字信息
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图20
SPI 通信
这里通过驱动 SPI 协议 OLED 显示进行 SPI 测试。

硬件连接[td]
ESP32-C5
SPI OLED
Note
GND
GND
Ground
3.3V
VCC
Power
SCK (Pin23)
SCK
Serial Clock
MOSI (Pin24)
MOSI
Master Output Slave Input
RES (Pin3)
RES
Reset
DC (Pin2)
DC
Data
CS (Pin4)
CS
Chip Select

Thonny IDE 新建文件,添加如下代码并运行

  1. from machine import Pin, SPI
  2. import ssd1306 # 导入OLED驱动模块
  3. import time
  4. # 初始化SPI接口
  5. spi = SPI(1, baudrate=10000000, polarity=0, phase=0, sck=Pin(23), mosi=Pin(24), miso=None)
  6. # 初始化控制引脚
  7. dc = Pin(2, Pin.OUT)
  8. res = Pin(3, Pin.OUT)
  9. cs = Pin(4, Pin.OUT)
  10. # 初始化OLED对象
  11. oled = ssd1306.SSD1306_SPI(128, 64, spi, dc, res, cs)
  12. # 显示内容
  13. oled.text("Hello, World!", 0, 0, 1)
  14. oled.text("RP2350", 0, 16, 1)
  15. oled.show()
复制代码



显示效果
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图21
WiFi 连接
Thonny IDE 新建文件,添加如下代码并运行

  1. import network
  2. import time
  3. SSID = 'xxx'
  4. PASSWORD = 'xxx'
  5. def connect_wifi():
  6.     wlan = network.WLAN(network.STA_IF)
  7.     wlan.active(True)
  8.     if not wlan.isconnected():
  9.         print('正在连接WiFi...', end='')
  10.         wlan.connect(SSID, PASSWORD)
  11.         while not wlan.isconnected():
  12.             print('.', end='')
  13.             time.sleep(1)
  14.     print('\n网络信息:', wlan.ifconfig())
  15. connect_wifi()
复制代码



终端打印 WiFi 连接信息以及获取到的 ip 地址;
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图22
蓝牙连接
Thonny IDE 新建文件,添加如下代码并运行

  1. from machine import Pin
  2. import bluetooth, struct
  3. _IRQ_CENTRAL_CONNECT    = 1
  4. _IRQ_CENTRAL_DISCONNECT = 2
  5. _IRQ_GATTS_WRITE        = 3
  6. UART_UUID = bluetooth.UUID("6E400001-B5A3-F393-E0A9-E50E24DCCA9E")
  7. UART_TX   = bluetooth.UUID("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")
  8. UART_RX   = bluetooth.UUID("6E400002-B5A3-F393-E0A9-E50E24DCCA9E")
  9. ble = bluetooth.BLE()
  10. ble.active(True)
  11. def bt_irq(event, data):
  12.     if event == _IRQ_CENTRAL_CONNECT:
  13.         print("BT connected")
  14.     elif event == _IRQ_CENTRAL_DISCONNECT:
  15.         print("BT disconnected")
  16.         _advertise()
  17.     elif event == _IRQ_GATTS_WRITE:
  18.         _, attr_handle = data
  19.         msg = ble.gatts_read(attr_handle)
  20.         print("recv:", msg)
  21. def _advertise():
  22.     ble.gap_advertise(100, adv_data=_adv_payload())
  23. def _adv_payload():
  24.     # payload
  25.     name = b"ESP32-C5 BLE"
  26.     return bytearray((2, 0x01, 0x06, 1 + len(name), 0x09)) + name
  27. ble.irq(bt_irq)
  28. ble.gatts_register_services(((UART_UUID, ((UART_TX, bluetooth.FLAG_NOTIFY),
  29.                                           (UART_RX, bluetooth.FLAG_WRITE)),),))
  30. _advertise()
复制代码



打开手机蓝牙,扫描周围设备,发现并连接 ESP32-C5 BLE 设备;
【FireBeetle 2 ESP32-C5】 介绍、固件上传、工程测试图23
离线运行
要使 MicroPython 脚本脱离电脑也可以运行,需要将 MicroPython 脚本保存到 MicroPython 设备,并命名为main.py ,复位即可自动运行程序;

总结
本文介绍了 FireBeetle 2 ESP32-C5 IO 套装的相关信息,包括参数特点、资源分布、原理图及产品应用等,并结合固件上传流程实现 MicroPython 开发,通过一系列工程测试展示了该开发板的强大性能和多场景应用,为相关产品的开发设计和快速应用提供了参考。



PY学习笔记  中级技师

发表于 1 小时前

期待大佬的lvgl+mpy示例
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail