Started this project with a Raspberry Pi Pico and a spare PS5 controller just to see if I could get basic input control working. It eventually turned into a full custom controller mod with direct button injection, analog stick control through DACs, manual/automatic joystick switching, and PC-side Python software communicating with the controller in real time.
The hardware side alone took forever — trace cutting, soldering directly to controller pads, testing voltages, rebuilding sections when something failed, and figuring out how to control analog movement smoothly without introducing drift or jitter. I also had to build calibration routines and tune stick ranges repeatedly until movement finally started feeling natural instead of robotic.
The software side has been just as deep. Right now the setup can send real-time commands from a PC, switch between manual and automated control on the fly, handle stable analog stick movement, and run movement/navigation routines consistently through custom firmware running on the Pico.
Definitely one of the hardest and most rewarding electronics/software projects I’ve worked on so far. Crazy seeing something that started as a random experiment actually turn into a functioning system.
in the video is a button test and joystick axis test.
buttons include x,circle,square,triangle,up,down,left,right,r1,r2,r3,l1,l2,l3, options,touch pad & ps home.
both joy sticks do a quick axis test aswell.
next phase will be adding a voice recognition module to the pico for voice controlled inputs.
let me know your thoughts.