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

一、 專案發想與健康科學背景
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 代工規範。
由於這是我第一次畫電路板, 所以錯誤很多…哈…過程中也學習了很多!


真正最終版目前檔案叫不出來…等 EasyEDA客服解決
2.1 核心模組選型與 LCSC 編號綁定
為了能直接讓 JLCPCB 進行 SMT (自動貼片焊接),我們在 EasyEDA 的原理圖中,所有關鍵被動元件與主晶片均綁定了 LCSC 零件編號 (Part Number),實現一鍵報價與自動比對庫存:
| 零件名稱 | 規格與封裝 | LCSC 訂購編號 | 設計功能與眉角 |
| ESP32-C3 插座 | 1×7 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) 幫我重構電源切換電路。
最終工程師協助落實了單向二極體防護與無縫切換機制:
- 單向二極體防護: 採用 SS14 蕭特基二極體 (D1)。陽極接電池開關 (VBAT_SW),陰極接系統主電源 (V_SYS / 5V)。
- 無縫電源切換:
- 插上 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 走線筆記
- 電源走線 (Power Traces):3.3V、VBAT 與 V_SYS 的走線寬度特別加粗至 0.65 mm (25 mil),確保 ESP32-C3 在 Wi-Fi/藍牙突發發射電流時不掉壓。
- 訊號線 (Signal Traces):I2C 訊號線 (SDA/SCL) 設定為 0.2 mm (8 mil),保持等長平行,避開高頻開關電源迴路。
- RF 天線淨空區 (Antenna Keep-out Area): ESP32-C3 板載陶瓷天線的正下方與周圍,不論 Top Layer 或 Bottom Layer 均劃定禁止鋪銅區 (Keepout Zone),禁止任何走線與銅箔,確保無線訊號穿透力。
- 地平面大面積鋪銅 (GND Copper Pour):上下層全板鋪銅,打上記號打孔 (Vias) 連結頂層與底層接地,減少迴路阻抗,提供良好散熱與抗干擾能力。

2.5 下單 JLCPCB 與 SMT 貼片


在 EasyEDA Pro 中完成所有設計後:
- DRC (Design Rule Check) 點檢: 執行系統 DRC,確保最小線寬/線距符合 JLCPCB 的製造規範 (> 6 mil),且無未連線網路。
- 導出 Gerber 與 BOM/CPL 檔案:
- 快捷鍵 Shift + M 一鍵導出 Gerber 壓縮檔。
- 導出 BOM (物料清單) 與 CPL (組裝座標檔/Pick and Place)。
- JLCPCB 官網一鍵下單:
- 上傳 Gerber 檔,選定 紫色 或 經典黑 高質感 PCB 板色。
- 勾選 SMT Assembly,上傳 BOM 與 CPL 檔。
- 系統會自動比對 LCSC 零件庫存,連 0603 被動元件與 JST 端子都能精準對位,預覽 SMT 貼片成果! (有機會一定要試試看…太方便了)
三、 避坑血淚史:PCB 除錯
在研發過程中,我們並非一帆風順。以下記錄幾次關鍵的踩坑:

- 最重大的錯誤: ESP32-C3 根本就放反了~~ 5V, GND, 3V3 是在對面啦... .OMG?!🥲
- D1 二極體極性顛倒地雷:
- 錯誤: 初版將 SS14 的陰極對準了電池端,導致 USB 輸入的 5V 電壓無法通過二極體進入 V_SYS,開機瞬間系統直接死鎖。
- 解法: 在原理圖中確認箭頭指向 V_SYS,讓 USB 電壓順利進入系統,同時阻斷電池電流逆流。
- 3D 模型的「航空母艦」縮放危機:
- 錯誤: 嘗試更換 5mm 矮排母時,在 3D 管理器中輸入高度,軟體因預設開啟「等比例縮放 (Uniform Scaling)」,導致整顆排母膨脹成覆蓋全板的「航空母艦」。
- 解法: 手動解開 X/Y/Z 軸連動鎖定,獨立輸入 Z 軸尺寸。
- 不計其數….😅
四、 3D 機構設計與 3D 列印實戰
4.1 從 3D Preview 到 STEP 骨架導出
在 EasyEDA Pro 中完成 PCB 佈局後,點擊「文件 -> 匯出 -> 3D 模型 (STEP)」。
將獲得一個包含所有元件真實尺寸的 3D STEP 檔案,並直接匯入 Fusion 中進行外殼建模。

4.2 貼合曲面膠囊外殼與機構細節
- 外殼造型: 採用背弧化膠囊設計,完美貼合直徑 60-85 mm 的圓柱形水壺。
- 避讓公差:
- Type-C 充電口開孔預留 1.2 mm 的插頭外殼沉頭空間,防止因壁厚過厚導致 USB 線無法插到底。
- OLED 螢幕開孔留有 0.5 mm 微小間隙,並搭配 1.2 mm 厚度的亞克力透明面板防塵。
- 高彈性矽膠帶固定: 外殼上的細長溝糟帶,搭配高彈性矽膠束帶或是髮帶,可快速拆卸轉移至不同水壺上。



真的有效呢!

五、 韌體開發與系統架構 (Firmware Development)
我們的韌體採用 Arduino IDE / ESP-IDF 開發,結合了語音/視覺互動與極低功耗機制。
5.1 MPU6050 姿態辨識與 EMA 濾波
為了辨識使用者是「拿起水壺喝水」還是「攜帶水壺走路晃動」,我們導入了指數移動平均濾波 (EMA Filter) 與向量內積角度演算法:

- 透過計算重力加速度向量與水壺中心軸的夾角,精準判定仰角 > 35度 且持續超過 1.5秒 的動作為有效「飲水行為」。
裝置上的 OLED 顯示出不同時期及表情, 快速知道喝水狀態~



5.2 狀態機與 Deep Sleep 低功耗架構
為了讓 300mAh 鋰電池能維持長效續航,系統實作了狀態機管理:

- Deep Sleep 進入條件: 無動作超過 10 秒後,ESP32-C3 關閉 OLED 電源,進入 Deep Sleep,靜態電流降至約 5uA。
- Wake-on-Motion (WoM) 喚醒: MPU6050 保持低功耗加速度監測,當偵測到震動時,INT 中斷腳(連至 ESP32-C3 GPIO0/D0)拉低電位,瞬間喚醒主控。
5.3 離線與 Wi-Fi/NTP 時間同步雙重機制
- 配網介面: 開機後啟動 SoftAP 模式提供網頁配網。
- Dual-Bypass 容錯: 若無 Wi-Fi 訊號,使用者可點擊網頁「Cancel」或長按實體按鈕跳過配網。系統自動切換至內建 millis() 計算的「累積運作計時器」,維持計時與飲水提醒功能不中斷~

6.1 成品展示與 JLCPCB 打樣體驗總結
經過近四個月的研發,這款「智慧喝水管家」最終呈現在我們眼前:
- 體積輕薄: 雙層板卡結合 3D 列印外殼,總厚度僅 18 mm。
- 質感優雅: 3D 列印加上高質感紫色 PCB,搭配高對比 OLED 顯示畫面,徹底甩開了傳統創客套件「裸露麵包板與杜邦線」的廉價感。

6.2 JLCPCB 服務評測心得
- 極致性價比: 打樣 5 片高品質 PCB 僅需數美元,SMT 貼片服務更是大幅減少了手工焊接 0603 貼片零件的崩潰感。
- EasyEDA Pro 無縫整合: 從設計、查看 3D 模型,到直接匯出下單,流程極其順暢。
- 交期迅速: 從上傳 Gerber 檔到拿到實體打樣板,僅需短短數個工作天,這對於需要快速迭代的 Maker 專案來說是無可替代的優勢!
結語
從原理圖的一條線,到拿在手上沉甸甸、能精準提醒喝水的智慧產品,這次與 JLCPCB 合作的專案經驗讓我深刻體會到「把想法實體化」的無限魅力。如果你也正在規劃自己的下一個物聯網專案,不妨打開 EasyEDA,讓 JLCPCB 幫你把心中的藍圖變成真實的硬體吧!
歡迎透過以下連結註冊 JLCPCB 繁體中文站並進行下單 https://jlcpcb.com/hk?from=Stonez56
© 版權所有,未經授權禁止轉載、改作或商用