Features:
Thanks to many respectful guys/companies who made their tools or materials free or open source (KiCad, OnShape, InkScape, Raspberry things).
And thanks to community developers that inspired me and helped me: CrazyRedMachine (https://github.com/CrazyRedMachine), SpeedyPotato (https://github.com/speedypotato).
And also:
This one is relatively easy to build compared with my other projects like IIDX Pico or Teeny. You can check out my other cool projects.
This Chu Pico project:
I made this project in my personal time with no financial benefit or sponsorship. I will continue to improve the project. I have done my best to ensure that everything is accurate and functional, there's always a chance that mistakes may occur. I cannot be held responsible for any loss of your time or money that may result from using this open source project. Thank you for your understanding.
It's CC-NC. So DIY for yourself and for your friend, don't make money from it. And plagiarism that doesn’t even dare to mention the original author is not acceptable.
Many DIY enthusiasts commonly make certain mistakes during the building process. Please proceed with extra caution to avoid these.
Go JLCPCB and make order with the gerber zip file (latest Production\PCB\chu_main_xxx.zip
), regular FR-4 board, black color, thickness is 1.6mm.
1x Rasberry Pico Pi Pico or Pico W.
https://www.raspberrypi.com/products/raspberry-pi-pico
Becareful of 3 pins that are at the other side, they're difficult to solder and may leave air bubbles.
1x USB Type-C socket (918-418K2023S40001 or KH-TYPE-C-16P)
36x WS2812B-4020 side-facing RGB LEDs.
https://www.lcsc.com/product-detail/Light-Emitting-Diodes-LED_Worldsemi-WS2812B-4020_C965557.html
TCA9548APWR (TSSOP-24) I2C multiplexer.
https://www.lcsc.com/product-detail/Signal-Switches-Encoders-Decoders-Multiplexers_Texas-Instruments-TCA9548APWR_C130026.html
3x MPR121 modules, there're many types in the market, choose ones like this.
https://www.sparkfun.com/products/retired/9695
Before solder MP121 module to the main PCB board, remember to use a knife to cut (unshort) the tiny trace that connects ADDR to the GND. Please be careful not to cut more than necessary.
There's not enough space for the whole height of MPR121 module plus the lead pads. So you need to solder the module like the picture shows below.
First apply some insulation tape.
Then solder the module directly against the PCB.
You can use the pins comes with the module, but you need to cut away the plastic pads.
5x Sharp GP2Y0E03 or ST VL53L0X ToF sensor modules, you need cables as well.
https://www.lcsc.com/product-detail/Angle-Linear-Position-Sensors_Sharp-Microelectronics-GP2Y0E03_C920270.html
You can use both of them in a same PCB, the firmware will identify each of them automatically.
2x 0603 5.1kohm resistors (R1, R2) for USB.
1x SN74LV1T34DBVR (SOT-23-5) level shifter (U8), if you can't find one, use a 0603 10ohm resistor (R3) as an alternative.
https://www.lcsc.com/product-detail/Buffer-Driver-Transceiver_Texas-Instruments-SN74LV1T34DBVR_C100024.html
8x 0603 1uF (0.1~1uF all fine) capacitors (C1 to C8), OPTIONAL, recommended.
10x 0603 5.1kohm (1~5.1kohm all fine) resistors (R4 to R13) for I2C pull-up, required for overclock I2C.
Production\CAD\chu_pico_lgp.*
, the size is 256mm*60mm, 1.8mm to 2.0mm thickness, thinner is better for sensitivity. 2.0mm is easy to find, 1.8mm is rare. I used 1.8mm for my build.
Production\CAD\chu_pico_ir_cover.*
, the size is 293.2mm*63.5mm, 1mm thickness. The material must be "Infrared Transmitting Acrylic Sheet" which can block visible lights (so it looks black) while letting IR lights go through.
You need a Bambu 3D printer for 2 reasons:
For all the following prints:
To fit object in the bed, Z rotate: 315 degree, X, Y move to: 134mm
PLA, PETG, ABS are all OK.
Layer height: 0.2mm
4-6 walls, 50+% infill
Support: Yes. If you have Bambu AMS system, use their special support material at interface layers.
Base: Production\3D\chu_pico_base.stl
, dark gray filament.
Cover: Production\3D\chu_pico_cover(_aime).stl
, dark gray filament.
Cover Base: Production\3D\chu_pico_cover_base.stl
, clear transparent (IMPORTANT) filament.
Light Guide Panel Fixer: Production\3D\chu_pico_lgp_fixer.stl
, color doesn't matter.
From top to bottom:
You need *4x M312mm screws and 4x M3 hex nuts** to fix all things.
7x silicone anti-slip pads can be applied to the bottom side of the base to provide stability when playing.
This is not necessary for Chu Pico. But some people may prefer the traditional IR air tower, especially when they're using Chu Pico design for a full-sized controller. So hereby I provide the IR air tower design, with a pair of air tower PCBs and the firmware support.
First, you need to order the sensor PCBs, the gerber file is Production\PCB\chu_air_v*.zip
. It's for both sides of the air tower.
Order the components, they're marked in the schematic. Then solder them to the PCB following the silkscreen.
For left side PCB, use J1 to connect to the Raspberry Pi Pico, and for the right side PCB, use J2. GPIO 3 -> A, GPIO 4 -> B, GPIO 5 -> C, ADC 0 (GPIO 26) -> Right S, ADC 1 (GPIO 27) -> Left S.
Steps for deployment.
ir enable
), this will disable ToF.ir diagnostic
).ir baseline
).ir trigger <1..100>
).Production\Firmware
folder.I'm using OnShape free subscription. It's powerful but it can't archive original designs to local, so I can only share the link here. STL/DXF/DWG files are exported from this online document.
https://cad.onshape.com/documents/8b9d0fe6ff1bfa4da17d33ee/w/5c7c980a282a19e7ba1db795/e/56ee65492584a3f709c23c49?renderMode=1&uiState=64fd606f17393c0e6f9b19a4