ESP-AI mini 开发套件 v1.0.0
1854字约6分钟
2026-6-6
简介
ESP-AI mini 开发套件,是一套可以搭配 ESP-AI mini 开发板使用的扩展板,在 Mini 开发板的基础上,增加了更多的接口和功能,方便用户进行二次开发。
ESP-AI mini 开发板 开发板详情请见 👉 ESP-AI mini 开发板
ESP-AI mini 开发板简单来说就是一块基于 ESP32s3 N16R8 模组的开发板,集成了扬声器和麦克风,可以进行语音交互和语音识别。
它的优点是很小,但是优点也带来了缺点,由于体积问题,所以删减了屏幕接口和扩展IO接口。
现在有了这个扩展板,可以搭配 ESP-AI mini 开发板使用,扩展出屏幕接口和扩展IO接口。
AI 编码指南(写代码的 Skills)
下载文件:https://espai.fun/skills/esp-ai-mini-ext-1.0.0.md 保存到你的 skills 目录,或者直接将网址给 AI 让他读取。
在提问时带上“ESP-AI Mini 开发套件”或“ESP-AI SDK”关键词,例如“使用 ESP-AI Mini 开发套件 编写天气时钟”,AI 就会自动加载这份 Skills,并按照开发板真实引脚和 ESP-AI SDK 规范生成代码。
例如:
- 使用 ESP-AI Mini 开发套件 开发板实现:语音播报天气
- 使用 ESP-AI Mini 开发套件 开发板 2.4 寸屏幕:在屏幕上显示 “Hello World”
支持的屏幕类型
- ✅️ TFT 屏幕
- ✅️ OLED 屏幕
- ❌️ 墨水屏,正在支持中...
TFT 屏幕套件 IO 定义
下面的引脚都是 IO 号
| ESP32s3 | INMP441 | Max98357 | WS2812 | 唤醒按钮 | 电压检测IO | TFT屏幕 | 扩展IO |
|---|---|---|---|---|---|---|---|
| 3v3 | VCC | VCC | VCC | VCC | |||
| GND | GND | GND | GND | GND | |||
| GND | L/R | ||||||
| 4 | SCK | ||||||
| 5 | WS | ||||||
| 6 | SD | ||||||
| 15 | DIN | ||||||
| 16 | BCLK | ||||||
| 17 | LRC | ||||||
| 7 | |||||||
| 18 | DIN | ||||||
| 11 | |||||||
| 12 | |||||||
| 10 | OUT | ||||||
| 8 | 300K+100K 电阻分压 | ||||||
| 42 | MOSI | ||||||
| 39 | SCLK | ||||||
| 13 | CS | ||||||
| 7 | DC | ||||||
| 3 | BL | ||||||
| 2 | IO2 |
OLED 屏幕套件 IO 定义
下面的引脚都是 IO 号
| ESP32s3 | INMP441 | Max98357 | WS2812 | 唤醒按钮 | 电压检测IO | OLED屏幕 | 扩展IO |
|---|---|---|---|---|---|---|---|
| 3v3 | VCC | VCC | VCC | VCC | |||
| GND | GND | GND | GND | GND | |||
| GND | L/R | ||||||
| 4 | SCK | ||||||
| 5 | WS | ||||||
| 6 | SD | ||||||
| 15 | DIN | ||||||
| 16 | BCLK | ||||||
| 17 | LRC | ||||||
| 7 | |||||||
| 18 | DIN | ||||||
| 11 | |||||||
| 12 | |||||||
| 10 | OUT | ||||||
| 8 | 300K+100K 电阻分压 | ||||||
| 42 | SCL | ||||||
| 39 | SDA | ||||||
| 2 | IO2 | ||||||
| 3 | IO3 | ||||||
| 7 | IO7 | ||||||
| 13 | IO13 |
内置固件
ESP-AI mini 开发套件内置了 ESP-AI Mini 开发套件固件 固件,可以直接使用, 当然也可以自行写代码开发。
OLED 0.96寸 固件: https://dev.espai.fun/#/UserBinCommunity/1/27997a38ca094c2fbfa94b611946c7a4
TFT 2.4寸 固件: https://dev.espai.fun/#/UserBinCommunity/1/77088eb34ce0439a9904b5098fa42bad
TFT 1.54寸 固件: https://dev.espai.fun/#/UserBinCommunity/1/9a71bf2ee5c247189465139a94084679
TFT 1.28 寸双目固件(单圆屏也是这个固件): https://dev.espai.fun/#/UserBinCommunity/1/77129ebd43e24599a3e0650fb3016821
TFT 1.28 寸双目固件(单圆屏也是这个固件): https://dev.espai.fun/#/UserBinCommunity/1/5300e9b52beb4756af1494ca2f350847
固件基于 ESP-AI Studio 开发,支持在线烧录,支持在线调试,支持在线更新固件。
购买链接
淘宝购买
https://item.taobao.com/item.htm?id=991885518164&mi_id=0000ND6DRM2N8aiCZvoJPcvRBhqrzaHjPV4R1iC2PRY0qD4&spm=a21xtw.29978516.0.0&xxc=shop作者
小明IO视频演示
产品介绍





代码案列
如果你只是想点亮屏幕,那只需要关注 User_Setup.h 配置和背光代码即可。
2.4寸屏搭配 ESP-AI 开源代码使用(基于 ESP-AI-Studio 开发)
- 在
\libraries2\TFT_eSPI\User_Setup.h修改配置
#define ST7789_2_DRIVER
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
#define TFT_MOSI 42 // LCD_SDA Automatically assigned with ESP8266 if not defined
#define TFT_SCLK 39 // LCD_SCK Automatically assigned with ESP8266 if not defined
#define TFT_DC 7 // Data Command control pin
#define TFT_CS 13 // Chip select control pin D8- 在
\libraries2\esp-ai\src\USER_CONFIG.h修改配置
/** 音频编解码方案 **/
#define CODEC_TYPE_BLAMP_I2S // 两路 I2S + MSM 数字麦克风 + MAX 数字功放- 在
\project\src中增加文件backlight_control.h
/**
* Copyright (c) 2026 义体工坊团队
* MIT License
*
* 屏幕背光控制模块
*/
#ifndef BACKLIGHT_CONTROL_H
#define BACKLIGHT_CONTROL_H
#include <Arduino.h>
// 初始化背光控制(默认关闭)
void initBacklight();
// 设置背光亮度 (0-255,255最亮)
void setBacklightBrightness(uint8_t brightness);
// 开启背光
void setBacklightOn();
// 关闭背光
void setBacklightOff();
// 重置背光计时器
void resetBacklightTimer();
// 更新背光状态(检查超时)
void updateBacklight();
#endif- 在
\project\src中增加文件backlight_control.cpp
/**
* Copyright (c) 2026 义体工坊团队
* MIT License
*
* 屏幕背光控制模块实现
*/
#include "backlight_control.h"
#define SCREEN_BL_PIN 3
#define SCREEN_TIMEOUT_MS (120 * 1000)
#define LEDC_FREQ 5000
#define LEDC_RES 8
#define LEDC_MAX ((1 << LEDC_RES) - 1)
#define BACKLIGHT_DEFAULT_BRIGHTNESS 255
#if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0)
#define LEDC_CH SCREEN_BL_PIN
#else
#define LEDC_CH 0
#endif
static unsigned long lastActivityTime = 0;
static bool backlightOn = false;
static uint8_t currentBrightness = 0;
// 低电平点亮,duty 越小越亮
static void writeBacklightDuty(uint8_t brightness) {
uint32_t duty = LEDC_MAX - ((uint32_t)brightness * LEDC_MAX / 255);
ledcWrite(LEDC_CH, duty);
}
void initBacklight() {
#if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0)
ledcAttach(SCREEN_BL_PIN, LEDC_FREQ, LEDC_RES);
#else
ledcSetup(LEDC_CH, LEDC_FREQ, LEDC_RES);
ledcAttachPin(SCREEN_BL_PIN, LEDC_CH);
#endif
writeBacklightDuty(0);
backlightOn = false;
currentBrightness = 0;
}
void setBacklightBrightness(uint8_t brightness) {
currentBrightness = brightness;
writeBacklightDuty(brightness);
backlightOn = brightness > 0;
if (backlightOn) {
lastActivityTime = millis();
}
}
void setBacklightOn() {
setBacklightBrightness(BACKLIGHT_DEFAULT_BRIGHTNESS);
}
void setBacklightOff() {
writeBacklightDuty(0);
backlightOn = false;
currentBrightness = 0;
}
void resetBacklightTimer() {
lastActivityTime = millis();
if (!backlightOn) {
setBacklightOn();
}
}
void updateBacklight() {
if (backlightOn && (millis() - lastActivityTime >= SCREEN_TIMEOUT_MS)) {
setBacklightOff();
}
}- 在
\project\main.h中添加背光控制头文件
最最顶部增加下面头文件
#include "backlight_control.h"在最下面增加下面定义
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240- 在
\project\main.cpp的setup函数最后没中添加背光控制
void setup() {
// ...
// 打开背光
initBacklight();
setBacklightOn();
}\project\USER_CONFIG.h中修改配置
#define IS_ESP_AI_S3_TFT_EMO // ESP-AI-V2/V3 开发板(TFT 屏 - EEUI)1.54寸屏搭配 ESP-AI 开源代码使用(基于 ESP-AI-Studio 开发)
和 2.4 寸屏一样,唯一不同的地方需要修改下面几处
\libraries2\TFT_eSPI\User_Setup.h
#define ST7789_DRIVER
#define TFT_WIDTH 240
#define TFT_HEIGHT 240
#define TFT_MOSI 42 // LCD_SDA Automatically assigned with ESP8266 if not defined
#define TFT_SCLK 39 // LCD_SCK Automatically assigned with ESP8266 if not defined
#define TFT_DC 7 // Data Command control pin
#define TFT_CS 13 // Chip select control pin D8- 在
\project\main.h中添加背光控制头文件
最最顶部增加下面头文件
#include "backlight_control.h"在最下面增加下面定义
#define SCREEN_WIDTH 240
#define SCREEN_HEIGHT 2401.28 寸双目 ESP-AI 开源代码使用(基于 ESP-AI-Studio 开发)
和 2.4 寸屏一样,唯一不同的地方需要修改下面几处
\libraries2\TFT_eSPI\User_Setup.h
#define GC9A01_DRIVER
#define TFT_WIDTH 240
#define TFT_HEIGHT 240
#define TFT_MOSI 42 // LCD_SDA Automatically assigned with ESP8266 if not defined
#define TFT_SCLK 39 // LCD_SCK Automatically assigned with ESP8266 if not defined
#define TFT_DC 7 // Data Command control pin
#define TFT_CS 13 // Chip select control pin D8- 在
\project\main.h中添加背光控制头文件
最最顶部增加下面头文件
#include "backlight_control.h"在最下面增加下面定义
#define SCREEN_WIDTH 240
#define SCREEN_HEIGHT 240\project\USER_CONFIG.h中修改配置
#define IS_ESP_AI_S3_TFT_EMO_CIRCLE // ESP-AI S3 开发板(TFT 屏 - EEUI - 1.28寸圆形屏幕)0.71 寸双目 ESP-AI 开源代码使用(基于 ESP-AI-Studio 开发)
和 2.4 寸屏一样,唯一不同的地方需要修改下面几处
\libraries2\TFT_eSPI\User_Setup.h
#define GC9D01_DRIVER
#define TFT_WIDTH 160
#define TFT_HEIGHT 160
#define TFT_MOSI 42 // LCD_SDA Automatically assigned with ESP8266 if not defined
#define TFT_SCLK 39 // LCD_SCK Automatically assigned with ESP8266 if not defined
#define TFT_DC 7 // Data Command control pin
#define TFT_CS 13 // Chip select control pin D8- 在
\project\main.h中添加背光控制头文件
最最顶部增加下面头文件
#include "backlight_control.h"在最下面增加下面定义
#define SCREEN_WIDTH 160
#define SCREEN_HEIGHT 160\project\USER_CONFIG.h中修改配置
#define IS_ESP_AI_S3_TFT_EMO_CIRCLE // ESP-AI S3 开发板(TFT 屏 - EEUI - 1.28寸圆形屏幕)
