ESP32制作掌上游戲機
本文轉(zhuǎn)自立創(chuàng)開源硬件平臺
作者:micespring
原文鏈接:https://oshwhub.com/micespring/esp32-nesemu
▌簡介
一個基于ESP32制作的開源游戲掌機,可以運行標準的NES(日版為FC)游戲,支持單聲道音頻。讓你隨時回味兒時的時光。
固件基于樂鑫官方和moononournation二次開發(fā)的項目,Github地址:
https://github.com/moononournation/esp32-nesemu
▌版本更新
【V1.1-200807】
-
現(xiàn)在可以通過在開機時按方向鍵來選擇不同的游戲。最多支持5個內(nèi)置游戲。(需要重新燒寫固件,游戲下載方法詳見章節(jié)“下載游戲”)
特性
-
低成本:僅一片ESP32-WROOM-32模塊就實現(xiàn)了所有的功能,無需外部Flash、SRAM和DAC。 -
易于制作:阻容元件使用0805封裝,易于焊接。外殼的3D文件制作時已經(jīng)考慮了低端3D打印機的公差問題,提高外殼制作成功率。 -
兼容性好:經(jīng)測試絕大多數(shù)的NES游戲可完美運行 -
可方便地下載游戲:無需重新編譯源碼即可下載游戲,內(nèi)置ESP32自動下載電路,下載時無需手動復(fù)位。 -
內(nèi)置電池:內(nèi)置了鋰電池充電電路和低電量指示電路。 -
低功耗:400mAh的電池可持續(xù)運行約3小時。 -
多功能:板子上引出了ESP32的全部可用IO,可作為ESP32的開發(fā)板使用。 -
三個指示燈:紅色:電量低;藍色:充電中;綠色:電池電量滿。 -
[2020/08/07]可以一次性下載5個游戲
注意事項
-
下載游戲時一定要打開電源開關(guān)! -
游戲ROM大小不要超過1M -
默認的充電電流約為400mA,如果自己制作時使用了不同容量的電池,請自行根據(jù)TP4056充電管理IC的datasheet修改R19的值來重新設(shè)置充電電流。
▌鍵位圖

▌IO映射
| Function | IO | Comments |
LCD-SCLK |
GPIO18 |
|
LCD-MOSI |
GPIO23 |
|
LCD-DC |
GPIO17 |
|
LCD-CS |
GOIO5 |
|
LCD-RST |
GPIO4 |
|
KEY-UP |
GPIO14 |
With 4.7k ohm pullup resistor |
KEY-DOWN |
GPIO32 |
With 4.7k ohm pullup resistor |
KEY-RIGHT |
GPIO33 |
With 4.7k ohm pullup resistor |
KEY-LEFT |
GPIO27 |
With 4.7k ohm pullup resistor |
KEY-A |
GPIO35 |
With 4.7k ohm pullup resistor |
KEY-B |
GPIO34 |
With 4.7k ohm pullup resistor |
KEY-START |
GPIO16 |
With 4.7k ohm pullup resistor |
KEY-SELECT |
GPIO13 |
With 4.7k ohm pullup resistor |
▌示例
運行Contra游戲

作為ESP32開發(fā)板運行例程(LittleVGL)

▌如何制作?
準備材料
以下商品需要在第三方平臺購買
-
屏幕:以下兩個均可,注意,選擇9341版本的 -
(已驗證)2.4寸tft液晶屏顯示屏ILI9341SPI串口屏 -
(未驗證,需要檢查PCB封裝,可能需要修改PCB)中景園2.4寸液晶屏320x240 TFT LCD SPI串口TFT彩色液晶屏9341 -
M3*12螺絲x4
其他元件按照BOM表格在立創(chuàng)商城購買即可,其中電池鏈接:鋰電池 700mA
準備外殼
使用第三方3D打印服務(wù)或自行打印外殼,外殼的模型文件在附件中。

打樣PCB

開始制作
1,焊接PCB正面元件(不要焊接屏幕)

2,焊接PCB反面元件(不要焊接電池)

3,通過紅框位置為PCB供電,供電電壓為3.3V,同時通過USB將PCB連接至電腦

4,在電腦上通過串口助手軟件查看ESP32是否正常輸出啟動Log,如果沒有,請重新檢查元器件焊接是否有誤(不用關(guān)心Log內(nèi)容,只要正常輸出log了即可)

5,關(guān)閉串口助手,下載附件中的“ESP32-FLASH下載工具-已設(shè)置好.zip”

6,運行工具

7,選擇ESP32 Download Tool

8,檢查關(guān)鍵設(shè)置是否與如下圖片中一致(下載的工具是已經(jīng)設(shè)置好的,正常情況下不需要做任何變動)

9,選擇正確的COM口,點擊Start開始下載

10,正常情況下下載應(yīng)該會自動開始,進度條會開始走動,如圖:

11,如果下載長時間未自動開始,按住“下載”鍵不丟后按一下“復(fù)位”,然后再次點擊下載工具上的“START”

12,如果按照第11步操作后,依然報錯,則可能是元件損壞或焊接不良,請重新檢查焊接。
13,等待程序正常下載完畢后,斷開USB連接和供電,下圖為下載正常結(jié)束

14,焊接屏幕,但是先不要固定屏幕。

15,確保電源開關(guān)處于關(guān)閉狀態(tài)(撥動桿在上方為關(guān)閉),然后焊接電池


16,打開電源開關(guān),如果無異常,應(yīng)該會出現(xiàn)“TANK”的游戲畫面。如果白屏或者屏幕不亮。請在斷開電池后從第一步開始重新檢查焊接、下載是否有誤。

17,使用直徑2.5mm鉆頭擴展螺絲孔,如果沒有相關(guān)工具,也可以使用自攻螺絲

18,撕去液晶屏保護膜(按照自己的習(xí)慣來,不想撕可以不撕)。使用液晶屏自帶的雙面膠或者自行打膠固定屏幕(千萬不要固定歪了?。?,將PCB放入底殼,放置好按鍵,蓋上頂殼,擰好螺絲。

19,大功告成,開始玩耍~
▌下載新游戲
1.準備好游戲的ROM文件(*.nes)

2.運行附件中的“ESP32-Flash下載工具-下載多個游戲”

3.點擊紅框中按鈕,在彈出的文件選擇對話框中選擇文件類型為“所有文件”,然后選擇你要下載的游戲ROM文件

4.打開游戲機電源(重要?。。。?/span>,將游戲機通過USB連接至電腦,然后選擇正確的COM口,點擊START開始下載

5.下載完成后,按一下游戲機的“復(fù)位”鍵,默認運行第一個游戲。

6.按住方向鍵不丟,然后打開電源(開機狀態(tài)下為按復(fù)位鍵),會自動根據(jù)按下的方向鍵啟動不同的游戲。對照如下
| 游戲序號 | 方向鍵 |
1 |
默認(不按任何按鍵) |
2 |
方向鍵-上 |
3 |
方向鍵-下 |
4 |
方向鍵-左 |
5 |
方向鍵-右 |
▌圖賞


往期推薦
