diff --git a/content/posts/framework-gamepad.md b/content/posts/framework-gamepad.md new file mode 100644 index 0000000..b6790cf --- /dev/null +++ b/content/posts/framework-gamepad.md @@ -0,0 +1,25 @@ +--- +title: "Framework joystick" +date: 2025-07-11T22:11:00+01:00 +draft: false +summary: "PSP joystick extension with ch32v003 for framework laptops..." +images: ["/static/img/led-cricle-rainbow.png"] +--- + +I attended [38c3](https://events.ccc.de/congress/2024/infos/index.html) last year and it was amazing as always. I brought a modified robot vacuum to the event (it has BLDC motors and goes fast). But I forgot the gamepad so I chouldn't even drive it around :/ + +So instead of goofing around I goofed around in KiCad and make this[^1]: + +![FW-EC-PSP-Joystick](/img/FW-EC-PSP-Joy-inserted.jpg#center) + +I ordered the PCBs just before leaving for new years eve. And with every PCB project I needed a secound iteration. The error that got me wasn't actually in the design. I left the tickness of the PCB at the standard of 1.6mm and so the USB-C plug did not fit as its designed for 0.8mm PCBs 🤦. +It wasn't nice but by bending all of the USB-C plug's pins I was able to solder them. After flashing the [gamepad example](https://github.com/cnlohr/rv003usb/tree/master/demo_gamepad) from cnlohr's software usb library for the ch32v003[^2] it just works :D It could use some offset calibration (leaving the joystick in the middle does not result in it reporting 0,0) and the imu sensor i added has no driver yet, but I was able to control the robot at this point so I call the project done for now :) + + +...I put the design files[^3] and the code on [github](https://github.com/schnilz/FW-EC-PSP-Joy). So feel free to make your own (there be dragons; no documentation, ask questions maybe) + +![FW-EC-PSP-Joystick uninserted](/img/FW-EC-PSP-Joy-uninserted.jpg) + +[^1]: the PCB, the rest was designed later +[^2]: THE 10cent riscV microcontroller! +[^3]: all CAD files created with [FreeCAD](https://www.freecad.org/) <3 \ No newline at end of file diff --git a/static/img/FW-EC-PSP-Joy-inserted.jpg b/static/img/FW-EC-PSP-Joy-inserted.jpg new file mode 100644 index 0000000..1ceb613 Binary files /dev/null and b/static/img/FW-EC-PSP-Joy-inserted.jpg differ diff --git a/static/img/FW-EC-PSP-Joy-uninserted.jpg b/static/img/FW-EC-PSP-Joy-uninserted.jpg new file mode 100644 index 0000000..43e9b2a Binary files /dev/null and b/static/img/FW-EC-PSP-Joy-uninserted.jpg differ