Turning An Arduino Into A USB Keyboard

The newly released Arduino Leonardo has a few very interesting features, most notably the ability to act as a USB keyboard and mouse thanks to the new ATmega 32U4 microcontroller. This feature isn’t exclusive to the Leonoardo, as [Michael] explains in a build he sent in – the lowly Arduino Uno can also serve as a USB HID keyboard with just a firmware update.

The Arduino Uno (and Mega) communicate to your computer through a separate ATmega8U2 microcontroller. Simply by uploading new firmware with the Arduino Device Firmware Upgrade, it’s easy to have your old Arduino board gain some of the features of newer boards such as the Teensy or Leonardo.

[Michael] goes through the steps required to make this upgrade work and ends his build by showing off an Arduinofied ‘cut, copy and paste’ button project as well as a few multimedia controls. You can check those builds out in the video after the break.

If emulating a USB keyboard isn’t your thing, it’s also possible to install LUFA firmware to emulate everything from joysticks to USB audio devices. Very cool, and very useful.

Posted in Arduino Hacks, Peripherals Hacks Tagged arduino, hid, usb, usb hid

23 thoughts on “ Turning An Arduino Into A USB Keyboard ”

Necromant says: So what? vusb-based HID keyboards have been around for ages already! Flip says:

Sure, V-USB has been around for a good while, but I think it’s a great addition for Arduino, as it’s a lot easier to implement!

Sven says:

The new thing is that this is now possible with an ARDUINO. Previous models have used an FTDI USB chip that didn’t allow this, but some models are now using an AVR for USB communications, so with a firmware update they can. Come on! It’s news if it’s Arduino!

nes says:

LUFA is a pretty neat piece of work. If nothing else the number of ready to go projects built around it make for a simple jump off point to get something working quickly.