The Minimus AVR is a USB connected microcontroller, which uses the ATMEL 90USB192 microcontroller. Its a cheap re-programmable microcontroller with 21 digital input/output pins.

They have been used by people who mod games consoles, to upload new bootloaders and things like that. They retail for around £8 in the UK, which is pretty good for a USB connected microcontroller. We ordered 100 of these for Nottingham hackspace and I have had a few sitting on my desk for over a year now. It was time to do something with them...

I wanted to be able to easily upload simple code to them, even better if I could use the Arduino IDE (which I have already written quite a bit of code for).

This work could not have been done without the input from Spencer and Joe from Nottingham hackspace and Bob Clough.

The Minimus AVR has 16kB of memory (I have a number of version 1's, the new version has 32kB of memory). It does NOT have any analogue to digital converter, so this can only be used for digital connections.

In this instructable we are going to go though the steps required to upload code written in the Arduino IDE onto the minimus and run it to do the classic and blink an LED.

This guide will follow the procedure on a Windows 7 operating system.

Step 1: What You Will Need

A Minimus AVR - I used the older version 1, version 2 is available here.
A computer with a spare USB port - I used a Windows 7 machine

Optional: 2 x 12pin headers - solder these on to easily plug it into a breadboard.

That is all.

If you would like to add header pins (it makes it easier to do quick wiring via a breadboard) then solder them on now.

Step 2: Set Up Software

Download Arduino IDE 1.0.4 from arduino.cc and extract to my Documents directory. Do NOT use the latest version 1.0.5, as this does not yet work with this programming method.

Download and install Teensyduino 1.11 from http://www.pjrc.com/teensy/td_download.html (pointing it at the Arduino directory when prompted). I installed all the libraries as well, when prompted, but you could do that at a later time when you need them.

Download and install ATMEL FLIP 3.4.7 from http://www.atmel.com/tools/FLIP.aspx

Plug in a Minimus AVR to a spare USB port and you'll see it's an unrecognized device in device manager. 

Update driver, pointing it at C:\Program Files (x86)\Atmel\Flip 3.4.7\usb , or whereever you installed the FLIP program (and saying yes when prompted).

In FLIP, go to Device > Select > AT90USB162

Step 3: Upload Code to Minimus AVR

In Arduino IDE, select Tools > Board >Teensy 1.0

Write your sketch.  I used the Blink sketch, changing it LED pin to 6 for red LED, or 5 for blue LED (note that high is off, and low is on for onboard LEDs).

The pin-out for the Minimus AVR is not the same as the standard Arduino. Here is an image of the minimus AVR pin outs.
Here is an ASCII pin-out diagram with the Arduino equivalent pins included.

Click upload and it will compile then pop up with the Teensy program with button to 'open HEX file'  Click this and drag it to desktop (or whereever you would like to save it).  Then cancel out of Teensy prog.

Open Flip.
Plug in Minimus.

To put Minimus in programming mode, push reset, push HWB, release reset, release HWB (sounds complicated, but just roll your finger over the buttons!)

Load the .hex file from desktop

Select communication USB [open]

Run the operations flow (erase, program, verify)

Program the device

Press the Reset button on the Minimus AVR to put it back in to run mode. The uploaded code should now run.

Step 4: See It Working.....

Here is a blinking LED. Honest its blinking.

You can then go on to control other stuff. I've got one updating a large 7 segment LED display with the temperature via a Dallas 1-wire device and it works great.

I've only found one other Instructable using the Minimus AVR, The PANIC button by Bob Clough.
The minimus AVR is a great little board which is cheap as chips. Once the programming environment has been sorted out (as shown in this instructable) then it becomes as easy to use as the Arduino.

For more info see Spencers Blog and my blog post on using the minimus AVR and Arduino IDE, this includes code for adding hardware serial ports.
<p>Thanks - I finally got my Minimus to work by following these instructions. They were very clear.</p><p>For anyone trying to do this in 2015 you REALLY do need the Arduino IDE 1.0.4 (or 1.0.3) which are available in the previous revisions page of arduino.cc AND you need Teensyduino version 1.11 (for Arduino IDE 1.0.3) or 1.14 (for Adruino IDE 1.0.4). The current version (1.20+) does not provide the required Teensy 1.0 board selection. Unfortunately, the website for teensyduino does not have any of the previous revisions available so you need to use the web archive &quot;Wayback Machine&quot; to find older versions: <a href="https://archive.org/web/" rel="nofollow">https://archive.org/web/</a></p><p>and then insert the web address supplied for teensyduino in the WaybackMachine and search for a page with the required software version.</p>
<p>Thanks very much for putting that information up - I've not used the minimus for a while and someone had asked me for this info very recently, so its really helped.</p><p>Regards,</p><p>Matt</p>
<p>I think you will find that person was me :)</p><p>I did a bit of digging at work to figure this out.</p>
<p>Ah ha! Well done for figuring it out!</p><p>Cheers, Matt</p>
<p>If you could answer two questions for me, I would sincerely appreciate it. I'm kind of stuck at the moment, and I'm not sure what's going wrong.</p><ol><li>I have both the original Minimus (AT90USB162) and the 32k (ATmega32U2) . I'm trying the same thing with both, and am having the same issue. When trying to upload a .hex file (within Flip), I can erase the existing data on the Minimus, and do a blank check, but then it always fails at the program portion. I'm using the hex file from here: <a href="https://sites.google.com/site/degenatrons/controller-interfaces/usb-keyboard-encoder/resources/firmware_and_docs_v1_5.zip?attredirects=0" rel="nofollow"> https://sites.google.com/site/degenatrons/control...</a> ... and am trying to wire up a control for an arcade I'm building. I did this same project a couple years ago, but now I'm not certain how I was able to get this to work.<li>Once I am able to upload the hex properly, do you know how I trigger the arcade buttons? I assume it's the ground wire, and then connected to one of the other pins (except for VCC). Again, I'm pretty green to all of this stuff.</ol><p>Thank you so much!!! Any help would be GREATLY appreciated!</p>
<p>I actually have 2 answers for you :)</p><p>Firstly, Try the kade firmware uploader from <a href="http://kadevice.com/" rel="nofollow">http://kadevice.com/</a> (which has the hex built into it, and the commands can be modified within the loader) I found it worked easer for me than flip. Personal preference.</p><p>ad for connecting arcade buttons, you are correct, simply connect the buttons to earth and the correct pin on the minimus. DONT Connect GND to VCC, I did that, and blew all the usb ports on one side of my computer. I got lucky, since its a custom build, I simply replaced the usb board in my pc, but most people arnt so lucky</p><p>Hope that helps :)</p>
<p>This might seem like a silly question. But if i program my minimus like this, will it work as a standard HID keyboard? I actually got it, wanting to make a password vault, so I could have really secure passwords, and i dont have to type them (no one can see them over my shoulder). and maybe something like <a href="http://www.thinkgeek.com/product/ae83/" rel="nofollow">http://www.thinkgeek.com/product/ae83/</a> just for the hell of it lol</p>
<p>Hi, Afraid I've not had the minimus works as an HID keyboard, but it is something that is do-able and people have written up. See these posts (including a fellow Nottingham hackspace person) for more ideas:</p><p><a href="http://wiki.nottinghack.org.uk/wiki/Minimus_Joypad" rel="nofollow">http://wiki.nottinghack.org.uk/wiki/Minimus_Joypad</a></p><p><a href="http://emalliab.wordpress.com/2012/05/21/minimus-usb-and-lufa/" rel="nofollow">http://emalliab.wordpress.com/2012/05/21/minimus-u...</a></p><p>Matt</p>
<p>Thanks mat...</p><p>I'll take a look, and have a play. If i get HID working with the arduino IDE I'll write up an instructable, and credit you (and let you know :))</p><p>my wife was saying last night, that arcade controls with the minimus would be a cool addition too, so thats my first project now</p>

About This Instructable




More by chunkyhampton:Arduino Robots Convert pin badges to fridge magnets Cast a Polymorph Keyring 
Add instructable to: