[Ladyada] and [pt] had an old keyboard from NeXT, but since it used a custom protocol it wasn’t usable with modern hardware. So they built a custom device to convert the NeXT protocol to USB.
The device uses a Arduino Micro to read data from the keyboard and communicate as a HID device over USB. It connects to the keyboard using the original mini-DIN connector, and is housed in the classic Altoids tin enclosure.
Since the protocol used by NeXT isn’t standard, they had to figure it out and write some code to interpret it. The keyboard communicates bidirectionally with the computer, so they needed to send the correct frames to key data back.
Fortunately, they hit on a Japanese keyboard enthusiast’s site, which had protocol specifications. They implemented this protocol on the Micro, and used the Keyboard library to create a HID device.
The final product is an adapter for NeXT to USB, which allows for the old keyboards to be used on any computer with USB. It’s a good way to bring back life to some otherwise unusable antique hardware.
[Steve] created an AVR programmer using an old USB keyboard. We feature a bunch of AVR programmers, but this one is made from parts that many people will have lying around. There are two components: the controller PCB from a USB keyboard, and an optocoupler for emulating key presses.
In order to send data to the AVR, [Steve] used the LED outputs on the keyboard. These LEDs can easily be toggled according to the HID device specification. They provide a 5 volt output with current limiting resistors, which means they can be connected directly to the target AVR.
Reading data is a bit more complex. The optocoupler tricks the keyboard into believing that a single key has been pressed, firing off a data transfer. The MISO pin on the AVR is connected to the row and column of the shift key, which is read by the driver.
On the software side [Steve] created an avrdude interface driver. This allows the programmer to be used with avrdude, just like any other programmer. [Steve] does point out that it isn’t the fastest programmer since the keyboard tries to debounce the MISO input, greatly limiting the speed. However, since it’s made from stuff you might have in your junk bin, it’s a neat hack.
[Vinod’s] latest project lets him use a TV remote control as a mouse. It may not sound like much, but he did it with a minimum of hardware and packed in the maximum when it comes to features.
He’s using an ATmega8 to read the remote control signals and provide USB connectivity. With the V-USB stack he enumerates the device as an HID mouse. One note of warning, he used the PID/VID pair from the USBasp programmer project. If you use that programmer you’ll need to uninstall the drivers to get this to work (we think this is only necessary on a Windows box).
The cursor can be moved in eight directions using the number pad on the remote. The numeral five falls in the center of the directional buttons so [Vinod] mapped that to the left click, with the zero key serving as right click. He even included the scroll wheel by using the volume buttons. The firmware supports cursor acceleration. If you hold one direction the cursor will move slowly at first,then pick up speed. Fine adjustments can be made by single clicking the button. Check out his demonstration embedded after the break.
Continue reading “Use your TV remote as an HID mouse”
The amount of time that is going into these custom headlights is just staggering. [Mcole254] is working on his brother’s truck, replacing the stock headlights with High-Intensity Discharge (HID) lamps and rolling some nice LED features into the mix while he’s at it.
The build starts by removing and disassembling the stock headlight assembly. In order to get the enclosure apart he heated it in the oven until the glue was softened and the parts could be pried apart. The goal is to replace the reflectors with an assembly that suits the new lamps and LEDs. Above you can see the white pieces which were vacuum formed from a mold that [Mcole254] made from wood and PVC. He tried several iterations using his home-made vacuum former but couldn’t get the definition he really wanted. The most recent posts from him show some massive 3D printed parts that will be used instead.
While inside he added a line of amber LEDs for the turn signal. You can seem them mounted along the silver strip between the upper and lower reflectors. A demo of those super bright additions is embedded after the break.
Continue reading “Fabricating headlights for an F250”
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”
[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”
[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”