文章目录
在接触沁恒家的 CH32V003 芯片一段时间后,发现了国外有个爱好者用它做了个小型游戏机,还配了不少游戏,例如小蜜蜂、呼吃豆人什么的,这不得自己复刻一个。
不过原作者的项目 PCB 设计体积比较大,不太符合我心中微型游戏机的形象,就自己重新搞了一下,顺便把原项目中的方向键从独立按键换成了摇杆,玩起来更舒适一点。
成品照片
老样子,自己做东西还是得搞个正经点的外壳。
经过极限压缩后的 PCB 大小为 24x40mm,加上电池后,整体外壳不包含钥匙扣环的尺寸为宽 27mm,高 42mm,厚 12mm,正面大小不到 2 个硬币大小 😃。
硬件选型
为了和原作者的 ROM 兼容,大部分 BOM 都跟原版 PCB 一样,这里只是将原版的方向按键换成了五向摇杆,其他的都还是保持一致。为了保障 PCB 体积,整体电阻、电容都采用了 0603 封装。
主要的几个元件都可以在某宝上购买,特别是其中的电磁式蜂鸣器,某宝上购买要便宜很多。
另外需要注意,12864 OLED 需要购买窄边框的版本。
位号 | 元件 | 备注 |
---|---|---|
BUZZER1 | 4kHz | 电磁式蜂鸣器 |
H3 | PZ254V-11-05P | 烧录排针,不焊接 |
SW1 | MSK12C02-HB | 电源开关 |
SW2 | TM-4175-B-A | 五向摇杆 |
SW3 | TS-1002S-06026C | 右侧按钮 |
U1 | CH32V003F4P6 | 主芯片 |
U2 | BS-0601-SK-4W | CR2032 电池仓 |
U4 | HS96L03W2C03 | 屏幕排针座,不焊接 |
原理图设计
相比原版,原理图没有特别多的变更,主要有以下变更:
- 方向按键换成五向摇杆,并且摇杆按压也连接到动作按钮,在某些游戏中,可以单摇杆游玩了
- 蜂鸣器添加了一个限流电阻,要不然有音乐时用 CR2032 供电很容易电流不够
PCB 设计
整个 PCB 电路比较简单,主要元件都在背面,正面只有摇杆、动作按钮和屏幕。
立创 EDA 中 12864 OLED 的封装尺寸和某宝上购买的窄边模块尺寸不太一致,这里用了实际的尺寸来画 PCB 板框,需要注意一下。
PCB 3D 渲染图
整个背面,占体积最大的就是 CR2032 电池盒了,为了方便电池的安装和拆卸,用了这种类型的电池连接器,如果为了放更大零件,其实也可以直接用电池弹片,整体游戏厚度还能再减少一点。
焊接与调试
这个游戏机的元件实在太少了,随便搞搞就可以了,当然背面还是可以使用铁板烧的,
刷锡膏用了之前介绍过的牛皮纸钢网,有兴趣的朋友可以顺便了解一下 😃
正面的摇杆和按钮可以直接用电铬铁点一下,也比较简单。
注意:铁板烧时,建议电池连接器的两端触点多加点锡膏增加强度,防止拆装电池时连接器脱落。
另外 12864 OLED 屏幕的底部不平,焊接的时候不太方便,我搞了个焊接辅助工具,可以辅助将屏幕放水平,焊接的时候按住顶部排针区域,再焊接针脚就可以。
屏幕焊接完就可以把摇杆和按钮焊接上,这两个元件的引脚都比较大,焊接还是比较简单的。
固件烧录
原作者已经提供了好几个小游戏编译好的固件,可以在 https://github.com/wagiminator/CH32V003-GameConsole/tree/main/software
下载到,例如要烧录一个吃豆人游戏,可以先进到 tiny_pacman
目录中,下载游戏固件 tiny_pacman.bin
,在 macOS 上,我使用 wlink
来烧录固件。
注意:CH32V003 烧录需要使用 WCH Link-E 烧录器,与 WCH 其他一些芯片是不通用的,需要单独购买。
使用以下命令即可完成烧录:
wlink flash --address 0x8000000 ./tiny_pacman.bin
在终端中显示以下内容就表示固件烧录成功啦~
烧录完游戏固件后,就可以先试玩一下,看看摇杆和按钮是否工作正常。
外壳设计
外面还是用了三明治结构,不过这次因为 PCB 布局太紧凑,没有了足够的空间来放自攻螺丝孔,后盖就没有螺丝固定,直接弄了个卡槽 + 卡扣的模式。
把外壳和按钮都打印出来就可以组装啦~
建议将 PCB 电源开关一侧先放入外壳,再整体按压下去,外壳底部设计了斜坡用于卡紧 PCB。
按钮键帽建议最后安装,如果打印精度不够可能会有松动的问题,可以使用胶水固定一下。
组装完成就可以随时游玩了~
项目开源地址
硬件开源地址
立创开源平台: https://oshwhub.com/wandaeda/ji-yu-ch32v003-de-yue-chi-kou-you-xi-ji
原理图、PCB、外壳模型 STL 文件等都在立创开源平台发布了,如果碰到项目打不开的情况,可能在在审核中,可以稍后再试。
固件开源地址
固件可以直接使用原作者的固件。
GitHub 仓库: https://github.com/wagiminator/CH32V003-GameConsole
0 条评论。