Close

Second prototype : JoyWheel with laser cut enclosure

A project log for USB Crank-Stick

Crank-based game controller

pixjuanPixJuan 08/22/2020 at 06:100 Comments

I had plans for a V2 which would be more easily reproducible, it involved:

Before the lockdown, I went to Edulab to make a laser cut enclosure for my new prototype. They helped me design the parts with Inkscape and boxes.py and I used their awsome laser cutter.

It worked quite well for a first time with laser cutting, even if I am not 100% happy with the result since I had to sand all the "fingers" which were joining 2 parts. Hopefully my Dremel tool made the work much less tedious. I must have done something wrong, I will try to fix this in another iteration. Also, a few holes are missing from the SVG files because they were done empirically afterward.

I assembled the enclosure and added 4 pieces of wood in the corners to make it stronger. In the next iteration, I will probably use 2 layers of wood to have something more rigid.

I also used hand cut balsa for a few things like the mouse sensor support because it's much easier to adjust this way than to use a laser cutter, and it is the kind of parts that completely depends on the mouse  you are using.

I used a "Lazy Susan" type ball bearing to make the wheel turn. There may be simpler designs but I was not very confident to insert a classic ball bearing into a piece of wood.

Another challenge was the handle on the disc, I didn't know what kind of handle to use, or if I could buy a 'ready to use' one. I glued some laser cut rings together and use some "assembling screws" I found at my local hardware store.
It's not perfect but it's not too bad, I'm open to suggestions on how to improve it.

Concerning the code, it looks very much like the first version, except I replaced PS2 functions with USB host code, and I also used a lib to debounce the signal read from the buttons.
I also added a potentiometer to change the sensitivity of the wheel, as it makes it easier to experiment with to find the right value.

This is how it looks like fully assembled
I'm going to publish the SVG files and the code on a Github repo soon.

Discussions