第一次听说Arduboy时,我还以为是什么新出的商业掌机。后来才发现,这居然是一个完全开源的DIY项目!简单来说,Arduboy就是一个信用卡大小的游戏掌机,基于Arduino开发板打造,可以运行上百个复古游戏。
最让我心动的是,整个项目从硬件到软件全部开源。这意味着你不仅能玩现成的游戏,还能自己开发游戏,甚至改造硬件。相比市面上动辄几百元的商业掌机,自己动手做一台的成本不到百元。我去年做的第一台,算上所有元器件才花了68块钱。
这个项目最初由国外创客Kevin Bates发起,现在已经成为全球硬件爱好者的宠儿。你可以在GitHub上找到完整的硬件设计文件,在开源社区下载各种游戏资源。我特别喜欢这种开放共享的精神,让每个人都能享受创造的乐趣。
工欲善其事,必先利其器。在开始制作前,我们需要准备好所有元器件。这是我的采购清单:
| 元器件 | 规格 | 数量 | 参考价格 |
|---|---|---|---|
| Pro Micro开发板 | ATmega32U4芯片 | 1 | 20元 |
| OLED屏幕 | 1.3寸128x64 | 1 | 15元 |
| 轻触按键 | 6x6mm | 5 | 2元 |
| 锂电池 | 3.7V 500mAh | 1 | 8元 |
| Type-C接口 | 16P | 1 | 3元 |
| PCB板 | 嘉立创免费打样 | 1 | 0元 |
这里有几个选购建议:Pro Micro一定要买带ATmega32U4芯片的版本;OLED建议选1.3寸的,0.96寸实在太小;按键最好买带帽的,手感更好。所有元器件在淘宝都能买到,总成本可以控制在70元以内。
除了元器件,还需要准备一些基本工具:
如果你是第一次接触硬件DIY,建议先练习下焊接技术。可以在废板上多练几次,熟悉焊锡的流动和温度控制。我刚开始焊接时,经常出现虚焊或者短路,后来发现关键是烙铁温度要控制在300℃左右,焊接时间不要超过3秒。
Bootloader相当于掌机的"操作系统",必须最先烧录。这里我推荐使用Arduino IDE+Arduino UNO的方案,稳定性最好。
具体步骤:
code复制https://raw.githubusercontent.com/MrBlinky/Arduboy-homemade-package/master/package_arduboy_homemade_index.json
code复制Arduino UNO Pro Micro
VIN 3V3
P11(MOSI) MOSI
P12(MISO) MISO
P13(SCK) SCK
P10(SS) RST
GND GND
烧录成功后,Pro Micro就变成了真正的Arduboy主板。我第一次烧录时遇到OLED不显示的问题,后来发现是CS引脚需要接地,这个小坑大家要注意。
有了可用的主板,接下来就是设计外壳电路。我是在立创EDA上完成的,过程比想象中简单:
参考开源项目绘制原理图,重点注意:
PCB布局时要注意:
提交嘉立创免费打样(记得领券)
焊接是最考验耐心的环节。我的经验是:
Type-C接口是最难焊的,我失败了好几次。后来发现可以先在焊盘上涂助焊剂,然后用热风枪辅助焊接,成功率大大提高。
Arduboy支持两种游戏上传方式:单个游戏和游戏合集。我推荐使用游戏合集,一次可以装上百个游戏。
制作步骤:
bash复制pip install pillow pyserial
bash复制python flashcart-builder.py games.csv
我在Windows 10上遇到过库安装失败的问题,后来发现需要用管理员权限运行CMD。如果你也遇到问题,可以试试用Windows 11系统,兼容性更好。
打包好的游戏合集可以通过Type-C接口上传:
bash复制python flashcart-writer.py game-image.bin
第一次使用时,我傻傻地等了半天发现没反应,后来才明白要按住开机键才能识别设备。上传过程大概需要2-3分钟,期间不要断开连接。
制作过程中难免会遇到各种问题,这里分享几个我踩过的坑:
问题1:电脑无法识别设备
问题2:游戏运行卡顿
问题3:按键无反应
遇到问题时,建议先到Arduboy官方论坛搜索,90%的问题都能找到解决方案。如果实在解决不了,可以在立创开源平台的项目页面向我提问。
完成基础版后,你可以尝试更多有趣的改造:
我最满意的一个改造是增加了锂电池电量显示,在待机界面可以看到剩余电量。这需要修改固件代码,虽然有点难度,但成就感十足。
制作Arduboy最大的乐趣就在于不断改进。每次看到自己添加的新功能正常运行,那种喜悦是买成品机永远无法体会的。现在我的这台掌机已经陪伴我一年多了,每次拿出来玩都有不一样的感动。