Minimus Joypad

From Nottinghack Wiki
Jump to navigation Jump to search

Minimus USB AVR for use in a simple HID Joypad


An exercise in moving on from the Arduino: -

  • use of a more flexible IDE: Eclipse CDT (C/C++ development tools)
  • cross-platform development: -
    • on windows boxes using WinAVR
    • on Linux boxes using avr-gcc

Setting up Eclipse on Linux

Largely the same as on Windows - not too surprising really since Eclipse is nicely platform neutral. There are certain GCC AVR packages required but they're well explained and a doddle to set up.

Setting up Eclipse on Windows

Eclipse CDT (C/C++ development tools)

The AVR Eclipse Plugin:

Alternatively for Arduino only development, there are efforts to create an Arduino Eclipse plugin that does a lot of the annoying manual setup for you and may be quicker to get going initialy (since it just points to all the tools and settings under your Arduino installation)

TODO: I should write a specific wiki page on this subject.

Setting up Eclipse on Mac

If I could ever afford a recent MacBook I'd just hire someone smart to do it for me :)

TeensyDuino Game Changer!

Using the Minimus with TeensyDuino means the Arduino IDE and APIs can be used! Amazing!


  • I have a few minimus units to play with.
  • flashy lights hex upload with FLIP on Windows XP - worked OK.
  • WinAVR build of various test apps OK
  • I was able to program these test apps fine using FLIP
  • on my Debian laptop I had to install a more recent dfu-programmer package and I was able to use a simple makefile to build and program various test apps
  • on XP at work I set up AVR Studio 4.19 (free download when registered) with the WinAVR gcc and make to build and debug various test apps
  • 2013-06-24 update: now used on my BMO project - the LUFA joystick demo patched by Jamie Lentin ( was easily altered for my 3-button + 4-way D-pad BMO controller. Simply built from the shell and uploaded using "make dfu". Works well on Debian but has issues on Windows XP, 7 & 8 (known problem and now reportedly fixed in LUFA).