在开源硬件圈里,“PSP Pi” 一直是很有吸引力的改造方向。很多视频里,一台被拆掉主板的 PSP 外壳里,装着一块树莓派主板,开机后屏幕亮起复古游戏界面,按键、摇杆、扬声器都正常工作,观感非常惊艳。
不过很多人看完视频后并不知道这类项目从哪下手:需要买哪些硬件、软件怎么刷、按键如何映射、屏幕怎么点亮、电池怎么处理。本文就把 PSP Pi 这类改装项目的整体技术路线拆开来讲,覆盖硬件方案、核心拆装思路、系统安装、显示配置、按键映射、常见故障排查与工程建议。如果你想动手做一台“PSP 外壳复古掌机”,这篇文章可以作为你的入门参考。
1. PSP Pi 是什么:为什么要用树莓派改造 PSP
1.1 项目本质
PSP Pi 并不是“用树莓派去模拟 PSP 原版游戏”,而是把 PSP 视为一个手感优秀的外壳和屏幕方案,内部替换成树莓派主板运行复古模拟器,例如 NES、SNES、Game Boy、Game Boy Advance、世嘉 MD 等 8/16 位平台游戏。
PSP 本身的优势很明显:
- 机身设计成熟,按键布局合理,适合横版、动作、RPG 等大量复古游戏。
- 3.5 英寸左右的屏幕尺寸在掌机中非常合适。
- 二手配件和拆机壳货源多,改造失败后替换成本相对可控。
- 相比从零设计 3D 打印外壳,PSP 外壳的内部空间和按键结构已经过大量验证。
树莓派这边的优势则是:
- 体积小,Zero 系列可以塞进掌机内部空间。
- 可运行 RetroPie、Lakka 等完整模拟器系统。
- GPIO 引脚充足,可以读取按键、控制屏幕背光、接收关机信号。
- 社区资料完整,遇到问题容易找到同类项目。
所以所谓“PSP Pi mod just keeps getting better”,本质是指这类改造项目正在变得更成熟:显示方案更稳、外壳破坏更少、软件配置更好、玩家的整体体验更接近原生掌机。
1.2 一个容易理解错的点
在 B 站或 YouTube 的评论区经常看到一种提问:改完后能玩 PS1 游戏吗?能玩战神吗?
这里需要先明确界限。树莓派 Zero 系列的处理器性能,适合运行 8/16 位模拟器,运行 PS1 游戏会很吃力,运行 PSP 游戏则基本没有实用体验。即便使用性能更强的树莓派 Compute Module 4,PSP 游戏模拟也会因为驱动、限速、兼容性等原因达不到理想的流畅程度。
因此这个项目更准确的定位是:
把 PSP 改造成一台运行老平台游戏的 Linux 掌机,而不是给 PSP 加一颗更强处理器去玩 PSP 游戏库。
如果你想继续玩 PSP 官方游戏,保留原版 PSP 主板更合理。PSP Pi 的意义在于“换一个完全开放的计算平台”,让 PSP 的外壳获得全新的生命周期。
2. 核心方案评估:选哪款树莓派
在做硬件改造之前,先确定使用哪款树莓派。因为掌机内部空间有限,选型会直接影响外壳破坏程度、散热设计和续航表现。
2.1 常见树莓派型号对比
| 项目 | Raspberry Pi Zero | Raspberry Pi Zero W | Raspberry Pi Zero 2 W | Raspberry Pi CM4 |
|---|---|---|---|---|
| 处理器 | 单核 1GHz | 单核 1GHz | 四核 1GHz | 四核可扩展 |
| 内存 | 512MB | 512MB | 512MB | 1GB 起 |
| 无线 | 无 | 有 WiFi/蓝牙 | 有 WiFi/蓝牙 | 取决于模块 |
| 发热 | 较低 | 较低 | 中等 | 较高 |
| 改造难度 | 低 | 低 | 低 | 高 |
| 模拟器体验 | 8/16 位 | 8/16 位 | 8/16 位,部分平台更稳 | 上探 PS1 等更高平台 |
以上参数请以官方最新资料为准。对 PSP Pi 一类项目来说,Raspberry Pi Zero W 和 Zero 2 W 是比较常见的选择。
2.2 为什么 Zero 系列是首选
PSP 内部留给主板的区域非常小。原 PSP 主板尺寸并不大,但包含了屏幕驱动、按键矩阵、音频功放、电池管理等模块。树莓派 Zero 的尺寸大约 65mm × 30mm,比 PSP 原装主板小很多,方便通过转接板或排线连接到 PSP 屏幕和按键。
Zero W 的优势在于自带 WiFi,可以在不破坏外壳的情况下通过 WiFi 完成 ROM 拷贝、SSH 登录和系统配置。如果你完全不打算联网安装,也可以选择没有 WiFi 的 Zero,但后续系统更新、传输游戏文件会麻烦一些。
Zero 2 W 性能更强,但发热也比初代 Zero 高。放进 PSP 封闭机身时,需要留意散热开孔或加装小型散热片,否则长时间运行 16 位模拟器时可能出现降频。
2.3 CM4 方案适合什么人群
Compute Module 4 需要搭配底板的 IO 引出,开发成本和外壳结构复杂度都明显提升。它的价值在于可以承载更大的屏幕、更高性能模拟器和更多 USB 外设。如果你只是想做一台 PSP 外壳复古掌机,CM4 并不是必要选择。
因此,这台项目的推荐优先级是:
- 新手入门:Raspberry Pi Zero W。
- 追求更流畅的 16 位模拟体验:Raspberry Pi Zero 2 W。
- 想做全功能掌机、不在乎体积:CM4 + 定制载板。
3. 改装前的硬件准备
3.1 必要设备清单
PSP Pi 并不是“买齐零件就能焊好”的标准套件项目,因为不同 PSP 型号的内部构造、屏幕接口、按键矩阵都不同。下面按 PSP-1000 型为基础列一份通用清单。
| 分类 | 项目 | 说明 |
|---|---|---|
| 主体 | PSP-1000/2000/3000 一台 | 优先选择屏幕完好、按键好的机器,主板是否完好不好可以不管 |
| 主控 | 树莓派 Zero W 或 Zero 2 W | 根据你需要的性能选,建议 2W |
| MicroSD 卡 | 16GB 以上 Class 10 卡 | 系统镜像和游戏 ROM 都很占空间 |
| 屏幕 | PSP 原装屏幕 + 对应转接板 | 有些商家会提供 PSP 屏幕转 RGB/DPI 的转接板 |
| 按键 | PSP 原装按键与排线 | 通过飞线接到树莓派 GPIO |
| 电池 | 锂电池 + 充放电保护板 | 锂电池电压不能直接给树莓派 5V 供电 |
| 音频 | I2S 解码模块或功放小板 | 例如 MAX98357A 等 |
| 工具 | 电烙铁、万用表、飞线、热缩管、螺丝刀 | 按实际接线需要准备 |
这里要特别提醒:改装前先确认你的 PSP 屏幕和按键是完好的。如果屏幕是坏的,那么整个改装成本会明显上升。
3.2 电池和供电问题
树莓派需要稳定的 5V 供电,而 PSP 原装电池输出通常是 3.6V 至 4.2V 的锂电电压。因此 PSP Pi 项目中不能直接把 PSP 电池接到树莓派的 5V 引脚,否则无法开机或供电不稳。
常见的解决方式有两种:
- 选用带 5V 升压输出的锂电池充电模块,既能给电池充电,又能把锂电池电压升压到 5V。
- 使用 18650 电池盒配合大电流升压模块,并把 USB 充电口改装成 USB-C。
在焊接电源线路时,要注意:
- 不要接反正负极。
- 优先选择输出电流在 2A 以上的升压模块。
- 所有电源线建议用不同颜色区分。
- 第一次上电前使用万用表确认输出只有 5V。
涉及锂电池相关的改造时,一定不要边充电边测试裸露电路板。如果缺少硬件经验,可以先从 USB 供电跑通整个系统,再考虑电池供电。这样能减少短板风险,也更容易排查问题。
3.3 屏幕转接板是否为必需品
PSP 屏幕是一块 LCD 液晶屏,通常采用并行 RGB 接口。树莓派虽然支持 DPI 并行 RGB 输出,但 PSP 屏幕的针脚定义、初始化时序和背光控制都和树莓派默认输出不匹配。
因此绝大多数改装案例中,都会使用一块 PSP 屏幕转接板,或者定制 FPC 排线。这类转接板由个人开发者或小批量商家制作,没有统一的行业标准。所以购买时一定要问清楚:
- 支持哪一款 PSP 型号。
- 是否支持树莓派 Zero 的 40Pin GPIO 直接插入。
- 是否需要额外供电。
- 对应的
/boot/config.txt配置是什么。
如果没有找到适配 PSP 原装屏的转接板,另一种思路是直接换一块支持 SPI 或 HDMI 的小尺寸屏幕,但这样会失去“保留 PSP 原屏”的意义,也不算严格意义上的 PSP Pi 了。
4. 硬件改装核心步骤
硬件改造是整个项目中最不可控的部分。下面将改装流程拆成几个关键模块,方便理解各自的作用。
4.1 第 1 步:拆机并确认内部空间
在拆 PSP 时,不要把外壳卡扣硬撬裂。有条件的可以先用热风枪或吹风机对着塑料卡扣位置加热 20 到 30 秒,降低塑料脆性。
拆开后需要做以下几件工作:
- 确认主板和屏幕之间通过哪组排线连接。
- 确认按键膜下的导电触点结构。
- 大致测量可用的内部空间高度。
- 找出原扬声器接线位置。
拆机过程建议拍下照片或录一段视频。在后续重新接线时,这些照片会是非常有效的参考。不要单凭记忆装回外壳。
4.2 第 2 步:屏幕接线与显示点亮
屏幕点亮是 PSP Pi 项目中最容易卡住的一步。PSP 原装屏幕并不遵守标准 HDMI 或普通 SPI 屏协议。它需要满足:
- 正确的电压域。
- 正确的像素时钟。
- 正确的行场同步信号。
- 屏幕初始化序列。
如果使用标准 RGB 屏进行原理验证,树莓派/boot/config.txt中通常会有一组类似这样的配置:
# 仅供标准 RGB 并行屏原理参考,PSP 原装屏要按转接板厂商参数调整 dtoverlay=dpi24 overscan_left=0 overscan_right=0 overscan_top=0 overscan_bottom=0 framebuffer_width=480 framebuffer_height=272这段配置不是 PSP 屏幕的标准答案,但可以让你理解 DPI 屏幕的三大要素:分辨率、扫描边距、显示覆盖层。对于 PSP 原装屏,你需要向转接板厂商要一份适用于你树莓派型号的完整config.txt。
如果上电后屏幕只有背光亮、没有画面,通常不是接错一根线的问题,而是:
- 转接板初始化时序不对;
- 树莓派没有正确加载 DPI overlay;
- 屏幕排线没有完全插紧;
- 供电不足导致屏幕无法正常启动。
4.3 第 3 步:按键矩阵接线
PSP 按键并不是一组独立的开关,而是采用矩阵扫描方式。简单理解:PSP 主板通过多根行线和列线循环检测按键组合,树莓派要读取这些按键,就需要把行线或列线接到 GPIO,并通过软件模拟扫描。
这项工作的第一步,是用万用表测量按键矩阵的具体通断关系。方法如下:
- 在 PSP 按键膜和主板分离的情况下,找到按键排线的各个引脚。
- 用万用表二极管档或通断档,测量按下某个按键时哪两个引脚之间导通。
- 把测量结果记录成表,例如 “UP = GPIO17 ↔ GND”。实际矩阵中可能是某一行和某一列。
由于 PSP 1000、2000、3000 的主板结构不同,甚至同一型号不同批次也可能有差异,所以网上不存在一份通用的“PSP 按键 GPIO 接线表”。只能靠自己实测。
如果觉得矩阵扫描太复杂,也可以直接飞线到按键膜的导电触点位置。每一个按键做成独立开关,一端接树莓派 GPIO,另一端接 GND。这样每个按键占用一个 GPIO,软件处理会更简单,但飞线数量会增多。
4.4 第 4 步:摇杆与模拟量处理
PSP 的摇杆是二维模拟量,并不是简单的开关。树莓派没有内置模数转换器(ADC),因此需要一个外接 ADC 芯片读取摇杆电压,再通过 I2C 或 SPI 协议把数据传给树莓派。
常见 ADC 型号包括 ADS1115、ADS7830 等。使用时只需要把摇杆的 X 轴和 Y 轴电压分别接到 ADC 的两个通道。
在软件层面,模拟摇杆数据需要被转换成游戏手柄的摇杆事件,才能在 RetroArch 里使用。如果你不想引入 ADC,也可以放弃摇杆功能,或者把摇杆方向映射成按键,但这样会损失操作手感。
4.5 第 5 步:音频输出
树莓派 Zero 系列本身没有 3.5mm 音频接口。如果直接把 PWM 音频接到 PSP 喇叭上,音质通常很差,而且需要使用额外的滤波电路。
更稳妥的方式是外接 I2S 音频解码芯片,例如 MAX98357A 数字功放。这类模块有明确引脚:
- LRC(左右时钟)
- BCLK(位时钟)
- DIN(音频数据)
- VIN(供电)
把它们分别接到树莓派对应引脚,并启用树莓派 I2S 驱动。这类模块功率有限,但驱动 PSP 小喇叭问题不大。
接线之前,需要确认 PSP 喇叭的阻抗。如果喇叭阻抗较低、模块输出功率不够,会导致声音小或失真。最稳妥的办法是先用普通耳机或小音箱验证音频模块本身工作正常,再接 PSP 喇叭。
5. 软件系统安装与基础设置
硬件连线完成后,接下来要做的是软件系统安装。这篇文章以 RetroPie 为例,因为它在复古模拟器平台中资料最多、插件最丰富。
5.1 刷写系统镜像
无论使用哪种树莓派,都建议先下载 Raspberry Pi OS Lite 镜像,再在系统内安装 RetroPie。原因是 RetroPie 的安装脚本对树莓派系统兼容性较好,而且这种方式比直接烧录预编译镜像更容易定制。
刷写工具可以使用 Raspberry Pi Imager。在 Imager 中选择系统时,注意选择与你硬件匹配的镜像;如果你的树莓派是 32 位系统可以刷 32 位版本,逻辑上 RetroPie 对 32 位系统的兼容性维护更成熟,但具体要看官方最新建议。
5.2 开启 SSH 并初次启动
将 MicroSD 卡插入电脑,刷写完成后,如果希望系统启动后能远程操作,可以在 SD 卡的启动分区中新建一个空文件<bootfs>/ssh。树莓派系统在首次启动时会检测到这个文件并自动开启 SSH 服务。
默认用户名是pi,不同镜像版本默认密码可能不同,建议以镜像发布页为准。登录方式通常是:
ssh pi@树莓派IP地址如果不知道树莓派 IP 地址,可以从路由器后台查看设备列表,也可以把读卡器插入电脑后在系统盘里编辑cmdline.txt或使用官方扫描工具。
5.3 安装 RetroPie
SSH 登录后执行系统更新:
sudo apt update sudo apt upgrade -y然后克隆 RetroPie 安装脚本:
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git cd RetroPie-Setup sudo ./retropie_setup.sh脚本运行后会进入图形菜单。常见选择是 Basic Install。安装时间较长,取决于网络速度和树莓派型号,SSH 会话断开可能导致安装中断,因此建议使用screen或tmux运行安装命令,例如:
sudo tmux new -s retropie sudo ./retropie_setup.sh这样即使断网,也能通过重新连接会话继续安装。
5.4 系统基础优化
安装完成后,建议关闭不必要的桌面服务。因为 PSP Pi 通常不需要完整桌面环境,Raspberry Pi OS Lite 本身就没有装桌面,RetroPie 启动后会进入 EmulationStation 图形界面。
如果希望开机直接进入 RetroPie,可以执行:
sudo systemctl enable retroarch不同镜像和 RetroPie 版本对服务的名称定义可能不同,这里的作用只是说明“需要把 RetroPie 设置为开机启动”。实际项目里请根据官方菜单说明完成。
6. GPIO 按键扫描与模拟手柄映射
当树莓派读到了按键电平,RetroPie 并不会自动把它们识别成游戏手柄。这一步需要一个“把 GPIO 按键转为系统手柄事件”的软件层。
6.1 思路说明
整个按键链路是这样的:
- 用户按下 PSP 按键。
- GPIO 引脚电平变化。
- 用户态程序扫描 GPIO。
- 程序通过 Linux input 子系统模拟一个手柄设备。
- RetroArch/EmulationStation 读取这个手柄设备。
因此,核心工作是两块:GPIO 扫描代码,以及虚拟手柄事件发送。
6.2 GPIO 扫描示例
下面是一段用于读取按键状态的 Python 示例。这里以 GPIO 低电平有效为例,也就是按键按下时引脚被拉低。
# 文件路径:key_scan.py import RPi.GPIO as GPIO import time # 使用 BCM 引脚编号,具体引脚号根据实际接线调整 KEY_PINS = [17, 27, 22, 23, 24, 25, 5, 6] KEY_NAMES = ["UP", "DOWN", "LEFT", "RIGHT", "A", "B", "START", "SELECT"] GPIO.setmode(GPIO.BCM) GPIO.setup(KEY_PINS, GPIO.IN, pull_up_down=GPIO.PUD_UP) print("开始扫描按键,按 Ctrl+C 退出") try: while True: pressed = [] for pin, name in zip(KEY_PINS, KEY_NAMES): if GPIO.input(pin) == GPIO.LOW: pressed.append(name) if pressed: print("按下: {}".format(", ".join(pressed))) time.sleep(0.02) except KeyboardInterrupt: print("退出") finally: GPIO.cleanup()这段代码说明了核心机制:每个按键接一个 GPIO,按键按下时引脚为低电平,松开时恢复为高电平。代码中的消抖处理比较粗略,实际项目中建议增加消抖逻辑,例如同一状态持续多轮才确认有效。
6.3 模拟手柄事件
有了按键状态之后,下一步是把按键映射成手柄事件。Linux 内核提供了uinput驱动,用户态程序可以通过它创建一个虚拟游戏手柄。
# 文件路径:gamepad_bridge.py,核心思路示例 import uinput import RPi.GPIO as GPIO import time # 定义虚拟手柄事件集合 events = ( uinput.BTN_A, uinput.BTN_B, uinput.BTN_X, uinput.BTN_Y, uinput.BTN_START, uinput.BTN_SELECT, ) with uinput.Device(events, name="PSP Pi Gamepad") as device: # 伪代码:读取 GPIO,如果按键 A 按下 device.emit(uinput.BTN_A, 1) # 按下 time.sleep(0.05) device.emit(uinput.BTN_A, 0) # 松开这里需要注意,uinput.BTN_A等常量在不同内核版本、不同用户态库下表现不一定完全一致。真实项目中需要把你自己的按键状态和手柄事件对应起来,并且确认 RetroArch 能发现有新设备接入。安装 uinput 库的常见方式是:
pip3 install python-uinput同时还需要确保当前用户有写入/dev/uinput的权限,否则程序会报权限错误。
如果你希望更稳定,RetroPie 官方社区也有现成的工具,例如基于 C 语言的按键映射工具。对于新手来说,先用 Python 把流程跑通、理解了事件链路,再切换到更高效的 C 工具,更容易定位问题。
7. RetroPie 显示与音频设置
7.1 启动画面和分辨率
进入 RetroPie 后,如果屏幕比例不对或者分辨率不合适,可以编辑 RetroArch 的配置文件。常见路径在/opt/retropie/configs/all/retroarch.cfg。
屏幕分辨率相关配置可以像下面这样调整:
# 文件路径:/opt/retropie/configs/all/retroarch.cfg video_fullscreen = "true" video_smooth = "false" aspect_ratio_index = "16:9"由于 PSP 屏幕接近 16:9 比例,使用video_fullscreen = "true"能让界面全屏输出。如果画面边缘有黑边,可以结合系统层的framebuffer_width和framebuffer_height调整。
如果画面撕裂,可以检查是否开启垂直同步。具体选项名称会随 RetroArch 版本变化,变更前先备份原配置:
cp /opt/retropie/configs/all/retroarch.cfg /opt/retropie/configs/all/retroarch.cfg.bak7.2 I2S 音频配置
启用了 I2S 音频模块后,可以在树莓派 config 中设置默认声卡。这一步需要根据具体模块来确定,但整体思路是让 ALSA 默认使用 I2S 声卡,而不是空白的 HDMI 或 PWM 声卡。
可以使用aplay -l查看当前声卡编号。然后通过修改 ALSA 配置,将默认声卡设置为 I2S 设备。不同版本的 ALSA 配置路径可能不同,常见路径是/etc/asound.conf。
# /etc/asound.conf 示例,card 编号需按 aplay -l 的实际结果修改 pcm.!default { type hw card 1 } ctl.!default { type hw card 1 }7.3 游戏 ROM 与 BIOS 的合法放置
RetroPie 会按平台在/home/pi/RetroPie/roms下创建目录。PSP Pi 项目常见的目录有:
~/RetroPie/roms/ ├── nes ├── snes ├── gb ├── gba ├── genesis └── ...使用第三方模拟器时,只需要把游戏 ROM 放入对应平台目录,并在 EmulationStation 中刷新游戏列表即可。
需要再次强调:请只使用自己拥有版权或已获授权的游戏 ROM。很多独立游戏官网免费提供试玩或开源游戏,可以先用这些合法内容完成测试。不要为了测试去下载商用游戏,这既涉及版权风险,也会让技术分享失去正当性。
8. 常见问题与排查思路
PSP Pi 项目涉及软硬件两层,排错时建议遵循“先电源、后系统、再外设”的顺序。下面汇总常见问题:
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 树莓派指示灯不亮 | 供电线路接错或电压太低 | 先断开所有外设,只用 USB 供电测试能否启动 |
| 屏幕只有背光无画面 | DPI overlay 配置缺失或转接板初始化失败 | 确认厂商提供的 config.txt 完整,检查排线接触 |
| 屏幕花屏或画面偏移 | 像素时钟或行列同步参数不对 | 按屏幕规格调整 DPI timings,不要随意改参数 |
| 按键无反应 | GPIO 编号和实际接线不一致 | 先运行按键扫描脚本,再检查接线和上拉状态 |
| 按键偶尔触发多次 | 缺少消抖或按键矩阵扫描方式不对 | 增加消抖延时,或检查矩阵引脚定义 |
| 摇杆方向乱跳 | ADC 量程或参考电压不对 | 用万用表确认摇杆各引脚电压范围 |
| 运行时自动重启 | 供电不足 | 更换大电流电源或升压模块,测压降 |
| 系统启动到桌面但进不了 RetroPie | 服务未启用或配置错误 | 查看日志journalctl -u retroarch |
| 声音明显失真或有底噪 | 电源干扰或 I2S 信号线过长 | 缩短飞线、避免与电源线并行,增加滤波电容 |
| WiFi 经常掉线 | 天线位置被金属屏蔽 | 调整树莓派天线位置或用外置天线 |
如果遇到问题,优先查看日志。树莓派系统的日志通常包含大量有效信息:
journalctl -b对硬件来说,最直接的排查工具是万用表。比如按键无反应时,先测量 GPIO 引脚按下前后是否真的发生了电平跳变。如果没有变化,说明问题在物理接线;如果有变化但游戏没有响应,说明问题在软件映射层。
9. 最佳实践与工程建议
9.1 不要一上来就在原机上动手
第一次做 PSP Pi,建议先用一块普通面包板完成全部功能验证。把树莓派、转接板、按键、小喇叭都放在桌面上,跑通系统后再转移到 PSP 外壳中。原因是外壳内部空间狭小,一旦接线出错,很难用万用表轻松测量。
桌面验证阶段至少确认:
- 树莓派可以启动进入 RetroPie。
- 屏幕可以正常显示界面。
- 按键和摇杆可以被 RetroArch 识别。
- 声音可以正常输出。
- 电池供电方案不会导致系统重启。
只有这几项全部通过,才建议开始切割外壳或破坏性固定线材。
9.2 线材和固定方式
掌机是移动设备,如果线材只用热熔胶简单固定,游戏过程中很容易松脱。更可靠的做法是:
- 使用软硅胶线或柔性排线。
- 在硬质 PCB 上焊接时留出应力释放环。
- 用 Kapton 胶带将飞线压在塑料壳内侧。
- 所有接插件用热缩管或绝缘胶带固定。
同时要保证树莓派主板不要与 PSP 外壳内部金属部件直接接触。可以使用尼龙柱、绝缘垫片或 3D 打印支架固定主板。
9.3 散热与功耗
树莓派 Zero 2 W 放在封闭空间中的散热问题是真实的。 RetroPie 运行时 CPU 负载较高,如果机身过热,树莓派会主动降频,导致游戏卡顿。
建议在以下三方面做处理:
- 外壳对应 CPU 位置开散热孔。
- CPU 上贴小尺寸散热片。
- 在系统层限制 CPU 频率,减少发热。
限制频率不是必要操作,但可以为低配置掌机换取更长的续航和更低温度。相关命令的路径和方法在不同系统版本下有差异,因此建议以官方文档为准。
9.4 电池与充电安全
锂电池改造是最容易出现安全隐患的环节。下面几条是硬性建议:
- 禁止在没有保护板的情况下直接给锂电充电。
- 禁止把锂电输出电压反向接错。
- 禁止在通电状态下用电烙铁焊接。
- 电池鼓包后立即断电并停止使用。
- 优先选择带充放电管理的集成模块,不要自己拼充电 IC。
需要特别提醒的是,废旧锂电池要按当地规范回收,不要随意丢进垃圾桶。
10. 下一步:从跑通到“更好”
如果你已经成功跑通了一台 PSP Pi,下一步有下面几个值得尝试的方向:
- 定制一个能固定树莓派、电池、转接板的 3D 打印支架,减少内部飞线。
- 增加 USB-C 充电口,替换原来的 PSP 充电口。
- 为机身增加 L2 / R2 实体按键,扩大可玩平台范围。
- 在外壳侧面增加耳机接口,避免占用 PSP 原耳机孔。
- 增加一节“安全关机”硬件按键,让系统通过 GPIO 触发关机脚本,而不是直接断电。
在这些方向中,“安全关机”尤其值得优先考虑。掌机玩到一半直接断电,可能损坏文件系统。常见做法是使用 GPIO 关机脚本,检测到按键按下后,先执行shutdown -h now,再断开电源,能有效降低 MicroSD 卡损坏概率。
例如建立一个 systemd 服务监视关机引脚,当 GPIO 被拉低时执行关机命令。这类实现网上资料比较多,但请一定在不同系统版本上先小规模测试,确保关机逻辑不会误触发。
说到底,PSP Pi 的乐趣并不只在“把机器点亮”那一天。当你真正理解了树莓派的 GPIO、并行屏显示、模拟器架构和 Linux 输入子系统之间的协作关系后,你会发现它更像一个可以反复迭代的开放掌机平台。下一次再看到“PSP Pi mod just keeps getting better”的视频,你大概已经知道那些“更好”的背后,到底多了哪些设计改进。动手做一台,才是最好的学习方式。