Firebeetle 2 ESP32 C5 评测1:驱动OLED屏幕
收到了Firebeetle 2 ESP32 C5 开发板,很开心。FireBeetle 2 ESP32-C5 是一款搭载乐鑫 ESP32-C5 模组的低功耗 IoT 开发板,支持2.4 G和5 G 双频Wi-Fi 6的芯片。支持 Wi-Fi、Thread、BLE、Zigbee 协议,可构建 Matter Wi-Fi/Thread 终端设备,实现跨平台智能家居设备互联。结合外部 MCU,还可作为 Thread 边界路由器、Matter 网关 或 Zigbee 网桥,覆盖复杂场景需求。
上电检查了一下,发现还是ESP32-C5内测版,是ECHO1,v0.1版本,ESP32-C5的尝鲜版。这个版本编程起来略有麻烦!烧写需要指定的版本,略有麻烦!

计划着用这个开发板做个宽范围的温度计的项目。温度探头使用PT100,使用OLED屏幕作为显示。使用arduino编程。
第一步:搭建开发环境。
使用arduino编程,但是查看了一下,platformIO目前尚不支持这款芯片,所以使用Arduino原生的IDE编程。首先,在ArduinoIDE中配置选项中添加配置文件网址:https://jihulab.com/esp-mirror/espressif/arduino-esp32/-/raw/gh-pages/package_esp32_dev_index_cn.json

然后在开发板管理中,找到这个特定的版本“3.3.0-alpha1-cn”。忽略掉系统提示的升级要求,直接安装这个版本,只有这个版本才能烧写ECHO1,v0.1版本的芯片。

安装完成后,选择ESP32C5的开发板。

第二步:连接硬件
OLED屏幕使用I2C总线与开发板连接。Firebeetle 2 ESP32 C5 扩展板上有将I2C(SCL:10;SDA:9)以排针的方式引出。使用杜邦线连接。

第三步:编程
arduino中驱动OLED屏幕有很多库,我还是习惯用U8g2库(主要是这个库能显示中文)。在ArduinoIDE中安装这个库。

#include <Wire.h>
#include <U8g2lib.h>
// FireBeetle 2 ESP32-C5 硬件 I2C 引脚
#define SDA_PIN 9
#define SCL_PIN 10
// SSD1306 128x64,硬件 I2C,全缓冲模式,不使用复位引脚
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE, SCL_PIN, SDA_PIN);
unsigned long count = 0;
void setup() {
Serial.begin(115200);
// 0x7A 为跳线修改后的 I2C 地址(写入地址形式,即寄存器地址 0x3D << 1)
u8g2.setI2CAddress(0x7A);
Wire.begin(SDA_PIN, SCL_PIN);
u8g2.begin();
}
void loop() {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_8x13B_tf);
u8g2.setCursor(0, 16);
u8g2.print("SSD1306 128x64");
u8g2.setFont(u8g2_font_6x13_tf);
u8g2.drawUTF8(0, 36, "U8G2 Library");
char line[24];
sprintf(line, "计数:%lu", (unsigned long)count++);
u8g2.setFont(u8g2_font_unifont_t_chinese3);
u8g2.drawUTF8(0, 52, line);
u8g2.sendBuffer();
delay(200);
}做个简单的显示的例子,编译烧写。屏幕完美点亮。






