AVR USB Joystick

This project is a USB joystick based on a simple AVR ATmega8. The ATmega8 simulates a standard USB HID device with 8 analog axis and up to 28 buttons including the Coolie hat.

The project is based on Mjoy hardware and source code made by Mindaugas Milasauskas.
Unfortunately the Mjoy homepage no longer exists at: http://www.mindaugas.com/projects/MJoy/

Other sources are http://home.base.be/verlejan/Mjoy16E.html , http://www.flightsim.com/vbfs/content.php?2112 or Google.

I have changed the hardware to ATmega8 in SMD TQFP package to increase the analog channel number from 6 to 8. I made also the required code changes to support the 2 additional channels. Unfortunately the button order on the PCB header is a bit confuse, see the button and axis assignment image for details.

Circuit overview

Circuit overview
AVR USB Joystick BOM
AVR USB Joystick BOM
AVR_USB_Joystick_BOM.txt
2.1 KB
7 Downloads
Details
AVR-USB Joystick Schematic
AVR-USB Joystick Schematic
AVR_USB_Joystick_Schematic.pdf
Version: 1.0
249.0 KB
13040 Downloads
Details
Button and Axis Assignment on headers
Button and Axis Assignment on headers
Button_Axis_Assignment.png
Version: 1.0
11.6 KB
6137 Downloads
Details
PCB Gerber Files
PCB Gerber Files
AVR_USB_Joystick_Gerber.zip
8.9 KB
3857 Downloads
Details
Sourcecode
Sourcecode
AVR_USB_Joystick_Code.zip
28.9 KB
6689 Downloads
Details

96 thoughts on “AVR USB Joystick

  1. Hi Michael, i hope you still follow this project of yours.. I am building it with some minor modifications already mentioned on posts above..
    My question is, when I click on “Button and Axis Assignment on headers “, I download the BOM. Do i have to click somewhere else and I am not finding where?

    Thanks

      • Thanks for that.. A good thing perhaps would be to also include the fuses in the text above?
        I know you have posted them a few answers above, but still.. 🙂
        I have just finished designing my own PCB using Eagle and even if the design is very identical to yours, I might have laid the buttons differently.
        The problem is I can’t open your gerber files and the only reference I had was the picture at the top of the page. I will though compare your button assignment file with the picture and see if I can make some sense of it. Thank you very much for this project. I hope it will work for me as well..

Leave a Reply

Your email address will not be published. Required fields are marked *

Comments will be moderated! Spam deleted immediately!
Before you submit form:
Human test by Not Captcha