Reverse engineering a plasma dot matrix display

A while back, [DragonMinded] picked up a bunch of old arcade and pinball parts from a guy on Craigslist. These parts sat around for a while until a really neat plasma dot matrix display was found in the corner of a box in his garage. Doing the only reasonable thing, [DragonMinded] figured out how to interface this ancient display with a microcontroller.

After extensive Internet research on his display, [DragonMinded] could only find a one page datasheet for his APD-128G064A-1 display. Luckily, this datasheet had voltage requirements, and since the display only had six input pins he could probe the circuit to see what goes where.

After generating a crude schematic, [DragonMinded] prototyped a driver circuit with an Arduino. When the function of each pin was discovered, the Arduino libraries were discarded and replaced with raw register access.

It was a fair amount of work, but [DragonMinded] eventually got to the point where he could draw anything he wanted on the screen. Next on the to-do list is turning it into a terminal or Twitter machine, as with all good display hacks.

Arduino can program PIC too!

This is a wiring diagram that [Soranne] put together when developing a method of programming PIC microcontrollers using an Arduino board. You can see that he takes care of the 12V issue by connecting the Master Clear (MCLR) pin to an external source. This comes with one warning that the Arduino should always be reset just before making that connection.

He’s tested this with a 16F628 and is happy to report that he can successfully flash the program memory, but hasn’t implemented a way to write to the EEPROM as of yet. This should work for any of the 16F family of chips, but we’d bet this will be extended if some knowledgeable folks decide to lend a hand.

On the PC side of things [Soraane] has been working on a program to push code to the Arduino via the USB connection. He’s developing it in C# and even has a GUI worked up for the project. You can get your hands on the software in the second post of the thread linked above but you’ll have to be logged into the Arduino forum to see the download link.

We think the 12V issue is why we don’t see more roll-your-own programmers for PIC. But there are a few solutions out there like this ATmega8 version.

Playing Pong with your mind

It seems [Charles Moyes] and [Mengxiang Jiang] won’t suffer from the sore wrists and thumbs from an Atari controller any longer. They built a version of Pong played by concentrating and relaxing while wearing an EEG headset.

Right now, there’s only enough hardware for one player; when the player operating the red paddle concentrates the paddle moves up – relax, it goes down.

The hardware portion of the build is fairly tricky business. [Chuck] and [Mengxiang] built a circuit to amplify the tiny voltages between their ears into something a microcontroller can read. The circuit is loosely based on this Arduino EEG build, but highly refined as the elegance of an ATMega644 requires.

The EEG amplifier has a cutoff of under 50 Hz, perfect for reading the Alpha waves correlated with concentration. The oscillations from the skull-cap are sent through the ATMega to MATLAB where after a pass through an FFT the brain waves are converted to mouse scroll wheel output.

There’s a demo video available where you can see spectators screaming at the poor test subject telling him to relax and concentrate on command. You can check that out after the break.

[Read more…]

Bitbanging Super Smash Bros.

[Kyle] and an a few of his classmates are wrapping up a microcontroller interfacing class at Purdue and thought it best to send in the results of their efforts. It’s a version of Super Smash Bros. made by just bitbanging pins on a microcontroller.

The hardware for the project is based around a Freescale 9S12c32, an updated version of the 30-year-old M68HC11 microcontroller. For the controls, the guys used a Playstation 2 joystick and buttons housed in an Altoids box, and the actual console is made out of strips of wood stapled together to look like a crate from Super Smash Bros.

There are nine playable characters:  Pikachu, Captain Falcon, Yoshi, Donkey Kong, Mario, Luigi, Link, Kirby, and Fox. Despite these characters being only four pixels high, the game looks extremely playable (at least when two players don’t choose the same character). After the break is the video demo of Super Smash Bros: Bitbang edition, along with a gallery of pics showing the console and gameplay. All the code is up on GitHub for your perusal.

[Read more…]

Receiving asynchronous data bursts

[Johan’s] been working on a chunk of code for about seven years and he thinks it’s ready to help you with your next project. He calls it D1 (The One) and it lets you receive asynchronous data without the need for a hardware USART. It’s capable of working with signals from an IR or RF remote, as well as tangentially related transmissions like RFID and magstripe readers.

It uses timer and port interrupts to sample the incoming data. Once it’s captured a transmission, the code sets a flag so that you can pull what it got into your own application. If you’re expecting to receive a protocol that sends packets several times in a row a verification module is also included which runs as a precondition of setting the received flag. The package is written in PIC assembly, but with all the information that [Johan] included in his post this shouldn’t be hard to port over to other chip architecture.

Automating household devices with Google Calendar

[Shane] is building a new house and wants some, “subtle home automation” as he calls it. His first project is hooking up a small heater to the Internet, and judging from his demo video everything is going swimmingly.

[Shane]’s project is built around an mbed microcontroller that connects to the Internet via an Ethernet connection. The mbed has a temperature controller and a solid state relay to turn the heater on an off; simple enough, but we really like how easily [Shane] connected his project to Google Calendar.

After looking over the Google API, [Shane] was understandably overwhelmed. He figured out that by syncing the mbed’s clock to network time and sending a GET request for one minute in the future, the mbed would always know what was scheduled with a minimal delay.

Now, all [Shane] does to turn on his heater is schedule a time and temperature in Google Calendar. He can do this from across the globe or country and makes for a really slick part of a home automation system.

[Read more…]