As soon as I had made and proved that the original Zero Control worked I knew I had to add a analog sticks. I found some code that I thought would work… join me below to find out where I went wrong.
So I have found some code to add a second analog stick HERE
- Arduino pro micro
- 10 SMD soft touch buttons
- 2 x L and R custom button PCB
- 4 x M3 standoffs
- PSP analog stick x1
- PSP cap x1
With this build I tried out the JLCPCB matt black solder mask which is bad ass and makes your project really stand out from the normal green solder mask they offer
The buttons I use are SMD soft touch buttons that feel a lot better then the other soft touch silicon type buttons because these have plastic tops to them and don’t feel ‘mushy’
With the L and R buttons I used the same tiny PCB I made for the other zero control board. It a small PCB that lets you connect right angle male headers to the soft touch SMD buttons.
The “PSP” analog sticks are weird because they have never been used in any version of the PSP that I know of but they are the same sliding style of analog stick. They are used in the Adafruit joy bonnet tho. The problem with the ones I found didn’t come with any toppers, I ordered servial different ones intended for the PSP but non of them fitted. These needed “standard” joystick toppers so I ordered some PS4 ones since they seamed to be the shortest ones, They were too tall and got in the way of the start and select buttons. I found that if I used a 1/8 drill bit I could remove enough plastic from the PSP toppers to make them fit, I also added a little glue to keep them in place.
I mounted the Arduino pro micro under the board so you wouldn’t get blinded by the LED’s on the board and it keeps it out of the way.
So I found a blog post on the tinkerboy blog which tells you how to program your tinkerboy’s arduino pro micro, The code did have a bit that would let you add a single analog stick if you change a flag in the code.
But I wanted 2 analog sticks, so i just copied the analog stick code so it was duplicated for the other analog pins on the arduino but this clearly didn’t work and I have no idea what I’m doing at this point. If you want to take a bash at it, the tinkerboy code uses the joystick arduino library. In this library there is an example for using different types of analog sticks together but I cant work it out. If you do please leave a comment below.
When plugged into your retropie setup you will just have to map the buttons like you would do with any other controller.
Code and board files
github with board files and code – https://github.com/facelessloser/zero_control_psp_edition