1
0
mirror of https://github.com/whowechina/popn_pico.git synced 2024-11-24 06:50:18 +01:00
Pop'n Music Pico Controller
Go to file
2023-01-29 20:52:17 +08:00
BUTTON More accurate keycap socket 2022-10-05 19:10:31 +08:00
CASE Finetune the pcb spacer model 2022-10-15 16:41:29 +08:00
doc Update document for PCB modification 2023-01-28 21:33:29 +08:00
FIRMWARE Firmware moved to a separate repo 2023-01-29 20:52:17 +08:00
PCB LED9 pin changed to support PWM, UF2 firmware updated too 2023-01-28 20:22:53 +08:00
PLATE Plate go manufacture 2022-09-01 21:33:54 +08:00
PRODUCTION LED9 pin changed to support PWM, UF2 firmware updated too 2023-01-28 20:22:53 +08:00
.gitignore Woking on plate 2022-08-28 23:30:49 +08:00
LICENSE Update license 2022-08-21 17:12:26 +08:00
README.md Update document for PCB modification 2023-01-28 21:33:29 +08:00

Pico Popn - Pop'n Music Controller

Features:

  • It's tiny.
  • 1000Hz polling rate.
  • HID lights (9 button lights and Logo RGB).
  • RGB rainbow effects.
  • Light brightness control (v1.2+).

Thanks to:

  • SpeedyPotato, for his great SDVX pico project which inspired me in the first place. I also got many materials from his repo. Check out his great projects: https://github.com/speedypotato.
  • CrazyRedMachine, I got panel arts from his SVG files: https://github.com/CrazyRedMachine/PopnPanel.
  • Many respectful guys/companies who made their tools or materials free or open source (KiCad, OpenSCAD, InkScape, Raspberry things).

Special Notes

For builds v1.1 and earlier, you need to do a small modification and the main PCB to get brightness control with latest firmware. See the bottom of this document.

HOW TO BUILD

Step 1 - Buy

  • Place order at jlcpcb.com for PCB and plate. Gerber zip files are /PRODUCTION/PCB.zip and /PRODUCTION/PLATE.zip. Leave everything default in JLC's ordering page (board thickness is 1.6mm). Choose what ever color you like, I prefer white.

  • Order 3D printing service for the case, FDM with transparent PETG filament or SLA with half-transparent resin. If you own a 3D printer, do it yourself. The file is /PRODUCTION/pico_popn_case.stl.

  • Buy other components (get few more for tolerance):

Step 2 - Solder

  • Use the smallest soldering iron tip you have.
  • Use solder flux, always keep the pins "wet".
  • Soldering iron temperature set to around 300°C.
  • Use tweezers to hold components.
  • Tricks for Type-C socket and 4020 RGB LEDs.
    • Put flux on all those small pins. Melt a tiny little bit solder (seriously very very little bit) at the iron tip. Then quickly solder the pins. Flux and very little bit solder is the key.
  • 2 resistors near USB socket are 5.1k ohm, others are all 220ohm.
  • Don't forget to solder 3 "holes" which connects to the Raspberry Pi Pico's USB pins.
  • 4020 RGB LEDs are side-facing, don't make it "up-facing".
  • They look like this when finish:

Step 3 - Firmware

  • Use a USB cable to connect the PCB to a PC/Mac computer while pressing down the small button on Raspberry Pi Pico. An explorer window will pop up. If it doesn't show up, navigate to a disk labeled "RPI-RP2".
  • Drag the UF2 file (/PRODUCTION/pico_popn.uf2) to the root of this new disk.
  • The RGB lights will start rainbow effects.
  • If it's not working, go back to Step 2 and fix it.

Step 4 - Assembly

  • Insert 9 key switches into the plate, be careful, don't bend the leads.
  • Put the PCB into the case.
  • Gap between the plate and the PCB is about 3.4mm. There're many ways to fix and fasten boards and case. Here's my solution, I reprocessed the screws and spacers as they didn't come with proper length.
  • Another way is to use a long M3 screw from top side and a nut at the bottom side. Between PCB and plate, use a 3.5mm length M3 spacer with no threads. You can also 3D print some spacers using provided /PRODUCTION/screw_spacer.stl.
  • Don't forget get some anti-slip silicone pads.
  • Almost done.

Step 5 - Keycaps

  • If you have resin printer, you can make them by yourself.
    • Make half-transparent resin by mixing translucent and white resin (2:1) as the base resin.
    • Mix some drops of UV resin pigment, you can make all Pop'n Music button colors.
    • 3D file is /PRODUCTION/popn_keycap.stl or if you're using Chitubox - /PRODUCTION/popn_keycaps.chitubox. Orientation and support should be like this to get perfect button surface.
    • These are printed by my Elegoo Mars 3 Pro.
  • There're many other choices.
    • Homemade bottle cover keycaps
    • Homemade coat buttons keycaps
    • DSA color keycaps
    • DSA transparent keycaps
    • MA color keycaps
    • XDA 1.5U color keycaps
    • About the homemade process.
    • I bought these inexpensive 3gram/5gram distribution bottles just to get the covers (28-30mm diameter).
    • Cut the shaft/socket out of regular transparent keycaps.
    • Drill some holes on them so later we can apply UV resin better.
    • Apply UV resin, glue the socket and the cover together.
    • Don't forget alignment.
    • After cured by UV light, they look like this:

Modification for v1.1 and earlier PCB

In the first version of main PCB (v1.1 and earlier) I chose a wrong GPIO for the button 9 LED which caused a PWM conflict. To support brightness and fading control, that must be fixed.
The idea is to cut the old LED 9 track and wire it to a different pin (GPIO18). The blue * mark in the picture means "to cut the track" and the red * mark means "to solder".
If you don't need brightness and fading control, you don't need make this modification, just use v1.1 firmware. Sorry for the mistakes I made.