FireBeetle ESP32-S3

1.FireBeetle 2 ESP32-S3简介

FireBeetle 2 ESP32-S3是一款基于ESP32-S3-WROOM-1-N16R8模组设计的主控板。ESP32-S3-WROOM-1-N16R8模组拥有16MB Flash和8MB PSRAM,可以存储更多的代码和数据,模组搭载的ESP32-S3芯片拥有强大的神经网络运算能力和信号处理能力,适用于图像识别、语音识别等项目。

FireBeetle 2 ESP32-S3板载摄像头接口,可以方便的连接摄像头,独立的摄像头供电电路,减少了其他信号对摄像头的干扰。开发板附带了一个OV2640摄像头,该摄像头拥有200万像素和68°视场角,最高支持1600*1200分辨率。FireBeetle 2 ESP32-S3板载GDI屏幕接口,解决使用屏幕时的接线烦恼,集成电源管理功能,支持锂电池充电和硬件开关机。

FireBeetle 2 ESP32-S3支持Wi-Fi 和 Bluetooth 5 (LE) 双模通讯,降低了设备配网难度,同时还支持蓝牙 Mesh (Bluetooth Mesh) 协议和乐鑫 Wi-Fi Mesh可以实现更高的通讯稳定性和更大的覆盖面积。FireBeetle 2 ESP32-S3支持Matter协议,可用于开发符合智能家居家居行业统一标准的设备,适用于广泛的物联网场景。

FireBeetle 2 ESP32-S3可以使用Arduino IDE、ESP-IDF、MicroPython进行编程,C语言、python都可以轻松的操纵硬件。

如果出现烧录失败,请连接USB,按住BOOT按键不放,点击RST按键,然后再松开BOOT按键使开发板进入下载模式

2.产品特性

  • ESP32-S3模组,支持AI加速
  • 16MB Flash和8MB PSRAM,更大的代码存储空间
  • 板载摄像头接口和独立的摄像头供电,连接方便抗干扰强
  • 集成电源管理,支持锂电池充电和硬件开关机
  • 板载GDI接口,轻松连接屏幕
  • 支持Wi-Fi 和 Bluetooth 5双模通讯

3.产品参数

基本参数

  • 工作电压: 3.3V
  • Type-C输入电压: 5V DC
  • VCC输入电压:5V DC
  • 最大充电电流: 1A
  • 工作温度:-20~80℃
  • 模块尺寸:25.4x60mm

硬件信息

  • 处理器:Xtensa® 双核32位LX7微处理器
  • 主频:240 MHz
  • SRAM:512KB
  • ROM:384KB
  • Flash:16MB
  • PSRAM: 8MB
  • RTC SRAM:16KB
  • USB: USB 2.0 OTG全速接口
WIFI
  • WIFI协议:IEEE 802.11b/g/n
  • WIFI频宽: 2.4 GHz 频带支持 20 MHz 和 40 MHz 频宽
  • WIFI模式:Station 模式、SoftAP 模式、SoftAP+Station 模式和混杂模式
  • WIFI频率:2.4GHz
  • 帧聚合: TX/RX A-MPDU, TX/RX A-MSDU
蓝牙
  • 蓝牙协议:Bluetooth 5、Bluetooth mesh
  • 蓝牙频率:125 Kbps、500 Kbps、1 Mbps、2 Mbps
接口引脚
  • 数字I/O x26
  • LED PWM 控制器 8个通道
  • SPI x2
  • UART x3
  • I2C x2
  • I2S x2
  • 红外收发器:发送通道 x5、接收通道 x5
  • 2 × 12 位 SAR ADC, 20个通道
  • DMA 控制器,5 个接收通道和 5 个发送通道

4.功能引脚示意图

功能指示

FireBeetle 2 ESP32-S3

  • Type-C:Type-C USB接口
  • 21/D13:板载LED引脚
  • 47/D14:IO/电源控制引脚,默认长按6S关机,长按2S开机
  • ESP32-S3:ESP32-S3-WROOM-1-N16R8或ESP32-S3-WROOM-1U-N16R8模组
  • RST:复位按键
  • BOOT:BOOT按键
  • AXP313A:电源管理芯片
  • ETA6003:ETA6003锂电池充电管理芯片
  • BAT:锂电池接口
  • Charge:充电指示灯
  • 熄灭:未接入电源或已充满
  • 常亮:充电中
  • 闪烁:电池未接入
  • GDI:GDI显示屏接口
  • CAM:DVP摄像头接口

引脚示意

引脚概述
  • GPIO:常规引脚
  • Analog:模拟输入引脚
  • ADC:模数转换
  • TOUCH:触摸引脚
  • SPI:SPI接口
  • I2C:I2C接口
  • UART:UART接口
  • USB:USB接口
  • JTAG:调试接口
  • 3V3:3.3V稳压电源输出
  • VCC:电源输入/输出
  • 输入:5V DC输入为FireBeetle供电(无法为锂电池充电)
  • 输出:5V-USB 供电时输出USB电压,3.7V-锂电池供电时输出锂电池电压
  • GND:公共地引脚

GPIO分配表

GDI显示接口

此接口为DFRbot专用GDI显示屏接口,使用18pin-FPC线连接屏幕,连接屏幕更加便捷。
以下是GDI接口使用的引脚列表

FPC PINS FireBeetle ESP32-S3 PINS Description
VCC 3V3 3.3V
LCD_BL 21/D13 背光
GND GND GND
SCLK 17/SCK SPI时钟
MOSI 15/MOSI 主机输出,从机输入
MISO 16/MISO 主机输入,从机输出
LCD_DC 3/D2 数据/命令
LCD_RST 38/D3 复位
LCD_CS 18/D6 TFT片选
SD_CS 9/D7 SD卡片选
FCS 7/D6 字库片选
TCS 12/D12 触摸片选
SCL 2/SCL I2C时钟
SDA 1/SDA I2C数据
INT 13/D11 INT
BUSY 14/D10 防撕裂引脚
X1 NC 自定义引脚1
X2 NC 自定义引脚2

使用FPC链接屏幕时根据GDL demo配置所需对应的引脚号即可,通常只需要根据不同主控配置三个引脚

支持GDI的显示屏:

CAM接口

此接口为DVP摄像头接口,兼容OV2640和OV7725摄像头

使用摄像头需要使能AXP313A电源输出,点击下载AXP313A库(内含ESP-IDF、MicroPython驱动)
以下是DVP摄像头接口使用的引脚列表

CAM PINS FireBeetle ESP32-S3 PINS Description
NC NC NC
AGND / 模拟地
SDA 1/SDA I2C数据
AVDD / AXP313A可控电源
SCL 2/SCL I2C时钟
RST / 已上拉到DOVDD
VSYNC 6/A2 帧同步信号
PWDN / 已下拉
HREF 42 行同步信号
DVDD / AXP313A可控电源
DOVDD / AXP313A可控电源
D9 48 DATA 9
XMCLK 45 时钟信号
D8 46 DATA 8
DGND GND 数字地
D7 8/A3 DATA 7
PCLK 5/A1 像素时钟信号
D6 7/D5 DATA 6
D2 39 DATA 2
D5 4/A0 DATA 5
D3 40 DATA 3
D4 41 DATA 4
NC NC NC
NC NC NC

连接方式

摄像头Pin1引脚对应DVP接口的白色圆点连接

5. 首次使用

5.1 Arduino环境配置

当您首次使用Firebeetle 2 ESP32-S3,您需要了解以下步骤

  1. 添加IDE中的json链接
  2. 下载主控的核心
  3. 选择开发板以及串口
  4. 打开示例程序并烧录
  5. 了解串口监视器
  • Arduino IDE 编译环境配置

  • 配置URL网址到Arduino IDE

  • 打开Arduino IDE,点击File->Preferences,如下图所示:

Beetle ESP32-C3

  • 在新打开的界面中,点击如下图红色圆圈中的按钮

Beetle ESP32-C3

  • 填入需要使用的版本链接,点击“OK”
    • 稳定版:https://espressif.github.io/arduino-esp32/package_esp32_index.json
    • 开发版:https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

注意:

  • 请根据芯片支持情况选择合适的版本。
  • 如果填入过其它链接,在下一行添加新链接即可 。
DFRobot ESP32
  • 更新板卡
  • 打开Tools->Board:->Boards Manager...,如下图所示:

Beetle ESP32-C3

  • Boards Manager会自动更新板卡,如下图所示:

Beetle ESP32-C3

  • 更新完成后,您可以在上方输入esp32,出现如下情况时选择esp32点击安装即可(建议安装最新版本):

Beetle ESP32-C3

  • 等待如下进度条结束:

Beetle ESP32-C3

  • 安装完成后,列表会显示已经安装esp32主板,如下图所示:

Beetle ESP32-C3

  • 点击Tools->Board:,选择DFRobot FireBeetle 2 ESP32-S3

Beetle ESP32-C3

  • 在开始前您还需要配置如下设置(当您选择 Disabled 时,串口为RX(44)、TX(43),如果您需要通过USB在Arduino监视器上打印,您需要选择Enable)

Beetle ESP32-C3

  • 点击Port选择对应的串口

Beetle ESP32-C3

5.2 LED闪烁

板载LED灯默认为引脚21

代码

int led = 21;
void setup() {
  pinMode(led,OUTPUT);
}

void loop() {
  digitalWrite(led,HIGH);
  delay(1000);
  digitalWrite(led,LOW);
  delay(1000);
}
  • 将以上程序粘贴到程序框中
  • 点击箭头等待程序编译并烧录至开发板

烧录成功

  • 如图所示及烧录成功
  • 您会看见板载LED灯开始闪烁

6. 基础教程

基础教程内容包括:PWM、中断、串口、舵机、SD卡的教程

7. 进阶教程

进阶教程内容包括:屏幕显示、蓝牙、WIFI、ESP-NOW、项目示例、一键配网、摄像头的教程

8.MicroPython教程

8.1 MicroPython环境搭建

想要在FireBeetle 2 ESP32-S3上运行microPython,首先需要给FireBeetle 2 ESP32-S3烧录固件

  1. 下载需要使用的Micropython固件
  1. 点击下载esptool Flash烧录工具

  2. 运行flash_download_tool_3.9.3.exe

  3. 选择FireBeetle 2 ESP32-S3主控,通过USB线连接电脑。按住BOOT,再按下RST,然后松开两个按键

  4. 选择下载的固件,擦除flash后烧录固件

8.2 MicroPython编译器

  1. 点击下载thonny
  2. 进入软件,对解释器进行设置(Run->Configure interpreter...)

  3. 将代码复制到代码框中,保存文件到MicroPython设备中,命名为main.py
import time
from machine import Pin 

led=Pin(21,Pin.OUT)

while True:
 
 led.value(1)
 time.sleep(1)
 led.value(0)
 time.sleep(1)

  1. 重启FireBeetle 2 ESP32-S3即可看到L灯闪烁

8.3 MicroPython教程

MicroPython基础教程

英文版

中文版

MicroPython摄像头固件教程

  1. 将power.py和test.py保存到MicroPython设备中
  2. 运行test.py代码,停止进程后,即可看到拍摄的照片

摄像头API

#初始化摄像头
camera.init(0, format=camera.JPEG)

# 拍摄一张图片
buf = camera.capture()

# 其他设置:
# 上翻下翻
camera.flip(0)
#左/右
camera.mirror(1)
 
# 分辨率
camera.framesize(camera.FRAME_HVGA)
# 选项如下:
# FRAME_96X96 FRAME_QQVGA FRAME_QCIF FRAME_HQVGA FRAME_240X240
# FRAME_QVGA FRAME_CIF FRAME_HVGA FRAME_VGA FRAME_SVGA
# FRAME_XGA FRAME_HD FRAME_SXGA FRAME_UXGA FRAME_FHD
# FRAME_P_HD FRAME_P_3MP FRAME_QXGA FRAME_QHD FRAME_WQXGA
# FRAME_P_FHD FRAME_QSXGA
# 有关详细信息,请查看此链接:https://bit.ly/2YOzizz
 
# 特效
camera.speffect(camera.EFFECT_NONE)
#选项如下:
# 效果\无(默认)效果\负效果\ BW效果\红色效果\绿色效果\蓝色效果\复古效果
# EFFECT_NONE (default) EFFECT_NEG \EFFECT_BW\ EFFECT_RED\ EFFECT_GREEN\ EFFECT_BLUE\ EFFECT_RETRO
 
# 白平衡
camera.whitebalance(camera.WB_HOME)
#选项如下:
# WB_NONE (default) WB_SUNNY WB_CLOUDY WB_OFFICE WB_HOME
 
# 饱和
camera.saturation(0)
#-2,2(默认为0). -2灰度
# -2,2 (default 0). -2 grayscale 
 
# 亮度
camera.brightness(0)
#-2,2(默认为0). 2亮度
# -2,2 (default 0). 2 brightness
 
# 对比度
camera.contrast(0)
#-2,2(默认为0).2高对比度
#-2,2 (default 0). 2 highcontrast
 
# 质量
camera.quality(10)
#10-63数字越小质量越高

常见问题

烧录报错

原因

  • 如果Loop中延时过短或者不加延时会导致烧录超时

  • 错误的调用一些函数会导致计算机不能识别USB

解决办法

  • 按住BOOT,再按下RST,然后松开两个按键,再烧录。

串口无打印

解决办法

  • 检查USB CDC是否处于Enable状态
  • 使用其他的串口调试助手查看打印信息

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多