起因
看到这个ESP32-C3 super mini,真的非常小,而且不到10块钱,比ESP8266可玩性更高,支持蓝牙和WiFi,内置了USB转串口芯片,直接用USB线就可以烧录程序,非常方便。
上电
识别为了Espressif USB JTAG/serial debug unit,但是一会儿又断开了,然后又识别了,一直断。
猜测大概是因为商家给我的里面固件不正常,然后就一直在重置。
通过ESP32-C3 only appears as USB JTAG/ serial debugging unit 中说的方法,按住BOOT键,然后插上USB线,按RESET键,松开RESET键,最后松开BOOT键,电脑就可以稳定识别了。应该是进入烧录模式了。
烧录
用Arduino烧录一个电灯固件,成功烧录,但是没反应。一开始怀疑PIN8是否是蓝色LED,折腾一圈都没反应,最后还是按RESET才开始正常运行了。
配置Arduino IDE
在Arduino IDE中,Tools -> USB CDC On Boot: Enabled,之后再烧录就不需要按RESET了,直接烧录完就自己运行了。
WiFi连接
连接WiFi成功,使用ping命令测试网络连接,延时很高,几十到200ms,看起来很不正常。其实买的时候我就知道这个小板子WiFi有问题,说是焊接插针的WiFi都搜不到,所以我选择没有焊接插针的版本,结果WiFi还是有问题。
问了AI,说了很多设计缺陷,给出的软件缓解方案是降低发射功率到8.5dBm,实测效果明显,可以降低到10ms以内了。其他也给了一些其他设置如esp_wifi_set_ps(WIFI_PS_NONE);,效果有,但是不太明显了。
还给了一个"硬件续命"方案,(ESP32-C3 SuperMini Antenna Mod(天线改造法))[https://peterneufeld.wordpress.com/2025/03/04/esp32-c3-supermini-antenna-modification/]。
- 找一根 31 毫米长、1 毫米粗的单股铜导线(2.4GHz 的标准的 1/4 波长)。
- 把其中 16 毫米弯成一个直径约 8 毫米的圆圈,剩下 15 毫米向上折起(做成一个垂直的鞭状天线)。
- 直接跨接焊接在红色陶瓷天线的两端
蓝牙
蓝牙表现相对好一些,用iOS上的LightBlue软件,匹配设备后,发送字符串数据1和0,控制板子上的LED蓝灯亮灭,效果不错。
接着做成蓝牙网关,直接上ESPHome。默认配置刷进去,WiFi连不上,还是要加上功率限制。
wifi:
ssid: "你的Wi-Fi名称"
password: "你的Wi-Fi密码"
power_save_mode: NONE # 彻底关闭 Wi-Fi 休眠
output_power: 8.5 # 强行将发射功率压到 8.5dBm,防止供电血崩
然后WiFi正常了,就可以被Home Assistant发现了。接着加上网关配置
# 🔌 核心:开启 Home Assistant 官方蓝牙代理功能
bluetooth_proxy:
active: true # 开启主动扫描,可以更灵敏地抓取加密或未广播的蓝牙设备
# 📡 蓝牙扫描底层参数
esp32_ble_tracker:
scan_parameters:
interval: 100ms
window: 99ms
active: true
顺便把蓝色LED也放进HomeAssistant中,配置如下:
# 💡 扩展功能:把板载的 GPIO 8 蓝灯拉进 HA 控制
output:
- id: led_output
platform: gpio
pin: GPIO8
inverted: true # 满足低电平点亮的特性
light:
- platform: binary
name: "网关状态灯"
output: led_output
试一下能控制LED,暂时收工。
最后修改于 2026-08-12