
“ 有没有在机厅被 Maimai 的转盘+触摸 combo 支配过?打完一局,钱包空了,手也抽筋了。回家想练歌,却发现模拟器要么手感离谱,要么整套设备比房租还贵。今天聊的 GitHub 项目 Mai Pico,就是一位国内大佬“whowechina”送给所有手残党的礼物:只用一张 15.6 寸便携屏、几块 3D 打印件和一颗树莓派 Pico,就能搓出一台「麻雀虽小、五脏俱全」的 Maimai Mini 机台。重点是,全套开源,不花冤枉钱。”

Maimai 的精髓在两点:
八个物理按钮的“咔哒”节奏感;
那块能感知多点触摸的 ITO 玻璃。
市面上要么买官方 10 万日元的手台,要么淘宝 3D 打印壳+山寨触摸板,手感随缘。Mai Pico 想做的,就是用开源硬件把这两件事一次性解决,顺便把价格打下来,让双人游戏也变成可能。
核心功能与原理

按钮圈:
8 颗凯华 Choc 矮轴,30–45 g 线性手感,回弹跟手。
每颗轴配两颗 WS2812B,RGB 灯效自己写,想跑马灯还是纯色随你。
触摸:
自制 ITO 玻璃,3 片 MPR121 电容触摸芯片,把整块玻璃切成 24 个独立触摸区。
协议直接参考 Sucareto 的 Mai2Touch,电脑端即插即用。
主控:
树莓派 Pico(或 Pico W),USB-C 一线通。
固件自带 HID 手柄/键盘双模式,想打 Maimai DX+ 还是自制模拟器都能识别。
双人模式:
左右各一套按钮 + 触摸,USB 一进二出,两台机器肩并肩就是 Double Play。
AIME 刷卡:
预留 PN532 NFC 模块,刷实卡或手机 NFC 都行,段位不丢。
硬件部分
硬件部分由 IO 板与按键板组成。
按键板





IO 板






制作集锦
以下是一些爱好者的作品:
Lavide 的作品
Lavide 制作了一个漂亮的紧凑型一体化 Mai Pico 机框!
Romper 的作品
Romper 利用 Mai Pico 的触摸设计制作了一个全尺寸的控制器。


imfrea 的作品
imfrea 给 Mai Pico 设计了一套平价又好看的亚克力外壳。


IlIIllllIlIIlll 的作品
IlIIllllIlIIlll 也制作了一套外壳。

如何制作
PCB
使用 gerber zip 文件(最新的 production\PCB\mai_io_v*.zip
和
Production\PCB\mai_button_v*.zip
)下单,常规 FR-4 板,厚度 1.6mm。你需要 1x io PCB 和 8x 按钮 PCBs 来构建一个 Mai Pico con。
1x Raspberry Pico Pi Pico 或 Pico W。
https://www.raspberrypi.com/products/raspberry-pi-pico注意另一侧的 3 个引脚,它们很难焊接,可能会留下气泡。
1x USB Type-C 插座(918-418K2023S40001 或 KH-TYPE-C-16P)
2x 0603 5.1kohm 电阻(R20,R21)用于 USB,如果你打算直接使用 Pi Pico 上面原生的 USB 插座,那么 Type-C 插座和电阻都可以省去,焊接也会简单不少。
3x MPR121 模块,市场上有许多类型,选择像这样的。 https://www.sparkfun.com/products/retired/9695
在将 MP121 模块焊接到主 PCB 板之前,记得用小刀切断 ADDR 和 GND 之间的微小连线,注意绝对不要切过头。
因为我们使用的是 MPR121 模块,而不是芯片,所以 U5、U6、U7 区域的离散组件留空(新版里已经移除)。
1x SN74LV1T34DBVR(SOT-23-5)电平转换器(U8),如果你找不到,就用 0603 10ohm 电阻(R4)替代,新版的设计里,它已经被移除。
4x 0603 1uF(0.1~1uF 都可以)电容器(C1,C2,C3,C7),可选,推荐。有些已经在新版本里移除。
16x WS2812B-3528 RGB LED(每个按钮需要两个)。
8x Kailh Choc v1 键盘开关,线性的,30gf 到 45gf 的。
1x PN532 NFC 模块和一些细电线, 只有需要 AIME 的时候才用得上.
你需要把它焊接到 MPR121 所在的 I2C 总线上(GPIO 6 and 7)。以下仅适用于使用了光电开关的按钮。
8x 0603 220ohm 电阻(R1,R2,R3,R4,R5,R6,R7,R8),它们是限流电阻。 8x 0603 5.1kohm 电阻(R10,R11,R12,R13,R14,R15,R16),它们是上拉电阻。可能不需要,你可以先试试不焊接。
ITO 玻璃
找一个服务定制蚀刻 ITO 镀膜玻璃。AutoCAD 文件是 Production\CAD\mai_pico_ito_v*.dwg
。使用 2mm 厚,10-20ohm 平方电阻的 ITO 镀膜玻璃。

按键环
从 Production\3DPrint\mai_*.stl 打印出 8 套 底座、连接板、按钮 和 盖子。
购买 8 根 2mm(直径)* 40mm(长度)的钢轴,它们用作按钮铰链。
这是如何组装它们的方法,这个渲染图像中没有显示铰链轴和 PCB 上的组件。

这是我如何组装环的方法。请注意,这些图片中缺少按钮开关的线路。 所有离散组件已准备好。 首先焊接按钮 PCB。 按键 PCB 使用细小且柔软的 3 线电缆串联,它们是 G、IN/OUT、V,分别代表地、信号进/出和电源。按钮开关信号引脚还没有焊接,你可以后面再焊接。请不用担心按钮 GPIO 的顺序,因为它们可以通过命令行重新映射。 你需要 3M5423 UHMW 胶带(或类似的硬且超滑的 PTFE 胶带,厚度 0.2-0.3)。它用来润滑触摸键开关的按钮表面。 将 3D 打印的部件和 PCBs 组装在一起。 使用轴稍微扩大支撑孔,然后涂上一些键盘开关润滑剂,如 Krytox 205G0,使轴超级光滑。 每个 连接板
需要 8x M2*4mm 螺丝将两个底座
连接在一起。安装 盖子
,每个需要 2x M2*5mm 螺丝。
便携显示器
分辨率:1920*1080,尺寸:15.6 英寸,刷新率:120Hz(推荐)或 60Hz,内置扬声器。
它们很容易找到。选择闲鱼上有小瑕疵的会便宜得多,也一样很好用。
有两种类型的驱动板,一种只有 micro-HDMI,另一种支持 type-C 显示(方便连接 Nintendo Switch)。两种都可以。
粘合到一起
我使用 3M VHB 胶带(0.5mm 或 1mm 厚)将按钮环、ITO 玻璃和显示器粘在一起。
只使用一点胶带,我使用 4 小块胶带将 ITO 玻璃粘到显示器上,另外 4 小块胶带将按钮环粘到 ITO 玻璃上。
不要在 ITO 玻璃的走线上贴胶带,你可以在某个角度光线下看到 ITO 的走线。
固件
UF2 文件在
Production\Firmware
文件夹中。对于新的构建,连接 USB 到 PC 时按住 BOOTSEL 按钮,会出现一个名为 "RPI-RP2" 的磁盘。将 UF2 固件二进制文件拖入其中。就这样。
LED 和 Touch 协议的实现遵循 Sucareto 在 https://github.com/Sucareto/Mai2Touch 上的研究。
它有一个命令行进行配置。你可以使用这个 Web Serial Terminal 连接到 Mai Pico 的 USB 串口。(注意:"?" 是帮助)

当你点击这个网页的 Connect 按钮后,你能看到每个端口的名称。

可以使用 gpio
命令重新映射按钮 GPIOs,固件支持 8 个主按钮和 4 个辅助按钮(分别是:Test, Service, Navigate, Coin)。可以使用 touch
命令重新映射触摸键。对于用 ITO 膜手作触摸板,或者自己定制了引脚不同的 ITO 镀膜玻璃的朋友,这个命令会很有用:touch
不带参数,可以用来检测当前按下的触摸键。 touch 1 9 E6
是映射第二个 MPR121 传感器的电极 9 到 “E6”,注意 “XX” 表示不连接任何触摸键。 可以使用 rgb
命令为每个按钮分配串联的 RGB LED 数量。可以通过 level
命令调整 LED 的亮度。有 MPR121 参数调整和灵敏度设置,自己探索。 它实现了 3 个 COM 端口,一个用于命令行,另外两个用于 LED 和 Touch。通过向命令行发出 whoami
,每个 COM 端口都会打印它们的身份。按钮信号通过 HID Joystick 或 HID NKRO(键盘)发送到主机。有两套 NKRO 键映射,使用 hid <joy|key1|key2>
在它们之间切换。在 NKRO 模式下,键映射是:key1: WEDCXZAQ
-按键环,3
-Selectkey2(小键盘): 89632147
-按键环,*
-Select上述两套都有: F1
-TestF2
-ServiceF3
-投币factory
用来复位到默认配置。当固件升级时,老配置可能失效,这时候请复位到默认配置,然后重新插拔一下控制器。
开源地址
https://github.com/whowechina/mai_pico


扫码加入资料分享群,定期分享硬件资料

如何学习四轴飞行器,有这套资料就足够了!(文末免费分享四轴飞行器相关资料合集)
电子硬件工程师如何从零开始学习?(文末免费分享从零开始学习资料)
电路原理图设计流程与注意事项(免费分享26套原理图设计资料合集)
如何学好电路设计?(文末分享电路设计资料合集)
开关电源的工作原理(文末免费分享开关电源资料合集)
学习射频和天线有这套资料就够了!(文末可免费领取)
1000+例各类获奖电赛作品资料集(电路篇、代码篇、教程篇文末免费领取)
分享嵌入式初级工程师全套学习资料包
分享100+套机器人设计资料(文末可免费领取)
免费分享Arduino入门+进阶(全套例程+书籍)
从入门到提升,嵌入式linux常用电子书教程合集分享
凝聚全网精品的电源工程师必备资料合集
LabVIEW的详细简介和应用(文末免费分享LabVIEW相关资料合集)
信号与系统是什么?(文末免费分享16G+信号与系统资料含大量视频教学)
