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.

Continue reading “Turning an Arduino into a USB keyboard”

Update: Androcade 2.0

[Chris] has been going about his business, letting his interest guide him as it will. But always in the back of his mind is his Androcade project, and he’s spent the last year making improvements. It’s an arcade controller for playing games on an Android tablet. It connects to the device via Bluetooth, and includes a built-in stand.

His original version was featured here last year. It was made from wood (with a nice Android green finish) and included three buttons and a joystick. This time around he moved to some black laser-cut acrylic for the case, and has doubled up on the buttons. It also now enumerates as an HID Bluetooth device, whereas before it was pushing serial data over the BT connection.

He’s had enough interest from his friends to also create an iPad version all in white. It connects and works just the same as the Android flavor. Check out a bit of Donkey Kong gameplay after the break.

Continue reading “Update: Androcade 2.0″

Winning video games by letting Arduino push your buttons

[Lars] shows you how to get a perfect score on the first four levels of BIT.TRIP RUNNER by using an Arduino to time and send button presses. This is a pretty simple game that uses a couple of buttons to jump or slide past obstacles. The constant speed of the character makes it quite easy to time these movements without any input from the game. This means that the pixel sampling which some web-game bots use isn’t really necessary here. Just work out the timing and hard-code it into the sketch. As you’ll see after the break, it works perfectly

The real value of this hack is the guide he wrote to send key presses from the Arduino hardware. It’s not hard at all, but there are several steps and this will get you up and running in no time. Where might you go from here? It wouldn’t take much to turn this into a keyboard prank that misspells all your words.

Continue reading “Winning video games by letting Arduino push your buttons”

Do you know what you’re doing when integrating PC-side apps with USB microcontrollers?

The advent of integrated USB peripherals in microprocessors (PIC, AVR, etc.) has certainly taken a lot of the work out of developing USB devices, not to mention reducing the silicon parts in these designs. But do you know what you’re doing when it comes to controlling them with user-friendly applications? [Simon Inns] is lending a hand with this in his recent tutorial. He shows how to use USB capable AVR chips along with your own Windows applications.

After the break you can see the video from which the above screenshot was captured. That’s a development board of his own making which hosts an ATmega32U4, as well as a USB-B port, LEDs, potentiometer, and a few switches. Taking a closer look, we love the breadboard friendly headers he used on the bottom of the board to break out all of the pins.

His demo shows the Windows app turning LEDs on the board on and off, as well as ADC data displaying the current potentiometer position with the onscreen dial. His code package includes the hardware design, firmware, and app software needed to follow along with what he’s doing.

Continue reading “Do you know what you’re doing when integrating PC-side apps with USB microcontrollers?”

Plug and Prey: Malicious USB devices

This very informative talk given at Shmoocon 2011 has been posted over at IronGeek. Covering all kinds of angles that a person could attack someones computer through the USB port, this should be read by anyone who is security minded at all. No matter which side of the port you tend to be on, this article has great information. They cover some common attack methods such as keyloggers and fake keyboards as well as some common methods of securing your system against them. We’ve actually seen this in the news a bit lately as people have been using the keyboard emulation method in conjunction with android phones to hack into systems.


[thanks Adrian]

NES controller to USB gamepad

Regular Hackaday reader [Osgeld] is at it again with this USB conversion for an NES controller. This is a ubiquitous hack that we started seeing very early on, sometimes involving an adapter kit, and other times including things like a thumb drive and USB hub. But this time around is truly a bare-bones version. He’s using an Arduino but it’s really just an AVR ATmega168 running the bootloader. We’d wager this can be done with an ATmega8 just as easily. Grab a couple of diodes (we never seem to have the 3.6v zener diodes around when we need them), a couple caps and resistors, a crystal and you’re in business. The hack wires each button to a pin and implements a keyboard HID that can be mapped for any purpose you desire.

Working with the AT90USBKey

The Genearic HID tool is meant as an easy way to create your own human interface devices. The project has the added benefit of showing us how to hack the hardware on the AT90USBKey developement board. The AVR-based device, which we saw used to make an SNES cartridge reader, comes in at just over $30 but with a few caveats. First, the breakout pads for the pins are not 0.1″ pitch and require some creative soldering to get at them easily. But the walk through also covers converting the board to run at 5v when in USB host mode, and altering the populated components to reclaim pins on the AT90USB1287 chip. The fun isn’t limited to this board, there’s also a home brew alternative based around the same chip.

[Thanks Juan]