ESP32的積木式開發套件 - M5Stack有何特色?

作者:陸向陽

之前筆者寫ESP32-CAM專文時從範例程式裡發現有一種也是以ESP32晶片為基礎的開發板稱為M5STACK,後來有去查詢一下發現M5Stack是以模組化、積木式堆砌的開發系統,不過似乎以國外市場為主,一時不以為意。然近期在Maker Faire 2019 台北的展場上也看到了實際展示,在國內創客有機會接觸的情況下,筆者認為值得寫一篇探索文。

而在筆者下筆前其實MakerPRO已有一篇相關文章為M5StickC的專文,並以技術實務角度講述,因此筆者此篇決議改以概觀的角度來談論M5Stack。

M5Stack硬體概念

M5Stack是2016年在深圳成立的公司,M5Stack之名的意涵為Modular、5cm、Stackable。Module顧名思義為模組化,意指一切都像積木一樣直覺堆砌拆組,5cm是指印刷電路板僅有5公分長寬,Stackable則指可堆疊的。

 

M5Stack可堆疊式組構電路。(圖片來源:M5Stack)

M5Stack產品的核心是Core積木,這個積木內由ESP32擔任主控晶片(更早先的募資階段似是先使用ESP8266)。Core的底部可以彈性換裝不同的Module積木,例如無線通訊模組、電池模組等,Module能夠以一個Core為基礎進行複數疊放連接;Core也可向外連接不同的Unit積木,Unit即為各種感測器或致動器,如加速度感測器、震動馬達等。

以電氣連通而言大體為上述三者,除此之外M5Stack還提供機械、機構類型的Accessory配件、Base底座等,或直接以實現某一特定應用為取向的Application套包,如智慧插座、迷你車等。使用M5Stack的好處是開發的創客不需要拿焊槍焊接、麵包板接線,直接將不同的積木拼湊連接即可實現與改變電路設計。

M5Stack軟體概念

M5Stack除訴求硬體輕鬆拼接外另一訴求是積木式的程式開發,M5Stack提供雲端版的積木式開發環境UiFlow,UiFlow可選擇圖形積木式的Blockly開發,也可以選擇Python(MicroPython)程式開發,更早之前Python的網頁版開發環境稱為M5Cloud。另外非官方的資料也帶到可以用本地端版的整合式開發環境,包含Arduino IDE或PlatformIO IDE。

 

圖2 UiFlow操作畫面圖。(圖片來源:M5Stack)

與樂高EV3、Arduino、RPi的比較

M5Stack概念簡單,將複雜的細節隱藏,一切以簡單直覺的方式實現,如此可降低學習門檻,適合用於STEM教學上,也適合用於開發初期的簡單功能、概念驗證上。

不過以軟硬體積木化為訴求的,多數人會更快聯想到另一套產品,即丹麥玩具商樂高(LEGO)推出的Mindstorms系列,最早是RCX(1998年),而後是NXT(2006年),而今是EV3(2013年)。

面對已長期盤據市場的樂高,M5Stack有幾點是其差異訴求,一是開放原始程式碼,M5Stack的電路、應用程式介面函式庫、機構外殼等均開放;二是更輕巧緊緻的設計,M5Stack可透過加裝配件變成智慧錶或自行車導航器等;三是訴求可以產業化運用。

而筆者觀察M5Stack還有入手價格較低的優點,樂高方案多在萬元新台幣上下,若想買個小孩學習對父母而言亦是不小財務負擔,對STEM教學機構而言要訂購多套同樣也是負擔,然M5Stack僅在數十美元價位。另外M5Stack的模組化硬體更為多樣,可實現的電子應用也更廣泛。

M5Stack為IoT學習訂製的學習套件M5GO(Source

不過M5Stack也有不如樂高的地方,樂高由於推出市場已久,協力業者的軟體開發支援較多,且樂高有較多的機構積木可援用。另某些方面兩者呈現平手,例如均有積木式開發介面,主控本體均有簡單人機操作介面(按鈕、螢幕)。

除了與樂高比較外,M5Stack官方也與創客常用的Arduino、Raspberry Pi比較,與此兩者相比M5Stack的「包覆」較好,M5Stack強調高度簡化包裝,基本上不外露電路板,只外露連接介面,而Arduino、Raspberry Pi預設為外露,即便是Raspberry Pi亦將外殼視為選配。

M5Stack也強調較能實現與滿足產業型運用,這是Arduino較難做到的,但RPi則可以。至於M5Stack強調內建LoRa無線通訊,此一特點較牽強,一是Arduino、RPi要加裝上LoRa並非難事,二是LoRa尚未成為如普遍需求。此外Arduino、RPi也無直接的人機操作介面。

 

圖3 M5Stack與其他STEM學習方案比較(圖片來源:M5Stack)

 

在M5Stack官方訴求外筆者自身也比較一下系統效能與資源,由於M5Stack內部倚賴ESP32晶片,因此規格高於Arduino但可能低於樂高EV3,EV3使用德州儀器Sitara AM1808處理器(ARM926EJ-S核心,300MHz)並有64MB RAM、16MB ROM,而M5Stack為512KB RAM、4MB ROM,至於與RPi相比則仍有很大差距。

另立的主控產品M5StickC、M5StickV

M5Stack除了推出以M5Stack Core為主的產品外,其後續也推出M5StickC與M5StickV等另立的主控本體,並可援用原有M5Stack Core的感測器、致動器等單元。

M5StickC仍使用ESP32為其主控晶片,但外觀更為輕巧緊緻更適合在配戴、穿戴型應用,然緊緻設計的取捨即是較小的螢幕與無法使用M5Stack的模組;至於M5StickV則改用RISC-V核心打造的處理晶片,不再沿用ESP32晶片,M5StickV訴求於人工智慧影像辨識應用。

 

圖4 由右至左為M5Stack、M5StickC、M5StickV(Source

(責任編輯:王姵文)

陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。
陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *