
GP2040CE-FC/NES手柄转USB(1000HZ采样)DIY指南
by motozilog


本人比较喜欢用FC的手柄,毕竟习惯了,很难改。XBOX之类的手柄一直用不习惯。但是FC手机之前只能通过打印口用DirectPad进行使用。而DirectPad只支持到Win98,后面的ppjoy也是只支持到WinXP(尽管有Win7版本但Win7版本的延迟有点大)。
之前曾经在@4869的帮助下,将GP2040画进去FC手柄内。但是这种方式只能适配一种手柄,而国内的红白机手柄厂家多,尽管外型看起来一样,但模具存在1mm之类的误差,使得手感不能适配得好。
去年发现新版GP2040-CE支持了FC/NES/SFC手柄,但是实测发现只能使用原装FC手柄,对于国内的“豆柄”并不支持。而且直接飞线的方式并不美观也容易断。因此采用将GP2040-CE放到DB9接口内,从而兼容国内最常见的DB9接口的红白机手柄,这样既美观,又方便适配。
硬件开源地址(注意:打板时要选1.6mm厚度):https://oshwhub.com/motozilog/rp2040-sinzo
软件开源地址(基于GP2040-CE 0.7.10进行改造):https://gitee.com/motozilog/gp2040-ce-fc
去除了SNES的鼠标支持,避免将国产“豆柄”不规范的上拉,造成误判手柄为SNES鼠标,从而实现对国产“豆柄”的支持。
主要借鉴了sinzo的《超小树莓派Pico-RP2040》线路(https://oshwhub.com/sinzo/rp2040-di-switch-zhe-teng-mu-kuai )设计取消了大量不必要的丝印层,避免丝印上盘的问题(但焊接时,只能看着EDA来焊)。缩减尺寸,使GP2040-CE能塞到DB9接口里面。除了主电容是用0603外,其它阻容为0402,对手焊能力有要求。并且取消了按键开关,改为焊线,毕竟只使用1、2次就没有必要占用这么宝贵的空间。
由于这次的线路比较密,收到板后,至少要对供电、DB9接口进行测量,避免PCB切板时带来的短路

将PCB固定在夹具上

涂上锡膏

用烙铁将锡膏熔化并对RP2040、SPI Flash的每个焊盘都上锡

对RP2040涂上助焊膏

用热风枪,对PCB进行预热(按190度30秒→240度30秒→290度30秒→330度30秒)。然后再用330度,重点对RP2040的部分进行加热直到锡熔化时,再将RP2040用镊子放上去。再吹几秒,用镊子撮一下,见到有归位动作就可以(这里很难拍照)


用烙铁将RP2040的四边脚进行拖焊,确保每只脚都上到锡,并且不连锡(QFN比较少连锡,但不上锡就比较常见,要加助焊膏去焊)

焊接后,仔细检查

由于位置不够,只能用USON8封装的SPI Flash,焊接的方法和RP2040类似,但不要撮一下。(我只能凭感觉它都熔了,放上去再吹10~20秒,然后就关。因为我一撮就会撮飞。)

有之前2个芯片的经验,3225的无源晶振就不算难焊了

焊完后用洗板水洗干净

再仔细检查芯片的焊接情况



焊完后仔细检查

先找一个USB口接上USB的4条线

由于SPI Flash出厂是空值,所以直接接到USB上是会直接识别成烧录模式(如果SPI Flash不为空就焊一条线到“B”的焊盘上,然后接地进行触发)

像RP2040一样,将固件拖进去进行烧录

烧录完成后,会识别到USB手柄

焊一根线到“W”焊盘,然后接地后,上电。

打开浏览器,进入 http://192.168.7.1
将SNES支持打开(Enabled),将Clock设成10、Latch设成11、Data设成12。然后保存。

要注意2T45的封装是VSSOP-8,比较难焊。尽量用烙铁去拖,不要用风枪(防止吹到RP2040)。焊完后用洗板水确认不会连锡





将“W”焊盘的线拆掉,然后装壳,搞定

这个项目,实际上是去年(2024年)就做好,并且拍照也是在去年。但由于本人太懒,直到前几天写MiST-324时,有人私信让我将之前的这个GP2040CE-FC教程做上。就花点时间补上。)
在设计阶段使用打纸样的方法,来进行对位
