[Aaron] didn’t have to do much, really. The only trick is that you’ll first need to re-flash the existing ISP firmware with one that lets you upload code to the device itself over USB. If you don’t have an Arduino on hand to re-flash, buy at least two of the cheap programmers — one to program the other ones. Once you’ve done that, you have essentially an Arduino with limited pinout and two onboard LEDs, but in a nice small form-factor and with built-in USB. [Aaron] even provides an Arduino boards.txt file to make it all work smoothly within the IDE.

[Dimitri Diakopoulos] dropped into our tip line to let us know his HIDUINO project. The HIDUINO is a set of firmware for the ATmega8u2 used in the new revisions of the Arduino (Uno, and Mega2560 for example). Once the HIDUINO is loaded your Arduino can show up as any HID compliant device you wish, no extra drivers necessary. This means that using this firmware, music software such as Max, Ableton, Reaktor etc can read and write MIDI directly to/from the Arduino. Currently the project is for direct USB-MIDI communication but could be altered to act as a variety of HID devices.

Flashing the ATmega8u2 with your own device type or name requires a bit of work on the developers part like owning an ISP programmer, soldering header pins to the board, and re-flashing the ATmega8u2 every time you want to load new code into the Arduino. Users without an ISP can still flash HIDUINO using Atmel’s FLIP software (Windows) or the DFU programmer (Mac OS X and Linux) and a precompiled HIDUINO firmware. They still have to solder a jumper on the underside of the board to use the DFU bootloader.

This firmware could certainly benefit anyone building an Arduinome , Joystick, or any variety of devices that users simply want to interface to a PC without additional software.

We found this Arduino AVR ISP programmer particularly interesting. AVR microcontrollers can utilize an interface called In-System-Programming. ISP allows the chip to be programmed or reprogrammed while in an actual circuit via a pin header. Atmel’s solution is the AVR ISP MKII programing tool. The MKII can also be reprogrammed just as an AVR. The difference here is that most people are not likely to modify the MKII to be used as anything but a programmer. On the other hand if you already have the Arduino, fetch the avr.isp.03 firmware and AVRdude. Then program a device, for example an ATtiny13 using the Ardunio as the programmer. All the project information is provided under the CC BY-NC-SA 3.0 license. On a related note we covered a Microcontroller cheat sheet which covers AVR devices and ISP pinouts.