Tools
Parts
No parts specified.
-
-
Part models can be found here: https://www.thingiverse.com/thing:425446...
-
The extended left plate is the only part which needs supports during printing. Everything else is designed to have built in supports or avoid excessive overhangs
-
-
-
Use a soldering iron to heat up the inserts and gently press them into the plastic
-
You can also use a lighter to heat up the inserts
-
-
-
If possible, force the M8 inserts into place without heating up the inserts, as they tend to have too much thermal mass and cause the plastic around the hole to melt and deform more than desired
-
-
-
use the sides of the large rectangular hole to ensure good alignment
-
-
-
Slide pot uses M3 x 10mm screws
-
Double check all parts orientations, it can be difficult to correct this after soldering is complete
-
-
-
Using ribbon cables can help keep things more organized and compact
-
-
-
Since this design uses an Arduino Mega you need to upload the MegaJoy version of the script.
-
I modified the script to handle changes in the toggle switches as a 0.1 second button press to make it easier to interpret toggle switches in KSP. My modified code is available at https://github.com/Puppetteer/UnoJoy/tre...
-
-
-
To put the Arduino into DFU mode plug it in to the computer then short the two pins closest to the USB connector with a metal object. BE CAREFUL NOT TO SHORT ANYTHING ELSE
-
Once in DFU mode run the "MegaJoy - Attack!" batch script to turn the Arduino into a HID controller which can be recognized as a simple native joystick to most systems
-
-
-
Unplug the Arduino from the computer any any power
-
Plug all the components into the Arduino and test them on a computer
-
-
-
Bolt the faceplates on
-
Since Windows doesn't properly recognize more than 6 analog axes per controller the device will be recognized as two devices with the buttons and axes split between them. This causes an issue with KSP not wanting to map the proper axis in the settings menu.
-
Use the Advanced Fly-By-Wire mod to overcome this issue: https://forum.kerbalspaceprogram.com/ind...
-
Cancel: I did not complete this guide.
One other person completed this guide.
2 Comments
The wiring configuration I used was very simplistic, basically one side of every button is connected together to a common ground, the other side of each button is connected to a dedicated pin on the arduino for detection. I used the pull-up setting in the Arduino code when setting up the input.