Making A Joystick Using an Arduino Uno

I am trying to make a device, using an Arduino Uno, that can emulate a joystick using a USB connection, to make an HID device using an Arduino Uno. I’ve tried to look up many tutorials online to see if anything could help me with this problem, but all I’ve come across are dead ends and deprecated methods of making a controller using the Arduino Uno. If there are any current methods of accomplishing this, please let me know. Thank you!

Too my knowledge you’d need to flash new firmware to the 16U2 Chip that is used on UNO boards as a Serial to USB converter. It has been a long time since I’ve done this myself, but it at least seems like the following guide still works for this:

A far easier method, would be to get an Arduino Leonardo, as it uses a 32U4 chip, which has native USB support, and thus can be far more easily programmed as a HID device.

I’ll second the above link, specifically one of the links at the bottom of that page, for the UnoJoy firmware. One of our mentors got this working for us during the 2016 season, I believe. For us, it was more reliable than the LaunchPad controllers that were being supplied in the KoP at the time. I don’t think it was ever used at competition, just because it wasn’t particularly useful for our driver. I know we had at least a potentiometer and a few buttons working with it at one point.

One option:

I’ve tried using this site before, but some of the links they provide have expired or are no longer accessible, especially for the .hex files they provide. Do you know where I can obtain these hex files now? Also, do you know if Atmel’s flip application provides windows users with a DFU programmer when you download it?

We decided to follow gixxy’s advice and get an Arduino Leonardo which will hopefully make this process a lot easier.