The ProStick64 concept
The ProStick64 is my attempt at addressing the durability issue without affecting overall feel and quality of the original stick. The fundamental points i had in mind while designing it are the following:
- Match as close as possible the OEM stick
- Improve adaptability to different playing styles
- Possibility of large scale production
Even if those three basic concepts might seem easy to do individually, joining them in the same final product is not an easy task.
The brain of the stick: STM32G0
In order to finely reproduce every aspect of the OEM stick i decided to give the ProStick64 plenty of computational power. Packed in every module there are two independent STM32G0 processors running at 64MHz. Each processor is responsible for reading and operate a single axis of the stick and thanks to a state of the art 12 bit embedded ADC each axis value is read more than one million times each second!
The printed circuit board
Obtaining reliable reading from an ADC circuitry requires not only top quality potentiometers and processors, but also well designed circuit boards. In order to achieve the best performances possible i designed a custom 4 layers PCB that ensures every single reading is accurate and precise
The enclosure
Using OEM enclosures would have been the best way to go here but it would have highly impacted the possibility to bring this project to large scale production. With that in mind I spent lot of time modelling the OEM enclosure in a 3d modeling software and thru a tedious trial-and-error approach I was finally able to obtain a faithful reproduction of the OEM enclosure, allowing me to customize the internal part to better fit my board and allowing a future low cost large scale production
Top quality parts only
One of the main issues with low quality replacement sticks is the inconsistency of the performances and feel. In my opinion the most effective way to ensure high reliability in a large scale production is to use top quality parts. My goal here is that every single ProStick64 module is exactly the same to every other and you can seamlessly switch from one to another without having to get used to the new one.
The brands i trust for my components are:
- ALPS for the 2-axis potentiometer (aka Joystick)
- Vishay Dale for resistors and capacitors
- JLCPCB for PCB manufacturing
- STMicroelectronics for processors
Entirely open source
Designing, prototyping and addressing every problem found so far has been (and will be) an immense work for me, requiring both time and money in order to take this project come to life. Nonetheless I firmly believe that every step in research and developing solutions to existing problems should be a collective effort rather than a single mind work. That’s why every single part of this project, from 3D models to firmware running on the CPUs, are released with Open Source Licenses. The hardware part is released under CERN-OHL-S-v2 while the software part is released under GPL v3
“Open source isn’t about saving money, it’s about doing more stuff, and getting incremental innovation with the finite budget you have.”
Jim Whitehurst