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.

Student Soaker, Wireless Water Gun

[youtube http://www.youtube.com/watch?v=0aaQIkLkSIo%5D

As far as pranks go, [Austin Shaf’s] wireless hidden water gun is a real treat. The video above goes over a brief explanation and shows the setup in action. The prankster holds onto a wireless AVR remote, and when the unsuspecting victim walks by, he activates a second AVR controlling a pump; spraying water everywhere.

While most of us are out of school by now, the project would still be a fun office or perhaps street prank. If you’re one for registering, schematics and source code can be found at AVRFreaks. Alternatively, check after the jump for a copy of both.

Related: Office Pranks, and Water Guns.

Continue reading “Student Soaker, Wireless Water Gun”

USB Hub Used For In System Programming

Did you order that 4-port USB hub because it was almost free but now it’s just sitting in your junk box? Why not turn it into an In System Programmer for AVR chips? [Paul] came up with HUB ISP as an answer to the chicken-or-egg problem we’ve seen with other diy programmers. It uses the data wires from four different USB cables to program AVR chips, enlisting the help of a 74HC00 NAND gate along the way. You do not need to have a programmed microcontroller as all the magic happens on the software end of things. The one caveat is that [Paul’s] method currently only works on Linux machines.

USBasp: AVR Programmer Based On ATmega8

We love our AVR Dragon programmer but it can be nice to have a cheap and simple in system programmer on hand too. The USBasp is one such programmer that uses and ATmega8 as its only IC. It requires just a handful of components and can be purchased as a kit, or etched and assembled at home. If you source your own parts the chip does need to be programmed which makes for a chicken-or-egg scenario. We’ve used the Parallel-port dongle (schematic) from Adafruit’s Spoke POV before. It’s basically just a DAPA cable and a few resistors, a ribbon cable (use and old IDE cable if you have to) and a parallel port connector can have you up and running in no time. This is also a great way to get a friend into working with embedded systems. Order parts for a few of these and give them away to your buddies.

Unlocking The Crippled Potential Of An Unmanaged Switch

[Sprite_TM] outgrew the features of the cheap unmanaged TL-SG1005D switch he was using on his home network. Instead of buying a new and much more costly switch he cracked the cheap one open and found that the RTL8366SB chip inside possessed the ability to work harder but was crippled for sale as a low-end model. It wasn’t as easy as that oscilloscope firmware upgrade we saw a while back. He had to add an AVR ATmega88 to send I2C commands to the switch. Turns out that the I2C protocol wasn’t standard and after much head scratching he found some Linux drivers for the chipset that gave him enough info to send the configuration commands he needed. Now he’s go the managed switch he needed for his VLAN for the cost of a microcontroller and some wire.

Magically Repair AVR Chips

If you’ve ever spent time working with AVR microcontrollers you’ve probably set the fuse bits incorrectly at least once. The ATmega fusebit doctor will automatically repair the fuse bits and get you back in business until your next mishap. The ATmega8 that powers the device has the chip signatures for the ATmega family stored inside so it will automatically detect which chip you’re trying to ‘unbrick’. From there it looks up the correct fuse bits and resurrects the sick microcontroller. This is useful in recovering a chip that has serial programming disabled, used the reset pin as I/O, or just enabled an external clock without the necessary hardware to deliver on that feature.

This magic is taken care of by using High Voltage Parallel Programming. We’ve seen HVPP used in the Arduino rescue shield and it is a valuable feature of the AVR Dragon, our favorite AVR programmer, as well as others. Still, you can hardly beat the ease of plugging a dead chip into this board and pressing one button. Oh, did you brick a member of the ATtiny family? There’s a rescue board for those too.

[Thanks Stewe]

Human Tetris: Object Tracking On An 8-bit Microcontroller

Elaborating on an item previously mentioned among last weekend’s Cornell final projects list, this time with video:

For their ECE final project, [Adam Papamarcos] and [Kerran Flanagan] implemented a real-time video object tracking system centered around an ATmega644 8-bit microcontroller. Their board ingests an NTSC video camera feed, samples frames at a coarse 39×60 pixel resolution (sufficient for simple games), processes the input to recognize objects and then drives a TV output using the OSD display chip from a video camera (this chip also recognizes the horizontal and vertical sync pulses from the input video signal, which the CPU uses to synchronize the digitizing step). Pretty amazing work all around.

Sometimes clever projects online are scant on information…but as this is their final grade, they’ve left no detail to speculation. Along with a great explanation of the system and its specific challenges, there’s complete source code, schematics, a parts list, the whole nine yards. Come on, guys! You’re making the rest of us look bad… Videos after the break…

[G’day Bruce]

Continue reading “Human Tetris: Object Tracking On An 8-bit Microcontroller”