基于ESP32的NES游戏掌机 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 基于ESP32的NES游戏掌机

  • 5.2w
  • 170
  • 523

简介:基于ESP32的NES游戏机。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2020-07-12 01:35:37
更新时间: 2024-01-16 21:43:12
描述
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* * [简介](#%E7%AE%80%E4%BB%8B) * [版本更新](#%E7%89%88%E6%9C%AC%E6%9B%B4%E6%96%B0) * [特性](#%E7%89%B9%E6%80%A7) * [注意事项](#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9) * [键位图](#%E9%94%AE%E4%BD%8D%E5%9B%BE) * [IO映射](#io%E6%98%A0%E5%B0%84) * [示例](#%E7%A4%BA%E4%BE%8B) * [运行Contra游戏](#%E8%BF%90%E8%A1%8Ccontra%E6%B8%B8%E6%88%8F) * [作为ESP32开发板运行例程(LittleVGL)](#%E4%BD%9C%E4%B8%BAesp32%E5%BC%80%E5%8F%91%E6%9D%BF%E8%BF%90%E8%A1%8C%E4%BE%8B%E7%A8%8Blittlevgl) * [如何制作?](#%E5%A6%82%E4%BD%95%E5%88%B6%E4%BD%9C) * [准备材料](#%E5%87%86%E5%A4%87%E6%9D%90%E6%96%99) * [准备外壳](#%E5%87%86%E5%A4%87%E5%A4%96%E5%A3%B3) * [打样PCB](#%E6%89%93%E6%A0%B7pcb) * [开始制作](#%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C) * [下载新游戏](#%E4%B8%8B%E8%BD%BD%E6%96%B0%E6%B8%B8%E6%88%8F) * [图赏](#%E5%9B%BE%E8%B5%8F) ### 简介 一个基于ESP32制作的开源游戏掌机,可以运行标准的NES(日版为FC)游戏,支持单声道音频。让你随时回味儿时的时光。 固件基于乐鑫官方和moononournation二次开发的项目,Github地址:[https://github.com/moononournation/esp32-nesemu](https://github.com/moononournation/esp32-nesemu) (目前该链接已经失效,可能是作者自行删除了代码,但是GitHub上还有其他fork此项目的,直接在Github搜索esp32-nesemu即可) ### 版本更新 【V1.1-200807】 * 现在可以通过在开机时按方向键来选择不同的游戏。最多支持5个内置游戏。(需要重新烧写固件,游戏下载方法详见章节“下载游戏”) ### 特性 * 低成本:仅一片ESP32-WROOM-32模块就实现了所有的功能,无需外部Flash、SRAM和DAC。 * 易于制作:阻容元件使用0805封装,易于焊接。外壳的3D文件制作时已经考虑了低端3D打印机的公差问题,提高外壳制作成功率。 * 兼容性好:经测试绝大多数的NES游戏可完美运行 * 可方便地下载游戏:无需重新编译源码即可下载游戏,内置ESP32自动下载电路,下载时无需手动复位。 * 内置电池:内置了锂电池充电电路和低电量指示电路。 * 低功耗:400mAh的电池可持续运行约3小时。 * 多功能:板子上引出了ESP32的全部可用IO,可作为ESP32的开发板使用。 * 三个指示灯:红色:电量低;蓝色:充电中;绿色:电池电量满。 * [2020/08/07]可以一次性下载5个游戏 ### 注意事项 * 下载游戏时一定要打开电源开关! * 游戏ROM大小不要超过1M * 默认的充电电流约为400mA,如果自己制作时使用了不同容量的电池,请自行根据TP4056充电管理IC的datasheet修改R19的值来重新设置充电电流。![image.png](//image.lceda.cn/pullimage/Uko1PFwmebj1H5B77mbDFfY13MOd2zMwxhPPFndn.png) ### 键位图 ![image.png](//image.lceda.cn/pullimage/m89NSQ61DLk7zW8OAq2pFCP09SgRFNSlNTl5Zv32.png) ### 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游戏 ![IMG_4014.jpg](//image.lceda.cn/pullimage/suG8rLpCw7rgDg6RCf7P7R2U8MsRwrXxQRvDLSB6.jpeg) #### 作为ESP32开发板运行例程(LittleVGL) ![image.png](//image.lceda.cn/pullimage/FDY1vz2pXLhkzHvutiDiayGQK7qaTNKIIaTsD5bY.png) ### 如何制作? ##### 准备材料 以下商品需要在第三方平台购买 * 屏幕:以下两个均可,注意,选择9341版本的 * (已验证)[2.4寸tft液晶屏显示屏ILI9341SPI串口屏](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.6a822e8dwf2ajH&id=45758568009&_u=dnd0n7r6817) * **(未验证,需要检查PCB封装,可能需要修改PCB)**[中景园2.4寸液晶屏320x240 TFT LCD SPI串口TFT彩色液晶屏9341](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22848648882.14.42bc400cTAz5Fz&id=565272751076) * M3*12螺丝x4 其他元件按照BOM表格在立创商城购买即可,其中电池链接:[锂电池 700mA](https://item.szlcsc.com/419941.html) ##### 准备外壳 使用第三方3D打印服务或自行打印外壳,外壳的模型文件在附件中。 ![image.png](//image.lceda.cn/pullimage/HBFzNrPX3tHrWAJ0nadZ054XxzwNKERzfyCKrWp7.png) ##### 打样PCB ![IMG_3998.jpg](//image.lceda.cn/pullimage/OKXKZ9cQgapiS4RyZsY2H5tIHdt3MC1LJhVZ78ph.jpeg) ##### 开始制作 1,焊接PCB正面元件(不要焊接屏幕) ![image.png](//image.lceda.cn/pullimage/X5nORkbTZ0qthwxzcYOVWa8qPdDnUPbgZBraUMoA.png) 2,焊接PCB反面元件(不要焊接电池) ![image.png](//image.lceda.cn/pullimage/YU0w4rWvu8TmK4FcXJN8UeZLC8mFLVO50vfKwREj.png) 3,通过红框位置为PCB供电,供电电压为3.3V,同时通过USB将PCB连接至电脑 ![image.png](//image.lceda.cn/pullimage/jMn8ajT6mRrZ4vCYzYzJWy7CxZjXaopVLFgL3JNT.png) 4,在电脑上通过串口助手软件查看ESP32是否正常输出启动Log,如果没有,请重新检查元器件焊接是否有误(不用关心Log内容,只要正常输出log了即可) ![image.png](//image.lceda.cn/pullimage/TxzFhULmEtif0ZtKk1So1kpf8TqvzCvzGe8CFQdx.png) 5,关闭串口助手,下载附件中的“ESP32-FLASH下载工具-已设置好.zip” ![image.png](//image.lceda.cn/pullimage/F3vhuD8Gf11njyA8O6VapaCpnjvXDRs79UMEg5LR.png) 6,运行工具 ![image.png](//image.lceda.cn/pullimage/hGqA4BTrL1QH91ybqoirfJzJpnfHrkvb5z9Anlpr.png) 7,选择ESP32 Download Tool ![image.png](//image.lceda.cn/pullimage/1b1Bxv0DbmE1anVJOJVtzH0dxh2VR0mc9BRT9q81.png) 8,检查关键设置是否与如下图片中一致(下载的工具是已经设置好的,正常情况下不需要做任何变动) ![image.png](//image.lceda.cn/pullimage/06aXL3lkuT81tavDZvgcE3hp9AKD0e0oOcSKPiLx.png) 9,选择正确的COM口,点击Start开始下载 ![image.png](//image.lceda.cn/pullimage/MHTXPeDs1A9YZW8UbVjFPx8tcQu1GKsh2tPfSFhL.png) 10,正常情况下下载应该会自动开始,进度条会开始走动,如图: ![image.png](//image.lceda.cn/pullimage/ZB9U8nDpxrgIdF4DuoCRJF8Xy7zbw5cwFzJBk3Xg.png) 11,如果下载长时间未自动开始,按住“下载”键不丢后按一下“复位”,然后再次点击下载工具上的“START” ![image.png](//image.lceda.cn/pullimage/2AQsLTPJCPPhGuaMdjoo4vLgM5AXx5uRZCmf9bJ2.png) 12,如果按照第11步操作后,依然报错,则可能是元件损坏或焊接不良,请重新检查焊接。 13,等待程序正常下载完毕后,断开USB连接和供电,下图为下载正常结束 ![image.png](//image.lceda.cn/pullimage/i8kjVqVHg4PzYSPjdoLrmoOjtlJBvGUYrJ3tkZQS.png) 14,焊接屏幕,但是先不要固定屏幕。 ![image.png](//image.lceda.cn/pullimage/weKAcABPGjUYFFIxDEoOzpxtBWRNoqBoDbvnWsDI.png) 15,确保电源开关处于关闭状态(拨动杆在上方为关闭),然后焊接电池 ![image.png](//image.lceda.cn/pullimage/Vvkq7wNCnHf0EU3sT7rFHr29hPH7Zpg8f2MOS5nV.png) ![image.png](//image.lceda.cn/pullimage/k38YdIL0ioXGfjOR2i6npBDE3tJlb9Elb3dxJhks.png) 16,打开电源开关,如果无异常,应该会出现“TANK”的游戏画面。如果白屏或者屏幕不亮。请在断开电池后从第一步开始重新检查焊接、下载是否有误。 ![image.png](//image.lceda.cn/pullimage/sSQS9wX1KvIdJfxW2BAq5t9ZHBKm4lK2uKFFloS9.png) 17,使用直径2.5mm钻头扩展螺丝孔,如果没有相关工具,也可以使用自攻螺丝 ![image.png](//image.lceda.cn/pullimage/zd7SS46pbnQwk9yH0xezLll2LZUDuqkE8T64yFIC.png) 18,撕去液晶屏保护膜(按照自己的习惯来,不想撕可以不撕)。使用液晶屏自带的双面胶或者自行打胶固定屏幕(千万不要固定歪了!),将PCB放入底壳,放置好按键,盖上顶壳,拧好螺丝。 ![image.png](//image.lceda.cn/pullimage/i8QgBDIgexrgBI4yiyx8hAF350dg7VmN4MrXOYEp.png) 19,大功告成,开始玩耍~ ### 下载新游戏 1.准备好游戏的ROM文件(*.nes) ![image.png](//image.lceda.cn/pullimage/ETVh5YqEhQ7CHtvN9pKDz0BzmYKA2EEzrJrutGmB.png) 2.运行附件中的“ESP32-Flash下载工具-下载多个游戏” ![image.png](//image.lceda.cn/pullimage/9jILgpLtvWZq01ZVCzl81mS4Rt9Z7F8DLwS6YmrM.png) 3.点击红框中按钮,在弹出的文件选择对话框中选择文件类型为“所有文件”,然后选择你要下载的游戏ROM文件 ![image.png](//image.lceda.cn/pullimage/ZCeWTGwppVXpdcGT0z7ag3xnC5tDmLuCHr9YE4kK.png) 4.**打开游戏机电源(重要!!!)**,将游戏机通过USB连接至电脑,然后选择正确的COM口,点击START开始下载 ![image.png](//image.lceda.cn/pullimage/W9VCVmZIG2wnRLKBs5oqHsxsJky1lycf5Wl93sjc.png) 5.下载完成后,按一下游戏机的“复位”键,默认运行第一个游戏。 ![image.png](//image.lceda.cn/pullimage/GHHcdm0vFUlbAKVDBQHPXmGfQKcDLre7491g09KJ.png) 6.按住方向键不丢,然后打开电源(开机状态下为按复位键),会自动根据按下的方向键启动不同的游戏。对照如下 | 游戏序号 | 方向键 | | ---- | --- | | 1 | 默认(不按任何按键) | | 2 | 方向键-上 | | 3 | 方向键-下 | | 4 | 方向键-左 | | 5 | 方向键-右 | ### 图赏 ![IMG_4002.jpg](//image.lceda.cn/pullimage/ROqcK3MpjomoPBhEVOiyl0Q0K45ZevTZRfVlNS8W.jpeg) ![IMG_4011.jpg](//image.lceda.cn/pullimage/J4cvWN3Yah0EERcRpLTgpMWham8s5lKPVO2v1xMq.jpeg)
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 SK12D07VG4 PWR-SW SW-TH_SK12D07VG4 1
2 TS-1145A-B-A UP,DOWN,LEFT,RIGHT,SELECT,START,KEY-A,KEY-B SW-SMD_4P-L4.2-W3.2-P2.15-LS4.6 8
3 LED-0805_R LB LED0805_RED 1
4 HDR-F-2.54_1x2 LI-ON HDR-F-2.54_1X2 1
5 S8050 Q1,Q2,Q3 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-TR 3
6 TC-1102N-C-DL-B KEY-RST,KEY-BOOT SW-TH_TC-1102N-C-DL-B 2
7 JUMPER JP1 JUMPER-0603 1
8 SPEAKER-FS-2308-P9.2 SP1 SPEAKER-FS-2308-P9.2-PCB 1
9 CH340C U5 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 1
10 XC6206P332MR U3,U6 SOT-23(SOT-23-3) 2
11 10u C10,C9,C11 C1206 3
12 HDR-M-2.54_1x1 PWR+,PWR- HDR-M-2.54_1X1 2
13 10K R22 RES-TH_RK10J12E002L 1
14 10k R1,R2,R25,R26,R27 R0805 5
15 220 R3,R4,R5,R6,R31 R0805 5
16 4.7k R7,R8,R9,R10,R11,R12,R23,R24 R0805 8
17 20k R13 R0805 1
18 47k R14 R0805 1
19 470 R15,R16 R0805 2
20 100 R17,R18 R0805 2
21 ESP32-WROOM-32DC U1 WIFIM-SMD_38P-L25.5-W18.0-P1.27 1
22 17-21/BHC-XL2M2TY/3T CHG LED0805_RED 1
23 17-21/BHC-XL2M2TY/3T FUL LED0805_GREEN 1
24 10u C5,C4,C13 C0805 3
25 0.1u C6,C14,C1,C2,C7,C8,C12,C16,C17 C0805 9
26 FM8002A U2 SOP-8_L4.9-W3.9-P1.27-LS6.0-BL 1
27 1u C3,C15 C0805 2
28 TFT_2.4_18P_SPI_ILI9341_240X320_65K_S LCD TFT_2.4_18P_SPI_ILI9341_240X320_65K_S 1
29 AZ431AN-ATRE1 U7 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR 1
30 HDR-M-2.54_1x20 J1 HDR-M-2.54_1X20 1
31 B2B-XH-A (LF)(SN) BAT CONN-TH_B2B-XH-A (LF)(SN) 1
32 TP4056 U4 SOP-8_EP_150MIL 1
33 U-F-M5DW-Y-4 USB MICRO-USB-A12 1
34 3.3k R19 R0805 1
35 1k R20,R21 R0805 2
36 2k R28 R0805 1
37 33k R29 R0805 1
38 100k R30 R0805 1

展开

侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP