小智AI硬體搭建指南

本文詳細介紹搭建小智AI聊天機器人所需的硬體清單、組裝步驟和接線方案,適合有一定電子基礎的DIY愛好者參考。如果你想自己動手搭建一台小智AI,這份指南將為你提供詳細的指導。

本頁以麵包板 DIY 方案(上游目錄 bread-compact-wifi)為主。想直接購買成品開發板,請先看支援的開發板;燒錄韌體見韌體下載。

一、DIY所需硬體清單

1.1 核心組件

  • 開發板:ESP32-S3-DevKitC-1(推薦選擇 WROOM N16R8 模組)或微雪ESP32-S3-Touch-LCD-3.49
  • 數位麥克風:INMP441
  • 功放:MAX98357A
  • 腔體喇叭:8Ω 23W 或 4Ω 23W
  • 導線:跳線一盒,杜邦線若干
  • 400孔麵包板 2塊
  • 128x32 I2C(IIC)液晶顯示屏,SSD1306驅動(推薦)
  • ML307R Cat.1 4G模組,AT韌體版(可選)
  • 6*6mm立式輕觸開關(可選)

1.2 輔助工具

除了核心組件外,你可能還需要以下工具:

  • 萬用表
  • 電烙鐵套件
  • 鉗子三件套
  • Type-C資料線
  • 用於燒錄韌體的PC

二、硬體詳細說明

2.1 開發板選擇

2.1.1 ESP32-S3-DevKitC-1(推薦)

盡量選擇N16R8配置,即16MB Flash和8MB PSRAM的配置。N8R2配置需要進行額外設定:

  • 把PSRAM的工作模式從OCTAL改為QUAD
  • Flash大小改為8MB
  • 自訂分區表改為partitions_8M.csv
  • 重新編譯韌體

注意:部分開發板的RGB燈未接通,需要焊接燈座旁邊的兩個小焊點。建議購買時選擇已接通RGB燈的版本。

2.1.2 微雪ESP32-S3-Touch-LCD-3.49

微雪推出的一體化開發板,整合了3.49英寸觸控液晶屏:

對應的韌體變體為 waveshare-esp32-s3-touch-lcd-3.49,見支援的開發板。

2.2 MEMS數位麥克風(INMP441)

這是最小的電子元件,焊接難度較大。新手建議購買已焊接好的成品。自行焊接時注意:

  • 不可以讓引腳和半環形金屬線接通
  • 使用杜邦線接線時,不能把VDD和GND反接,否則容易燒壞(建議多買一個備用)

2.3 數位功放(MAX98357A)

建議購買已經焊接排針的成品,使用麵包板連接。

2.4 腔體喇叭(8Ω 3W 或 4Ω 3W)

端子可自行選擇或不要。

2.5 導線

如果使用杜邦線連接(不使用麵包板),請額外購買幾條1分2的分叉線(母線),用於麥克風和數位功放的短接,以解決開發板的電源3V3和接地GND排針接口不夠用的問題。

2.6 麵包板(推薦)

強烈建議使用麵包板組裝,否則電子元件多起來後容易混亂。推薦使用兩塊400孔麵包板拼接,將開發板安裝在中間,最大化利用麵包板空間。

麵包板基礎知識:

  • 麵包板分區塊,中間兩個區塊相同數字橫向的每行是連通的(中間隔斷除外)
  • 正負紅藍線是豎向每列連通的(如有隔斷除外)

2.7 OLED顯示屏(可選)

購買時需確認使用SSD1306驅動,建議選擇GND開頭的新版OLED屏幕。

2.8 Cat.1 4G模組(ML307R,可選)

ML307R是中移物聯推出的Cat.1物聯網模組,DC版比DL版增加了OpenCPU SDK二次開發支援。購買時需確認是AT韌體版本。

使用說明:

  • 此模組用於連接4G行動數據網路,實現AI連網對話
  • 適合戶外等無Wi-Fi環境使用
  • 建議選擇可插拔卡的模組,如經常使用可用手機副卡(模組自帶的流量卡每月流量可能不夠)

2.9 微動開關/按鈕(可選)

使用6*6MM微動開關/輕觸開關,在麵包板上請岔開橫行插入。新手建議使用2腳的直插按鈕,避免短接引腳。

三、購買指南

3.1 購買渠道

在電商平台選購時,請注意:

  • 部分電子元件可能未焊接引腳,可與商家溝通進行焊接或選擇焊接好的商品
  • 盡量選擇信譽高、銷量大、評價好的店鋪
  • 購買諮詢和售後品質問題請自行與商家協商

3.2 電烙鐵入門

如果你是新手,可以選擇購買焊接好的版本,或先觀看電烙鐵入門教程再進行焊接,避免損壞電子元件。

推薦教程:小白的電烙鐵使用入門

四、接線方案

4.1 ESP32-S3-DevKitC-1標準版(44 IO引腳)接線

此接線方案適用於小智AI聊天機器人韌體版本 >=V0.3.0。

注意:如果不使用麵包板,請使用1分2的分叉線解決電源3V3和接地GND排針接口不夠用的問題。

麥克風接線(INMP441)

ESP32-S3開發板麥克風(INMP441)
GPIO4WS (數據選擇)
GPIO5SCK (數據時鐘)
GPIO6SD (數據輸出)
3V3VDD (電源正 3.3V)
GNDGND (接地) 短接 L/R (左/右聲道)

功放接線(MAX98357A)

ESP32-S3開發板功放(MAX98357A)
GPIO7DIN (數位訊號)
GPIO15BCLK (位時鐘)
GPIO16LRC (左/右時鐘)
3V3Vin/VCC (電源) 短接 SD (關機頻道)
GNDGND (接地) 短接 GAIN (增益和頻道)

喇叭接線

  • 音頻+ 接喇叭正極(一般紅線)
  • 音頻- 接喇叭負極

OLED顯示屏接線(可選)

ESP32-S3開發板OLED顯示屏
GPIO41SDA (數據線)
GPIO42SCK (時鐘線)
3V3VCC (電源正)
GNDGND (接地)

4G模組接線(ML307R,可選)

ESP32-S3開發板4G模組(ML307R)
LDO正極(4.7V)BAT(3.7~4.5V) 短接 EN使能
GNDGND (接地)
GPIO11TXD (發送數據)
GPIO12RXD (接收數據)

按鈕接線(0.4.1版本及以上)

ESP32-S3開發板按鈕
GPIO39音量減-按鈕(另一頭接GND),短按減小音量,長按靜音
GPIO40音量加+按鈕(另一頭接GND),短按加大音量

注意:

  • 如果使用MAX98357A的BGA封裝版本(較小),可以不接GAIN_GND短線
  • 請以表格引腳對照為準,預覽圖僅作外觀參考
  • 麥克風如果焊接反了(進聲孔朝下,排針朝上),需要重新焊接

4.2 ESP32-S3-DevKitC-1果雲版(42 IO引腳)接線

果雲版與標準版的主要區別:

  • 果雲版少幾個引腳,多了4個固定開孔
  • 版本1左上方3V3供電口調整到左下方
  • 版本2左邊增加了GPIO19、GPIO20
  • 版本1左邊的GPIO13、GPIO14、5VIN對應調整到版本2右下方
  • 版本2少了左右最下方的兩個GND

但外部模組的引腳接線與標準版相同,使用相同韌體。

五、進階接線知識

5.1 外接按鍵詳解

5.1.1 音量調節

  • 韌體版本0.3.3新增音量調節按鈕:GPIO40接按鈕,另一端接地,按下增加音量,長按靜音
  • 韌體版本0.4.1增加音量減少按鈕:GPIO39接按鈕,長按靜音,之前的按鈕長按變為最大音量

5.1.2 喚醒/中斷

韌體版本0.3.1以上支援按鍵喚醒和中斷對話:

  • 可使用開發板上的Boot按鈕
  • 或接GPIO0引腳,另一端接地
  • 對話時按下可打斷,再次按下可喚醒恢復

注意事項:外接按鈕時不要直接在開發板上單行連接四腳開關,請錯開成兩行插接,避免引腳短接。

5.2 跳線顏色方案

建議的統一配色方案:

  • VCC:紅色和棕色
  • GND:灰色和黑色
  • 數位訊號:咖啡色和橙色

這樣可以避免正負極反接。

5.3 不同連接模式

小智AI支援兩種連接模式:

5.3.1 Duplex模式

使用一個I2S控制器連接麥克風和功放,適合GPIO數量不多的開發板。

開發板INMP441MAX98357A
GNDGND, L/RGND, GAIN
3.3VVDDSD, VIN
GPIO4WSLRC
GPIO5SCKBCLK
GPIO6SD
GPIO7DIN

5.3.2 Simplex模式(預設)

使用I2S 0連接麥克風,I2S 1連接功放,比Duplex模式多使用兩個GPIO。

開發板INMP441MAX98357A
GNDGND, L/RGND, GAIN
3.3VVDDSD, VIN
GPIO4WS
GPIO5SCK
GPIO6SD
GPIO7DIN
GPIO15BCLK
GPIO16LRC

預設配置使用Simplex模式,GPIO與電子元件引腳一對一關係,接線相對容易。MAX98357A的VIN引腳可接3.3V或5V。

5.4 液晶屏幕擴展

增加液晶屏幕可顯示Wi-Fi或4G訊號強度:

開發板SSD1306
GNDGND
3.3VVCC
GPIO41SDA
GPIO42SCK

5.5 4G模組擴展

注意:4G天線不能離麥克風太近(距離<3cm會有明顯干擾)。最簡處理方案是將天線黏貼在喇叭的模擬訊號線上,遠離麥克風。

4G模組需要5V電壓供電。由於開發板只有5V VIN輸入引腳,沒有5V輸出引腳,需要在LDO穩壓器的近似5V引腳上引出電源。

六、故障排除

6.1 常見問題

  1. RGB燈不亮 檢查RGB燈旁邊的兩個焊點是否已接通。如未焊接,可先用導線接通,重啟查看是否亮起。

  2. 電路故障檢查方法

    • 不接電源時:用萬用表測試導線是否導通,如距離較遠的兩個GND引腳或兩個3.3V引腳
    • 接電源後:檢查GND與其他引腳電壓是否在正常值範圍
  3. 接線完成後安全檢查 完成接線後,建議使用萬用表檢查開發板和已安裝電子元件上的GND與VCC(3.3V)之間是否有短路情況。確認無短路後,再接入USB電源。

6.2 隱藏接線提示

MAX98357和INMP441底部有隱藏接線,請特別注意檢查。

七、相關文檔

接線已對照 78/xiaozhi-esp32 v2.5.2 的 main/boards/bread-compact-wifi/config.h 與 bread-compact-ml307/config.h。