Last chance to enter The Hackaday Prize.

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.

Comments

  1. Necromant says:

    So what? vusb-based HID keyboards have been around for ages already!

  2. 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!

  3. 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.

  4. hadak says:

    I imagine you could use some of my Teensy code with this, to some interesting results.

    http://www.hadak.org/2010/08/16/the-unstoppable-windows-hacking-device/

  5. Dino says:

    Gotta get one! This is perfect for the Google Earth flight simulator console I’m building!!

  6. dazdazdi says:

    This was covered two years ago by http://hunt.net.nz/users/darran/

  7. KillerBug says:

    Arduino is just too far behind the times, especially for the price and size. I know their thing is being slow and outdated (with a terrible pin layout) but there comes a point when it is just too much. I think it is official when a softdrink company is giving away clones, and the official Arduino clones the clone because it is better.

  8. falseid says:

    When follwoing the guide this is all dfu-programmer gives me:
    dfu-programmer: no device present.

    The guide is missing a step, or?

  9. dsunlabs says:

    sooo, this means that we can just update the firmware and then keep using arduino as normal? … because the on the previous examples, you needed to build a shield for it.
    With this update I would be able to use Arduino UNO as a keyboard with no shield?

  10. granadaxronos says:

    I’ve made a small contribution to DFU firmware. Made a modified 115,200bps keyboard HID binary. You could donwload it on my post.

    http://make-culture.blogspot.kr/2012/07/arduino-uno-r2r3-usb-hid-115200bps.html

  11. granadaxronos says:

    I’v made a small contribution to Darren’s effort. New 115,200bps Arduino Uno Keyboard HID firmware is available at my post.

    http://make-culture.blogspot.kr/2012/07/arduino-uno-r2r3-usb-hid-115200bps.html

    Thanks to all of you~

  12. IvanZ says:

    You can see video presentation of similar USB emulation device, but controlled with Android device via Bluetooth instead.
    Video is available on Indiegogo campaign: http://www.indiegogo.com/at/hiDBLUE

  13. AD says:

    Im trying to learn so please dont rip me apart with my noobish stupid questions. I bought an arduino uno from china and got ripped off it has an atmega8a-pu chip in it. Im trying to figure out how to make it work as a usb hid keyboard to automatically execute a specific order of keypresses. In a nut shell what im trying for is to basically either have the arduino upload and execute a script when it is plugged into the usb, automatically.. I know autorun is disabled for the target os im gunning for. Or download a script and execute from the web. Is this possible? im not asking for someone to do the work for me but point me in the right direction as i do not know how or where to begin finding this information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 91,198 other followers