【ESP32-S31 Function coreboard-1开发板】介绍、环境搭建、工程测试
本文介绍了 ESP32-S31-Function-CoreBoard-1 开发板的相关信息,包括外观、系统框图、参数特点、原理图等,并使用官方 esptool 上传 MicroPython 固件,结合 Thonny IDE 编程开发环境,实现闪灯、ADC、WiFi 网页等项目设计。
介绍
ESP32-S31-Function-CoreBoard-1 是一款面向联网 AIoT 原型验证的开发板,搭载 ESP32-S31-WROOM-3 模组,支持 Wi-Fi 6、IEEE 802.15.4、Bluetooth 5.4 (LE + BR/EDR) 与千兆以太网;板载麦克风和扬声器输出接口,关键 IO 全部引出,并支持开箱即用的 AI 语音交互评估。


外观
包装




Top view


Bottom view


资源分布


Type-C 调试接口和 UART 接口;
RGB LED 可寻址 RGB 发光二极管,由 GPIO60 驱动;
所有 GPIO 管脚均引出至 J2 排针,便于外接;
RJ45 Ethernet Port(RJ45 以太网接口),支持 10/100/1000 Mbps 自适应的以太网接口;
RST:复位按键
BOOT:BOOT按键
USB 2.0 Type-A 接口与 ESP32-S31 芯片的 USB 2.0 OTG High-Speed 接口连接,符合 USB 2.0 规范;
模组 ESP32-S31-WROOM-3 集成主控 ESP32-S31 芯片,支持 Bluetooth 5.4(LE)及 IEEE 802.15.4(Zigbee/Thread/Matter)等,适用于多种低功耗物联网场景;


板载麦克风,连接至音频编解码芯片接口;
Speaker Output Port 用于连接扬声器。最大输出功率可驱动 4 Ω、3 W 扬声器;
引脚定义
J2 排针对应 GPIO 引脚


硬件框图


原理图




MicroPython
这里使用 MicroPython 开发,需通过烧录工具提前上传固件至板端。
烧录工具
终端执行如下指令,安装并更新 esptool,清空 Flash
pip install --upgrade esptool esptool erase_flash
esptool 会尝试用 ESP32 自动检测串口, 读取基于 Espressif 的设备固件信息;
详见:Installation esptool .
固件上传
下载 最新 MicroPython 固件并上传至开发板,终端执行指令
esptool --baud 1500000 write-flash 0 D:\31Pre-test\ESP32-S31\code\micropython-ESP32S31_v1.29.0-preview-20250530.bin
程序自动检测目标设备端口并上传二进制固件;


详见:MicroPython - Python for microcontrollers .
环境搭建
下载并安装 Thonny IDE 软件;
使用 Type-C 数据线连接电脑和开发板;
运行 Thonny IDE 软件,在右下角选择解释器为 MicroPython (ESP32);
Shell 终端输入指令 help("modules") 获取固件包含的库


工程测试
通过闪灯、驱动 WS2812、ADC 温度打印等项目设计完成工程测试。
Blink
将 LED 模块连接开发板 GPIO15 引脚。
代码
Thonny IDE 新建工程文件,并添加如下代码
from machine import Pin import neopixel import time PIN_NUM = 60 LED_COUNT = 1 np = neopixel.NeoPixel(Pin(PIN_NUM), LED_COUNT) bright = 0.01 def set_bright_color(r,g,b): nr = int(r * bright) ng = int(g * bright) nb = int(b * bright) np[0] = (nr, ng, nb) np.write() while True: set_bright_color(255,255,255) time.sleep_ms(500) set_bright_color(0,0,0) time.sleep_ms(500)
保存代码。
效果
运行 blink.py 程序;
LED 闪烁,周期为 1 秒;

ADC 温度计
ESP32-S31 内置传感器,用于测量芯片内部的温度。
该温度传感器模组包含一个 8 位 Sigma-Delta 模拟-数字转换器 (ADC) 和一个数字-模拟转换器 (DAC),可以补偿测量结果,减少温度测量的误差。
详见:温度传感器 - ESP32-S31 .
代码
Thonny IDE 新建工程文件,并添加如下代码
import esp32
import time
try:
while True:
temp = esp32.mcu_temperature()
print(f"mcu: {temp:.1f}°C")
time.sleep(1)
except KeyboardInterrupt:
print('Stop Print.')
finally:
print('Terminate Program.')保存代码。
效果
运行 mcu_temp_print.py 程序;
Shell 终端打印 MCU 内部温度,间隔为 1 秒;


WiFi
通过板载 WiFi 模块连接局域网,设计网页实现芯片内部温度的远程监控。
代码
Thonny IDE 新建工程文件,并添加如下代码
import network, socket, esp32, time
from machine import reset
WIFI_SSID = "xxx"
WIFI_PASS = "xxx"
PORT = 8080
# 连接WiFi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(WIFI_SSID, WIFI_PASS)
while not wlan.isconnected():
time.sleep(0.5)
ip = wlan.ifconfig()[0]
print(f"IP: {ip}:{PORT}")
# 网页
# 启动服务器
addr = socket.getaddrinfo('0.0.0.0', PORT)[0][-1]
s = socket.socket()
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(addr)
s.listen(1)
print("Server running...")
while True:
try:
cl, _ = s.accept()
cl.recv(1024)
temp = esp32.mcu_temperature()
cl.send(HTML % f"{temp:.1f}")
cl.close()
except:
pass保存代码。
效果
运行 mcu_temp_web.py 程序;
Shell 终端输出网页对应地址 http://192.168.2.162:80 ;


浏览器输入网页对应地址,访问网页服务器,获取实时 MCU 温度信息;


总结
本文介绍了 ESP32-S31-Function-CoreBoard-1 开发板的相关信息,包括外观、系统框图、参数特点、原理图等,并使用官方 esptool 上传 MicroPython 固件,结合 Thonny IDE 编程开发环境,实现闪灯、ADC、WiFi 网页等项目设计,为相关产品的快速开发和应用设计提供了参考。
我要赚赏金
