把 ESP32-C3 做成智慧居家燈控
2 分鐘
- 把 ESP32-C3 做成智慧居家燈控
- 🔌 供電我先拆開
- PCB 和 3D 圖
- 🟦 先自己做 MQTT 中控
- 🏠 後來改試 Matter
- 📹 實測影片
- 兩種方式實際差在哪
- 🔧 製作時卡住的地方
- 🙂 我做這個專案時,想法怎麼變
作者:
泰瑞電電
Github:
terry-eric
项目連結:
https://github.com/terry-eric/home_WS2812_control_online/tree/main
社群平台:
Instagram @terry_ee_lab、
Threads @terry_ee_lab
把 ESP32-C3 做成智慧居家燈控
從 home_WS2812_control_online 到 TerryESP-Matter-Controller
💡 我下這片 PCB,是想把 ESP32-C3、USB 供電和 WS2812 的控制收進一塊小板,做成可以放在家裡用的智慧燈。
我原本就比較熟 ESP32,所以這次直接用 ESP32-C3FH4。板子是雙層板,尺寸約 16.764 x 30.121 mm。上面有 USB Type-C、穩壓器、晶振、天線區、BOOT 按鍵和燈條接頭。我只拉一個 GPIO 出來控 WS2812,因為 WS2812 本身就能一顆接一顆串下去,線路不用拉得很複雜。
我一開始的想法很單純:先把控制板做出來,接上燈條,讓它可以從網路控制。後來同一塊板子先跑 MQTT,再改做 Matter。燈條、電源和 GPIO 控制都沒換,變的是上面那一層到底要怎麼連、誰來管。
🔌 供電我先拆開
畫板的時候,我沒有讓燈條跟 ESP32 共用 LDO。USB 的 5 V 進來後,一路直接給 WS2812;另一路才經過 MG6228T3B-33,供應 ESP32-C3FH4 的 3.3 V。這樣後面燈條電流變大時,不用連 LDO 也跟著選大顆。
資料線則從 GPIO10 出來,先過 330 歐姆電阻,再送到 WS2812。整個控制板拉出去就是 5 V、GND 和資料線三條。
PCB 和 3D 圖
USB-C 在板子一端,ESP32-C3 和天線區在中間,另一端是 WS2812 的三針接頭;BOOT 按鍵也留在板上。這樣之後換不同的燈條時,不需要再重做控制端。
🟦 先自己做 MQTT 中控
我那時候連中控網頁也一起做了,專案名稱是 home_WS2812_control_online。網頁上可以切燈效、開關和選顏色;按下去後,資料會送到公開免費的 Broker,ESP32-C3 收到指定主題的訊息,就去改 WS2812。
我目前用的主題例如 example/ws2812/mode 是燈效模式;example/ws2812/color 是顏色。
展示頁: https://demo.terry878.org/home_WS2812_control_online/
前面自己測的時候,我想加什麼功能就加什麼,沒有什麼問題。燈效想多一個就多一個,顏色想怎麼傳也可以自己改。等我開始想把它當成家裡會一直用的燈,才開始碰到後面的事:Broker 誰管、帳號怎麼給、遠端連線要怎麼弄。這些不是不能做,只是都要自己顧。
🏠 後來改試 Matter
Matter 的部分我另外做成 TerryESP-Matter-Controller。家裡原本就有 Google Nest,所以後來就想直接把這塊板子丟進 Google Home 試試看,不想再一直顧另一個控制頁。Matter 前面配對、加進家庭比較花時間;不過加進去之後,家裡的人就直接從 Google Home 用。
專案頁: https://github.com/terry-eric/TerryESP-Matter-Controller
📹 實測影片
以下兩支是這個專案的實測影片。
影片 1: https://www.instagram.com/p/DbtTByizAnA/?hl=zh-tw
影片 2: https://www.instagram.com/p/DcY-WFeTNiw/?hl=zh-tw
兩種方式實際差在哪
兩邊的板子沒有差,都是 ESP32-C3 收到資料後,從 GPIO 輸出到 WS2812。MQTT 的 Broker、控制頁和權限要自己想;Matter 就照 Google Home 的方式配對和管理。
兩邊都能把燈控制起來。差別在後面要花多少時間把它變成家裡真的能用的東西。MQTT 比較適合我自己做功能時用;如果是放在家裡,直接進 Google Home 比較方便。
🔧 製作時卡住的地方
這個專案一開始看起來就是一顆 ESP32-C3、一個 GPIO,再接一條 WS2812 燈條。但真的開始做板子,第一個卡住的反而不是燈,而是 USB 一直斷線重連。那時候燈條都還沒接,MQTT 和 Matter 也還沒開始跑,光是讓板子穩定連上電腦就花了一段時間。我當時從 USB D+/D-、Type-C 腳位、焊接和電腦端開始看,也把 MCU 是否重設、3.3 V 是否穩定、BOOT/EN 周邊一起列入檢查。最後用 Arduino IDE 燒入空白程式後,USB 就恢復正常。
燈條接的數量一多,電流就不會和 ESP32 一樣小,所以我把燈條的 5 V 和 ESP32 的 3.3 V 分開。燈條直接用 USB 的 5 V,LDO 只負責 ESP32。
MQTT 做完後,後台、安全、帳號和遠端連線的事情才慢慢浮出來。控制畫面可以自己寫、主題可以自己定;這些東西也都要自己顧。Matter 的配對和加入 Google Home 前面也要花時間,不過進去之後,日常控制就比較不用一直自己維護。
🙂 我做這個專案時,想法怎麼變
一開始我想得很簡單:做一塊小板,接上 WS2812,能從網路控制就好。結果板子一開始真正卡住的不是燈效,也不是 MQTT,而是 USB 一直斷線重連。那時候會覺得,明明後面的功能都還沒開始,怎麼先卡在最基本的連線。
USB 的問題卡住時,電源怎麼分、開機和 BOOT 周邊有沒有放對、USB 能不能穩定,這些都得一起看。做板子時,看起來最不起眼的地方,反而常常最花時間。
MQTT 中控做起來後,我其實很喜歡那種想改什麼就改什麼的感覺。燈效、顏色、控制頁,都是我自己決定。可是當我開始想像它不是我坐在電腦前測試,而是真的放在家裡讓人使用,想法就不一樣了。不是每個人都會去管 Broker、帳號或連線,這些事情最後還是會回到我身上。
家裡原本就有 Google Nest,所以我才會接著試 Matter。把自己做的板子加進 Google Home 以後,控制、家庭成員和其他裝置都放在同一個地方。我想把原本自己顧的事情減少一點,讓它跟家裡其他智慧裝置一起用。
MQTT 讓我把控制做得很自由;Matter 則讓這塊自己畫的板子可以直接放進 Google Home。這個專案從『我能不能把燈控制起來』一路做到『我會不會真的想把它留在家裡一直用』。
持續學習
KeyNest 四鍵小鍵盤製作紀錄|ESP32-S3、RGB、快捷鍵與網頁設定
KeyNest 四鍵小鍵盤製作紀錄 哈嘍各位,這次分享的是 KeyNest,一個四鍵的小鍵盤。四顆鍵可以各自設定快捷鍵,也有 RGB 燈和按鍵音。設定從網頁透過 USB 傳進板子,存好之後就可以關掉網頁繼續使用。 目前最直接的用法,就是把常用操作放到這四顆鍵上。像是把一顆設成複製,按下去就送出 Ctrl+C。也可以把 Ctrl 和 A 分在兩顆鍵,按住 Ctrl 再按 A。換一組快捷鍵,在網頁改好再存進去就可以,不用重燒程式。 圖 1:左為外殼 3D 模型,右為實機操作畫面。 四顆鍵排在前面 外殼前面是一整排按鍵,下方各有一個燈光視窗。喇叭的長條開孔放在上蓋後方,USB 從後側接進來。手放在前排操作時,線就留在後面。 這個專案是我先講想要什麼,再和 Codex 來回修改程式、網頁和功能整合。我負責看哪裡不對,再拿到實機上試。原本講出來的功能,慢慢變成桌上能按的東西,這個過程蠻有趣的。 外殼跟著 PCB 配 把模型拆開來看,依序是鍵帽、上蓋、PCB 和底座。四顆開關直接排在 PCB 上,上蓋留出整排按鍵的空間,前面的四個視窗再對到 RGB。底座則用固定柱支撐板子。 圖 2:機構展開的 3D 模型,非......
自製 USB 2.0 HUB:三個 USB-A、雙 Type-C 與 3D 外殼設計紀錄
自己做一個 USB 2.0 HUB 哈嘍各位,這次分享我做的 USB 2.0 HUB。 圖 1:實機照片。 做這個 HUB,我想把接口和外觀一起整理好。三個 USB-A 放在同一側,兩端再各留一個 Type-C,外殼的開口也跟著這個配置走。希望接起來能靈活、實用,線材和外觀也保持整潔、輕巧。這一版用的是 SL2.1A,外殼則交給 JLC 的 3D 代工製作。 這一版已做過基本連線和檔案傳輸測試。目前還是第一版原型,電源和 Type-C 的設計也有要注意的地方,後面會一起說明。 三個 USB A 放一起 兩端留 Type C 板上看得到五個插座,不過規劃上是一個上游、四個下游。標示 USB C IN 的 Type-C 接主機,另外三個 USB-A 和標示 USB C OUT 的 Type-C 則是下游接口。 當初也想把下游的 Type-C 接到下一個 HUB,讓線可以沿著兩端接下去。這是接口安排時的想法,串接的供電和相容性還沒有完整驗證。 圖 2:PCB 佈局。三個 USB-A 排在同一側,兩端各留一個 Type-C。 HUB 的電路 圖 3:依原理圖整理的資料通道關係。箭頭表示雙向資料傳輸,不是供......
從零打造「智慧喝水管家」: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 Supe......
設計精密 72 顆 LED 可穿戴手錶:使用 JLCPCB SMT 組裝製作 40 mm 圓形 PCB
重點摘要 本案例研究介紹一款採用精密 40 mm 圓形 PCB 製作的 72 顆 LED 可穿戴手錶。你將了解 JLCPCB SMT 組裝如何省去 70 多顆 0603 LED 的手工焊接、ENIG 表面處理如何確保可穿戴應用的可靠性,以及透過鼠咬孔分離耳實現圓形電路板自動組裝的巧妙拼板策略。整個專案涵蓋從 EasyEDA 原理圖繪製、韌體優化,到商用級不鏽鋼外殼整合的完整流程。 簡介與設計動機 製作客製可穿戴硬件,是現代電子領域中最具成就感、同時也最具挑戰性的工作之一。市面上的智能手錶通常依賴複雜 OLED 顯示器和耗電量較高的處理器,而開源專案創作者 Taifur 則希望製作一款極簡、具工業級質感的時計:LED 圓形手錶。 核心構想簡單,但在技術上要求很高:使用由 72 顆獨立 SMD LED 組成的環形顯示器,以 ATmega328P 微控制器和高精度 DS3231 實時時鐘(RTC)驅動。 然而,要將 72 顆 LED 的放射狀電路轉化為可穿戴產品,會遇到多項重大工程挑戰: 機械限制:PCB 直徑不能超過 40 mm,才能放入市售手錶外殼。 組裝複雜度:在 40 mm 電路板上,手工焊接 ......
Athena:打造高效能 6 層火箭航電 PCB
重點摘要 Athena 是一款開源飛行電腦,採用三 MCU 架構、冗餘感測器及多個通訊介面,整合於緊湊的 6 層 PCB 上。 這塊 80 × 140 mm 的電路板整合三個 STM32 MCU、三個 IMU、氣壓計、GNSS、LoRa、Bluetooth、CAN、USB、快閃記憶體、SD 卡及電源管理功能。 6 層 PCB 為這項複雜設計提供充足的佈線容量、有組織的電源分配、清晰的訊號規劃及緊湊的功能整合。 這個專案展示開源硬件如何透過專業 PCB 製造及組裝服務,由設計落地為實體硬件。 先進火箭技術需要飛行電腦在緊湊而可靠的硬件平台上整合運算、感測、通訊、電源管理及控制功能。NotARoomba 的開源飛行電腦專案 Athena 透過三 MCU 架構、冗餘感測、多個通訊介面、專用控制通道及 6 層 PCB,滿足這些要求。 Athena 電路板尺寸為 80 × 140 mm,整合三個 STM32 MCU、三個 IMU、氣壓計、GNSS、LoRa、Bluetooth、CAN、USB、快閃記憶體、SD 卡介面及多項電源管理功能。專案使用 EasyEDA 設計,並由 JLCPCB 負責 PCB 製造及......
ESP32 S3 無損音樂播放器製作記錄
作者:輕鬆易學嵌入式 YouTube 影片連結:https://www.youtube.com/watch?v=axT8qfYF0Kk 專案原始碼與 PCB 設計檔案:GitHub 專案倉庫 ESP32 S3 無損音樂播放器製作記錄 從洞洞板到四層 PCB 的設計 焊接與音訊測試 手機已經可以完成絕大多數聽音樂的需求,為什麼還要自己做一臺播放器? 對我來說,吸引人的地方是能夠親手掌握整個過程:音樂檔案怎麼從 SD 卡讀出來,解碼後的資料怎麼送到 DAC,螢幕重新整理會不會影響播放,換一種輸出方式又會發生什麼。遇到問題,可以改硬體、查日誌,也可以透過錄音和盲聽來驗證自己的判斷。 於是,我用 ESP32-S3 搭配 SD 卡、顯示螢幕和外接 DAC,做了這臺音樂播放器。它最早只是洞洞板上的一堆模組和飛線,後來逐步變成自己設計、自己焊接的四層 PCB。 這篇文章就把這次升級的過程整理出來:從確定硬體架構、使用 EasyEDA 設計 PCB,到打樣、手工焊接、韌體除錯,最後再用幾種不同的音訊輸出方案做一次盲聽對比。 圖 1 播放器成品與手機網頁控制 來源 影片 6:52 一 先在洞洞板上 把音樂播放出來 ......