2026/08/17

從零打造「智慧喝水管家」:ESP32-C3 硬體設計、3D 列印與全韌體開發實錄

前言:

當我想把一個在麵包板上用杜邦線插得像蜘蛛網一樣的原型,變成一個能實用半年的智慧健康穿戴裝置時,會遇到多少坑?感謝全球領先的 PCB 製造與 PCBA 代工廠 JLCPCB 的贊助邀請,讓我有機會記錄下這個專案從初期的靈感發想、電路原理圖繪製、PCB 佈局優化、  JLCPCB 工廠打樣/SMT 貼片,到 3D 機構外殼與 ESP32-C3 低功耗韌體的全流程開發記錄。

歡迎透過以下連結註冊 JLCPCB 繁體中文站並進行下單 https://jlcpcb.com/hk?from=Stonez56


一、 專案發想與健康科學背景

1.1 為什麼需要一個「智慧喝水管家」?

                 許多人日常工作中常遇到的問題是:工作一忙起來就忘記喝水,或者直到劇烈口渴才一次暴飲暴食般地灌水。在預防醫學與生理學中,大腦脫水  就會引發專注力下滑與認知下降,而人體腎臟每小時處理水分也有其上限。為了實現「少量多次」的科學補水,我需要一個能夠非侵入式感測喝水動作、定時溫和提醒、且具備超長續航力的智慧貼合裝置。


1.2 產品原型與形態演進

  • 原型階段 (Breadboard Prototype): 使用 ESP32-C3 SuperMini 開發板 + MPU6050 六軸感測器 + 0.96 吋 SSD1306 OLED 螢幕,搭上外接 TP4056 充電模組與鋰電池。
  • 痛點: 杜邦線易鬆脫、體積龐大、電源路徑衝突(拔掉 USB 就斷電,或是充電時電池過熱)。
  • 終極目標: 將所有核心元件整合進一片 的微型雙層 PCB 上,並結合 3D 列印弧形膠囊外殼與高彈性矽膠帶,輕鬆安裝於任何日常水壺上。

二、 電路原理圖與 PCB 佈局

我使用 EasyEDA Pro (嘉立創 EDA Pro) 進行設計,它可以免費使用之外, 也可以一鍵送出圖檔並下單, 完美對接 JLCPCB 的生產與 SMT 代工規範。 由於這是我第一次畫電路板, 所以錯誤很多...哈...過程中也學習了很多!

第一版的原理圖...錯誤很多~~😂


2.1 核心模組選型與 LCSC 編號綁定

為了能直接讓 JLCPCB 進行 SMT (自動貼片焊接),我們在 EasyEDA 的原理圖中,所有關鍵被動元件與主晶片均綁定了 LCSC 零件編號 (Part Number),實現一鍵報價與自動比對庫存:

零件名稱

規格與封裝

LCSC 訂購編號

設計功能與眉角

ESP32-C3 插座

1x7 2.54mm 排母 (x2)

C22550

保持 15.24 mm (600 mil) 標準跨距,方便插拔模組

充電設定電阻 (R1)

3.3k ohm ±1% (0603)

C22978

TP4056 PROG 腳電阻,設定充電電流為 364 mA,安全保護鋰電池

防倒灌二極體 (D1)

SS14 蕭特基二極體 (SMA)

C14998

低壓降 (0.2V),防止 USB 5V 與電池電壓倒灌的單向防護閘門

I2C 上拉電阻

4.7k ohm x2 (0603)

C25900

強化 SDA (GPIO9) / SCL (GPIO8) 總線訊號品質,防止螢幕黑屏

分壓檢測電阻

100k ohm ±1% (0603)

C25891

精密分壓路徑,降低微安培級靜態洩漏電流

濾波瓷片電容

100nF (0603)

C14663

並聯於 ADC 腳位與 GND 之間,吸收高頻雜訊維持電量讀數穩定

側按式輕觸開關

2-pin SMD 帶固定耳

C2906288

承受水平側按推力,連接至 GPIO1 作為選單互動鍵

電池連接插座

JST-PH-2.0mm 2P

C173752

標準化防呆插座 (Pin 1=GND, Pin 2=BAT),避免正負極接反燒毀


2.2 電源路徑管理 (Load Sharing) 的工程血淚與 AI 現實

在可攜式裝置中,電源路徑管理(Load Sharing)一直是一大難關。最初我試圖完全依賴 AI 輔助生成的電源切換電路,但在實際測試中發現:直接將 TP4056 輸出端與系統負載併聯,會導致 TP4056 無法正確判斷「充滿截止電流 (C/10)」,進而引發過熱甚至電池膨脹;當插拔 USB 瞬間,系統也會因為電壓突波而反覆重啟。

這驗證了一個事實:AI 在程式碼編寫與概念發想上非常高效,但在複雜的類比電路、電源管理與硬體細節上,目前依然無法完全取代專業工程師的經驗。(如果你有成功使用AI完成這一塊, 請和大家分享)

為了讓這個產品順利落地,我最終花了不少錢😅,在 Fiverr 上聘請了一位經驗豐富的電子工程師 (EE Freelancer) 幫我重構電源切換電路。

最終工程師協助落實了單向二極體防護與無縫切換機制

  1. 單向二極體防護: 採用 SS14 蕭特基二極體 (D1)。陽極接電池開關 (VBAT_SW),陰極接系統主電源 (V_SYS / 5V)。

  2. 無縫電源切換:

  • 插上 USB 時: 外部 5V 直接為 V_SYS 供電,使二極體反向偏壓截止,電池專心接收 TP4056 充電。

  • 拔除 USB 時: 二極體瞬間導通,電池電壓穿過 SS14 (極低壓降 0.2V) 為系統供電,ESP32-C3 不會發生重啟。

2.3 電池電量監測 (High-Impedance Voltage Divider)

為了讓 ESP32-C3 即時讀取 300mAh 鋰電池電壓:

  • 設計一組由 100k ohm 與 100k ohm 精密金屬膜電阻分壓的迴路連至 GPIO3 (ADC1_CH3)

  • 並聯一顆 100nF MLCC 陶瓷電容濾除高頻雜訊。

  • 採用 100k ohm 大阻值將靜態洩漏電流控制在 (4.2V / 200k ohm) 約等於 21uA,完全不影響睡眠續航。



2.4 PCB Layout 走線筆記

  1. 電源走線 (Power Traces):

  • 3.3V、VBAT 與 V_SYS 的走線寬度特別加粗至 0.65 mm (25 mil),確保 ESP32-C3 在 Wi-Fi/藍牙突發發射電流時不掉壓。

  1. 訊號線 (Signal Traces):

  • I2C 訊號線 (SDA/SCL) 設定為 0.2 mm (8 mil),保持等長平行,避開高頻開關電源迴路。

  1. RF 天線淨空區 (Antenna Keep-out Area):

  • ESP32-C3 板載陶瓷天線的正下方與周圍,不論 Top Layer 或 Bottom Layer 均劃定禁止鋪銅區 (Keepout Zone),禁止任何走線與銅箔,確保無線訊號穿透力。

  1. 地平面大面積鋪銅 (GND Copper Pour):

  • 上下層全板鋪銅,打上記號打孔 (Vias) 連結頂層與底層接地,減少迴路阻抗,提供良好散熱與抗干擾能力。

藍色的箭頭處即為電源走線,使用較粗的電路 0.65mm


2.5 下單 JLCPCB 與 SMT 貼片

PCB 背面


JLCPCB 可即時看到 PCB 的排列(layout)線路

在 EasyEDA Pro 中完成所有設計後:

  1. DRC (Design Rule Check) 點檢: 執行系統 DRC,確保最小線寬/線距符合 JLCPCB 的製造規範 (> 6 mil),且無未連線網路。

  2. 導出 Gerber 與 BOM/CPL 檔案:

  • 快捷鍵 Shift + M 一鍵導出 Gerber 壓縮檔。

  • 導出 BOM (物料清單) 與 CPL (組裝座標檔/Pick and Place)。

  1. JLCPCB 官網一鍵下單:

  • 上傳 Gerber 檔,選定 紫色經典黑 高質感 PCB 板色。

  • 勾選 SMT Assembly,上傳 BOM 與 CPL 檔。

  • 系統會自動比對 LCSC 零件庫存,連 0603 被動元件與 JST 端子都能精準對位,預覽 SMT 貼片成果! (有機會一定要試試看...太方便了)


三、 避坑血淚史:PCB 除錯

在研發過程中,我們並非一帆風順。以下記錄幾次關鍵的「踩坑與復盤」:

請高手幫我檢查, 並以跳線方式讓PCB通電

  1. 最重大的錯誤: ESP32-C3 根本就放反了~~ 5V, GND, 3V3 是在對面啦... .OMG?!🥲

  2. D1 二極體極性顛倒地雷:

  • 錯誤: 初版將 SS14 的陰極對準了電池端,導致 USB 輸入的 5V 電壓無法通過二極體進入 V_SYS,開機瞬間系統直接死鎖。

  • 解法: 在原理圖中確認箭頭指向 V_SYS,讓 USB 電壓順利進入系統,同時阻斷電池電流逆流。

  1. 3D 模型的「航空母艦」縮放危機:

  • 錯誤: 嘗試更換 5mm 矮排母時,在 3D 管理器中輸入高度,軟體因預設開啟「等比例縮放 (Uniform Scaling)」,導致整顆排母膨脹成覆蓋全板的「航空母艦」。

  • 解法: 手動解開 X/Y/Z 軸連動鎖定,獨立輸入 Z 軸尺寸。


四、 3D 機構設計與 3D 列印實戰

4.1 從 3D Preview 到 STEP 骨架導出

在 EasyEDA Pro 中完成 PCB 佈局後,點擊「文件 -> 匯出 -> 3D 模型 (STEP)」。我們將獲得一個包含所有元件真實尺寸的 3D STEP 檔案,並直接匯入 Fusion 中進行外殼建模。


把 STEP 檔在 Fusion 裡開啟



4.2 貼合曲面膠囊外殼與機構細節

  1. 外殼造型: 採用背弧化膠囊設計,完美貼合直徑 60-85 mm 的圓柱形水壺。

  2. 避讓公差:

  • Type-C 充電口開孔預留 1.2 mm 的插頭外殼沉頭空間,防止因壁厚過厚導致 USB 線無法插到底。

  • OLED 螢幕開孔留有 0.5 mm 微小間隙,並搭配 1.2 mm 厚度的亞克力透明面板防塵。

  1. 高彈性矽膠帶固定: 外殼上的細長溝糟帶,搭配高彈性矽膠束帶或是髮帶,可快速拆卸轉移至不同水壺上。

上下蓋合體

底蓋上視圖
AI 建議後面加兩條肋, 可以讓裝置在圓的水壼的表面維持水平
真的有效呢!


3D 最終完成圖檔




五、 韌體開發與系統架構 (Firmware Development)

我們的韌體採用 Arduino IDE / ESP-IDF 開發,結合了語音/視覺互動與極低功耗機制。

5.1 MPU6050 姿態辨識與 EMA 濾波

為了辨識使用者是「拿起水壺喝水」還是「攜帶水壺走路晃動」,我們導入了指數移動平均濾波 (EMA Filter)向量內積角度演算法

EMA_t = alpha * X_t + (1 - alpha) * EMA_(t-1)


  • 透過計算重力加速度向量與水壺中心軸的夾角,精準判定仰角 > 35度 且持續超過 1.5秒 的動作為有效「飲水行為」。


裝置上的 OLED 顯示出不同時期及表情, 快速知道喝水狀態~

很棒...有持續喝水的好習慣~


嗯..目前有點缺水了, 快點喝一口水

喔...太缺水了, 快點補充水份吧~


5.2 狀態機與 Deep Sleep 低功耗架構

為了讓 300mAh 鋰電池能維持長效續航,系統實作了狀態機管理



  1. Deep Sleep 進入條件: 無動作超過 10 秒後,ESP32-C3 關閉 OLED 電源,進入 Deep Sleep,靜態電流降至約 5uA。

  2. Wake-on-Motion (WoM) 喚醒: MPU6050 保持低功耗加速度監測,當偵測到震動時,INT 中斷腳(連至 ESP32-C3 GPIO0/D0)拉低電位,瞬間喚醒主控。

5.3 離線與 Wi-Fi/NTP 時間同步雙重機制

  • 配網介面: 開機後啟動 SoftAP 模式提供網頁配網。

  • Dual-Bypass 容錯: 若無 Wi-Fi 訊號,使用者可點擊網頁「Cancel」或長按實體按鈕跳過配網。系統自動切換至內建 millis() 計算的「累積運作計時器」,維持計時與飲水提醒功能不中斷~


內建兩組記憶 WiFi Hotspot 方便連線



六、 成品展示與 JLCPCB 打樣體驗總結

6.1 最終成品寫真

經過近四個月的研發,這款「智慧喝水管家」最終呈現在我們眼前:

  • 體積輕薄: 雙層板卡結合 3D 列印外殼,總厚度僅 18 mm。

  • 質感優雅: 3D 列印加上高質感紫色 PCB,搭配高對比 OLED 顯示畫面,徹底甩開了傳統創客套件「裸露麵包板與杜邦線」的廉價感。


6.2 JLCPCB 服務評測心得

  1. 極致性價比: 打樣 5 片高品質 PCB 僅需數美元,SMT 貼片服務更是大幅減少了手工焊接 0603 貼片零件的崩潰感。

  2. EasyEDA Pro 無縫整合: 從設計、查看 3D 模型,到直接匯出下單,流程極其順暢。

  3. 交期迅速: 從上傳 Gerber 檔到拿到實體打樣板,僅需短短數個工作天,這對於需要快速迭代的 Maker 專案來說是無可替代的優勢!

結語

從原理圖的一條線,到拿在手上沉甸甸、能精準提醒喝水的智慧產品,這次與 JLCPCB 合作的專案經驗讓我深刻體會到「把想法實體化」的無限魅力。如果你也正在規劃自己的下一個物聯網專案,不妨打開 EasyEDA,讓 JLCPCB 幫你把心中的藍圖變成真實的硬體吧! 歡迎透過以下連結註冊 JLCPCB 繁體中文站並進行下單 https://jlcpcb.com/hk?from=Stonez56



**版權所有,未經授權禁止轉載、改作或商用**

2026/08/14

基隆海洋大學 - AI 應用:辦公行政自動化 課程

謝謝 茶米老師教室 黃信溢老師推薦!👍 讓我有機會在 8/11 與 8/13,來到 國立海洋大學 連續兩場分享「AI 應用:辦公行政自動化」,兩場總計超過 300 位師生參與,這是我第一次在如此大型的場合教授 AI 課程,場面既震撼又令人振奮!







特別的是,大多數學員使用的是 智慧型手機而非筆電。這讓我臨場調整教學方式,不再要求大家逐步操作,而是由我在舞台上直接 示範 Gemini 的各種案例,包括:

🔹 生成式 AI 概念
🔹 提示詞 RTF 框架:角色,任務,格式三步驟,讓 AI 輸出更精準
🔹 Canvas 共筆:從單向問答邁向深度協作,快速生計畫書
🔹 快速製作網頁/資訊圖表
🔹 使用 🌈Stonez56 色彩探索家 快速給網頁專頁的配色
🔹 GEMs 與 RAG 知識庫:打造校務百問助理,強化行政決策
🔹 會議錄音摘要自動化:逐字稿秒轉待辦清單,提升效率

雖然學員無法即時操作,但透過舞台上的 即時 Demo,大家仍能清楚看到 AI 如何將行政流程「從模糊到精準、從手動到自動」。課堂中顯示 AI 工具的魅力與實用性。

這次經驗讓我深刻體會:只要教學設計靈活,AI 課程不受設備限制,依然能帶來震撼與啟發。未來我也會持續優化,讓更多人能在不同場域中感受 AI 的力量。

如果您對這門課程或相關AI應用培訓有興趣,歡迎直接聯絡我😊

#AI行政自動化 #GoogleGemini #智慧校園 #Stonez56創客工坊 #Stonez56 #Gemini #AI教學