Skip to main content
  1. Part models can be found here: https://www.thingiverse.com/thing:425446...
    • 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

  2. 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 You can also use a lighter to heat up the inserts
    • 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

  3. 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 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
    • 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

  4. use the sides of the large rectangular hole to ensure good alignment use the sides of the large rectangular hole to ensure good alignment use the sides of the large rectangular hole to ensure good alignment
    • use the sides of the large rectangular hole to ensure good alignment

  5. Slide pot uses M3 x 10mm screws Double check all parts orientations, it can be difficult to correct this after soldering is complete
    • Slide pot uses M3 x 10mm screws

    • Double check all parts orientations, it can be difficult to correct this after soldering is complete

  6. Using ribbon cables can help keep things more organized and compact Using ribbon cables can help keep things more organized and compact Using ribbon cables can help keep things more organized and compact
    • Using ribbon cables can help keep things more organized and compact

  7. Since this design uses an Arduino Mega you need to upload the MegaJoy version of the script.
    • 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...

  8. 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
    • 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

  9. Unplug the Arduino from the computer any any power
    • Unplug the Arduino from the computer any any power

    • Plug all the components into the Arduino and test them on a computer

  10. Bolt the faceplates on
    • 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...

Finish Line

One other person completed this guide.

Arun Kalahasti

Member since: 03/31/2020

247 Reputation

2 Guides authored

2 Comments

Is there any chance that you could provide a wiring diagram or a video of assembly?

Shal - Reply

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.

Arun Kalahasti -

Add Comment

View Statistics:

Past 24 Hours: 1

Past 7 Days: 3

Past 30 Days: 6

All Time: 1,199