Thanks to DMS, I’ve recently completed a long term project: A 3D Printed One-Handed Game Controller. It’s powered by a Sparkfun Arduino Pro Micro (DEV-15795), features as many buttons as an XBox or PlayStation controller would, and even comes with a USB-C port for ease of connectivity. It’s designed for use with the left hand, although I’m sure a right handed version could be produced with relative ease. The easy part would be mirroring the Printed Parts, the tricky part would be how to flip the electronics…
I had been working on this project since last year. However, for various reasons it had been stalled, so I reached out to some people at DMS. @ozindfw in particular has been instrumental in answering all my stupid questions about electronics, I could not have completed a fully functional prototype without his help.
I did the 3D Design, 3D Printing, iterative design, etc. mostly at home, however it was at DMS that I learned to solder (again, under the watchful eye of @ozindfw ), and I soldered all of the circuit boards at DMS. I even crimped my own JST Connector Cables (at home).
The odd shape of each PCB is a consequence of the odd shape of the controller itself. I actually started with a clay model, made with feedback from the intended recipient… we came up with a design that conformed all the desired controls to her left hand. I then used photogrammetry to scan it, produce a rough mesh, then use that as a base to form a proper mesh. From start to finish, all printed parts were modeled in Blender. It has its disadvantages, of course, but it’s what I know, and I made it work.
Here’s a closer look at the bottom shell, with the Main Board mounted inside. It took a few iterations just to get the positioning of the USB-C connector just right. Anyway, I’d be happy to answer any questions about this project. I plan to make another copy soon, a demonstration unit that I’ll keep for myself. It’ll help with input mapping, troubleshooting, and other questions that arise from the first prototype, now that I’ve delivered it to the intended end user.