Reading Punch Cards With An Arduino And Digital Camera

[digitaltrails] wanted the data on a few old IBM 80-column punch cards he had lying around, but didn’t have decades old computer hardware in his garage. He decided to build his own out of LEGO, an Arduino, a digital camera, and a bit of Python.

The hardware portion of [digitaltrails] build includes a crank-operated feed mechanism made entirely out of LEGO. For each turn of the crank, the feed mechanism sends one card down a chute where a photodetector wired into an Arduino tells a camera to take a picture. After that, a servo is activated, sending the card into the ‘already scanned’ bin.

On the software side of the build, [digitatrails] used the Python Imaging Library to scan one row of pixels where each column is expected to be. The software outputs the code and data contained on the 80-column card as well as a very cool ASCII art version of each card.

Considering you just can’t go down to Fry’s and buy an IBM 80-column punch card reader, we’re loving [digitatrails]’ clever way of getting data off an otherwise unreadable storage medium. Check out the video of the card reader in action after the break.

Continue reading “Reading Punch Cards With An Arduino And Digital Camera”

A Wireless MAME Coffee Table Controller

MAME coffee table plan

Although we’ve featured quite a few MAME controllers here, we thought we’d feature one more. It’s only a well-drawn mechanical plan at this point, but if the results are anything like the model or detail drawing, we will be quite impressed.

One thing that is of particular interest is the planned parts list. Amongst them are the typical joysticks, buttons, and even a trackball. What may be new to some of our readers is the bluetooth arcade controller by [Wayne and Layne] opensource hardware kits. Although they aren’t cheap at just under $80, and requre an Arduino Mega for use, this is nonetheless an interesting control option. The maximum button presses may be another limiting factor at 6, but it should be a cleaner solution than cannibalizing one or more wireless controllers.

Of course, we’d be negligent if we didn’t at least give you a link to a completed MAME controller. Be sure to feast your eyes on these images if you’d like some finished controller eye candy or check out the pic after the break!

Continue reading “A Wireless MAME Coffee Table Controller”

Decoding NOAA Weather Radio With An Arduino

The National Oceanic and Atmospheric Administration is responsible for broadcasting the signals used in weather radios. They use a protocol called Specific Area Message Encoding (SAME) and [Ray Dees] recently published an Arduino library that lets you decode the SAME message packets.

He doesn’t provide a method of tuning the radio signal, but at first you can use the audio samples he points to. The actual broadcasts happen on one of seven frequencies between 162.400 MHz and 162.550 MHz but the tones are also broadcast on TV and Radio alerts. Once you have the audio it is fed into a pair of XR-2211 Tone decoders. This provides just three interface pins for the Arduino to watch.

The annoying noise that grabs your attention at the beginning of a weather alert, or test of the alert system is actually what the SAME data packets sound like. From those tones this system will be able to decode what type of alert is being issued, and the geographic locations it affects. If you interested in more info about SAME head over to the Wikipedia article on the topic.

Bending A Home Security Control Panel To Your Will

Does your home have a security system but you don’t subscribe to the monitoring service to make it work? Rip that baby off of the wall and do something with it, or just build your own system around it. If you have a DSC PC1500RK control panel [CaitSith2] shows us how easy it is to control the buttons, LEDs, and buzzer. If you’ve got a different model this is still a good jumping off point to start your own reverse engineering.

There are only four connections that need to be made. [CaitSith2] is using an Arduino for the demonstration. He connected the red wire to voltage, the black wire to ground, the yellow wire (clock) to digital pin 3 and the green wire (data) to digital pin 2. A communication cycle starts by setting the data line high, then clocking out eight bits to capture keypresses. 16-bits are then clocked in to set the LEDs and drive the buzzer. This is shown in the video after the break as well as documented in his sample code. We’ve embedded the sketch after the break to preserve it in case the pastebin code goes missing in the future.

Continue reading “Bending A Home Security Control Panel To Your Will”

Building An Artificial Moon For Burning Man

lune-and-tide-burning-man

If you were lucky enough to score passes to this year’s Burning Man, be sure to keep a look out for [Laurence Symonds] and crew, who are putting together an ambitious fixture for the event. In reality, we’re guessing you won’t have to look far to find their giant moon replica floating overhead – in fact it will probably be pretty hard to miss.

They are calling the sculpture “Lune and Tide”, which of an 8 meter wide internally lit moon which hovers over a spinning platform that’s just as big across. The inflatable sphere is made up of giant ripstop nylon panels which are home to 36,000-odd sewn-in LEDs. The LEDs illuminate the sphere to reflect the natural color of the moon, though with a simple command, [Laurence] and Co. can alter the lighting to their heart’s content.

If Hack a Day’s [Jesse Congdon] makes his way out to the festival again this year, we’ll be sure he gets some footage of Lune and Tide in action. For now, you’ll have to satisfy your curiosity by checking out the project’s build log.

Remote Uploading To An Arduino With Codebender

[youtube=http://www.youtube.com/watch?v=KCHqhV6xPMg&w=470]

A few weeks ago, we saw codebender, an online replacement for the Arduino IDE that allowed you to upload a sketch to your board from a web browser. Over on the codebender blog [Vasilis] and his team are rolling out a way to remotely upload code to an Arduino over Ethernet. Now you don’t even need a serial connection to program an Arduino; it can be done over the Internet to a board in the next room, or on another continent.

The star of this hack is the Ariadne bootloader, an implementation of TFTP that allows any Ethernet-enabled Arduino to receive updates over the Internet. There is still one small problem with the Ariadne bootloader: uploading code over Ethernet requires someone to press the reset button on the Arduino, completely negating the benefits of programming an Arduino over Ethernet.

This problem has been solved before for earlier Arduino boards, so we’re sure [Vasilis] and his team will be able to fix the reset issue in very short order. If you’d like to check out the remote TFTP bootloader and play around with codebender, you can grab Ariadne over on GitHub.

Reading Sega Carts Off A Breadboard

Golden Axe is great, and the Sonic 3/Sonic and Knuckles combo is one of the highest works of art from the 16-bit era, but for those of us without a working Genesis or Megadrive, we’ve had to make due with the ROMs others provide. [Lee] figured out an easy way to read the data off these old Sega cartridges using easily scavenged parts and an Arduino Mega, paving the way for an Arduino-based ROM dumper.

The connector on the bottom of a Sega Genesis cartridge has a 2×32 pinout, normally requiring 64 connections to actually read the card. These connectors aren’t readily available, but [Lee] did manage to find a few 2×31 pin connectors lying around in the form of old ISA sockets. The outer pins of a Genesis cart are used for grounds and a ‘cartridge insert’ slot, and after filing away the end of an old ISA connector, [Lee] found he could actually read the data on these old game cartridges.

There are 49 data and address pins on these old Sega carts, so an Arduino Mega needed to be brought into the mix to actually read some of the data on the ROM chip. As of now, [Lee] can read data from the cart but has only gotten so far as to read the licensing data stored at 0x80. Still, very cool and the first step towards an Arduinofied Sega cart dumper.