前言:
當初想做這個專案,起因很簡單:桌上的麵包板插滿了杜邦線,像蜘蛛網一樣連接著 ESP32、感測器和螢幕。雖然功能能跑,但只要手一碰就接觸不良。如果想做成一個真正能放在桌上、每天穩定用半年的實用裝置,勢必得走過一次完整的產品化流程:從電路佈局、打樣、3D 機構整合到韌體通訊協議的選擇。
這篇文章記錄我從麵包板原型推進到完整硬體的整個過程,以及中間踩過的所有坑。
一、 專案發想與健康科學背景
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) 幫我重構電源切換電路。
最終工程師協助落實了單向二極體防護與無縫切換機制:
單向二極體防護: 採用 SS14 蕭特基二極體 (D1)。陽極接電池開關 (VBAT_SW),陰極接系統主電源 (V_SYS / 5V)。
無縫電源切換:
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):
訊號線 (Signal Traces):
RF 天線淨空區 (Antenna Keep-out Area):
地平面大面積鋪銅 (GND Copper Pour):
 |
| 藍色的箭頭處即為電源走線,使用較粗的電路 0.65mm |
2.5 下單 JLCPCB 與 SMT 貼片
 |
| PCB 背面 |
 |
| JLCPCB 可即時看到 PCB 的排列(layout)線路 |
在 EasyEDA Pro 中完成所有設計後:
DRC (Design Rule Check) 點檢: 執行系統 DRC,確保最小線寬/線距符合 JLCPCB 的製造規範 (> 6 mil),且無未連線網路。
導出 Gerber 與 BOM/CPL 檔案:
JLCPCB 官網一鍵下單:
上傳 Gerber 檔,選定 紫色 或 經典黑 高質感 PCB 板色。
勾選 SMT Assembly,上傳 BOM 與 CPL 檔。
系統會自動比對 LCSC 零件庫存,連 0603 被動元件與 JST 端子都能精準對位,預覽 SMT 貼片成果! (有機會一定要試試看...太方便了)
三、 避坑血淚史:PCB 除錯
在研發過程中,我們並非一帆風順。以下記錄幾次關鍵的「踩坑與復盤」:
 |
| 請高手幫我檢查, 並以跳線方式讓PCB通電 |
最重大的錯誤: ESP32-C3 根本就放反了~~ 5V, GND, 3V3 是在對面啦... .OMG?!🥲
D1 二極體極性顛倒地雷:
3D 模型的「航空母艦」縮放危機:
四、 3D 機構設計與 3D 列印實戰
4.1 從 3D Preview 到 STEP 骨架導出
在 EasyEDA Pro 中完成 PCB 佈局後,點擊「文件 -> 匯出 -> 3D 模型 (STEP)」。我們將獲得一個包含所有元件真實尺寸的 3D STEP 檔案,並直接匯入 Fusion 中進行外殼建模。
 |
| 把 STEP 檔在 Fusion 裡開啟 |
4.2 貼合曲面膠囊外殼與機構細節
外殼造型: 採用背弧化膠囊設計,完美貼合直徑 60-85 mm 的圓柱形水壺。
避讓公差:
高彈性矽膠帶固定: 外殼上的細長溝糟帶,搭配高彈性矽膠束帶或是髮帶,可快速拆卸轉移至不同水壺上。
 |
| 上下蓋合體 |
 |
底蓋上視圖
|
 |
AI 建議後面加兩條肋, 可以讓裝置在圓的水壼的表面維持水平 真的有效呢! |
 |
| 3D 最終完成圖檔 |
五、 韌體開發與系統架構 (Firmware Development)
我們的韌體採用 Arduino IDE / ESP-IDF 開發,結合了語音/視覺互動與極低功耗機制。
5.1 MPU6050 姿態辨識與 EMA 濾波
為了辨識使用者是「拿起水壺喝水」還是「攜帶水壺走路晃動」,我們導入了指數移動平均濾波 (EMA Filter) 與向量內積角度演算法:
 |
| EMA_t = alpha * X_t + (1 - alpha) * EMA_(t-1) |
裝置上的 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 時間同步雙重機制
 |
| 內建兩組記憶 WiFi Hotspot 方便連線 |
六、 成品展示與 JLCPCB 打樣體驗總結
6.1 最終成品寫真
經過近四個月的研發,這款「智慧喝水管家」最終呈現在我們眼前:
6.2 JLCPCB 服務評測心得
極致性價比: 打樣 5 片高品質 PCB 僅需數美元,SMT 貼片服務更是大幅減少了手工焊接 0603 貼片零件的崩潰感。
EasyEDA Pro 無縫整合: 從設計、查看 3D 模型,到直接匯出下單,流程極其順暢。
交期迅速: 從上傳 Gerber 檔到拿到實體打樣板,僅需短短數個工作天,這對於需要快速迭代的 Maker 專案來說是無可替代的優勢!
結語
從原理圖的一條線,到拿在手上沉甸甸、能精準提醒喝水的智慧產品,這次與 JLCPCB 合作的專案經驗讓我深刻體會到「把想法實體化」的無限魅力。如果你也正在規劃自己的下一個物聯網專案,不妨打開 EasyEDA,讓 JLCPCB 幫你把心中的藍圖變成真實的硬體吧!
歡迎透過以下連結註冊 JLCPCB 繁體中文站並進行下單
https://jlcpcb.com/hk?from=Stonez56
**版權所有,未經授權禁止轉載、改作或商用**