IFF system keeps you from shooting your friends


An IFF system – Identification of Friend or Foe – are used by military aircraft in battle situations to determine if another aircraft is being piloted by a fellow aviator or an enemy. For the boots on the ground, friendly fire is generally regarded as a very bad thing, so a few students in [Bruce Land]’s ECE 4760 class at Cornell decided to make a wearable version of an IFF for their final project.

[Wen Hao Lui] and [Aadeetya Shreedhar] broke their project down into two parts: an initiator unit and a receiver unit. The initiator unit sends an encryption key to the receiver unit which, in turn, replies back to say, ‘don’t shoot.’ [Wen] and [Aadeetya] needed to choose between using RF or laser-based communications for the initiator, but the difficulty in acquiring or building a radio antenna with the requisite directionality made a laser the obvious choice.

The receiver unit has eight phototransistors attached to a vest and will reply to the initiator unit via a Wi.232 radio module when the laser illuminates the phototransistors. In the event of an enemy acquiring one of these vests, the project includes a pulse detection circuit that will erase the encryption keys when the wearer’s pulse drops to zero. A bit morbid, but the video after the break sure makes it look cool.

Continue reading “IFF system keeps you from shooting your friends”

Virtual chess uses glove controllers


Check out the game of chess going on above. It’s a virtual game where each player uses a glove as the controller. Or course the game board and pieces are missing from this image. They’re displayed on a computer monitor which both players can see.

The hardware rather simple, and we think it would be a great project to challenge your microcontroller skills. Each glove has an accelerometer attached to it, as well as a ring of copper foil on the pointer finger and thumb. One ATmega1284 monitors both gloves. The accelerometer data is used to move the mouse cursor on the screen, while the contacts are used to grip or release a playing piece. The game board and pieces are displayed using MATLAB with controller commands fed to it via a USB connection.

If you’re more into building a mechanized game check out this pair of telepresence chess boards.

Continue reading “Virtual chess uses glove controllers”

Morse Code Transceiver Based on Gameboy Color Camera

Morse Code IR Transceivers

For their final project in a microcontrollers course, [Trudy] and [Josh] designed a pair of morse code transceivers. To send the message, they used an array of IR LEDs. The message is received using a Gameboy Color Camera, which takes care of basic image processing. This allows a 8-bit ATMega1284p microcontroller to handle transmitting and receiving messages.

The transmission LEDs form a square pattern with one LED in the center. The four outside LEDs are used to help the receiver locate the center LED, and the center LED is used for transmitting the message.

The Gameboy Color Camera is based on a M64282FP image sensor. This sensor uses an SPI-like protocol, which they implemented on the ATMega. It allows them to grab frames from the camera, and get the value of specific pixels. From this data they find the center LED and process the message.

The result can transmit messages of 200 letters at a time, but the speed is limited by the frame rate of the camera. If you have a Gameboy Color Camera lying around, their detailed write up might provide some inspiration and information on how to use it in a hack.

Voice controlled video game uses “Biu” and “ahh” for control


This video game gives your thumbs a rest while stretching those vocal chords. The pair of microphones seen above control the video game on the LCD display. Saying “Biu” will launch a projectile while “ahh” adjusts the flight path. The system was developed by [Tian Gao] as a final project for his ECE 4760 course at Cornell University.

The inputs are common computer microphones connected to some processing circuitry which he built on a piece of protoboard. This consists of some RC filtering and an LM358 opamp to get the signal ready for use with the ATmega1284. There is only one ADC on that chip so [Tian] alternates sampling from the microphones by using the multiplexer built into the chip. The video signal itself is an NTSC composite signal. To facilitate a reasonable frame rate he uses graphics that are packed in multiples of 8-bits. All in all this allows him to create a 160×200 pixel display.

All of this makes the game sound a little dry, but we dare you to listen to the video clip after the break without cracking a smile.

Continue reading “Voice controlled video game uses “Biu” and “ahh” for control”

Japanese Drumming Sensei


If you’re looking to learn the art of playing Japanese drums, or Taiko, this hack, done as a school project by [Cornell] students, could be a really helpful aid. The project write-up is very impressive and includes a detailed explanation of their work, the source code, and a bill of materials if you’d like to try to duplicate this device.

The tutor device is able to tell between soft hits, hard hits, and rimshots using a piezoelectric sensor hooked up to an ATmega1284P microcontroller. This data can then be transmitted to the “follower” drum using an infrared transmitter. These beats can be used in several modes including: follow the leader, metronome, repeat after me, and drum battle mode.

Ok, maybe there’s no drum battle mode, but be sure to check out the demonstration of the Taiko teaching aid after the break.  There’s a lot of details about the build, but they start some calibration drumming around 4:00 if you’d just like to see it in action. Continue reading “Japanese Drumming Sensei”

ATmega1284 as an 8-voice 32 kHz synthesizer

A couple of things strike us about this 8-voice 32 kHz synthesizer. First is the cleanliness of the prototype. As you can see, each part has plenty of room on its own board and all are interconnected by 10-pin IDC ribbon connectors. But you’ll have to see the video after the break to enjoy the impressive sound that this puts out. You’ll hear it play the Super Mario Bros. theme; it does it with passion!

To get audio from the digital microcontroller [Mike] built his own R2R digital to analog converter. The resistor ladder is built from sixteen resistors, which feed a rail-to-rail amplifier. The sound is mono but the playback is polyphonic thanks to the work done by the ATmega1284. It is reading MIDI commands coming in from an external controller (we assume it’s the computer on which the hardware is sitting). The chip’s 128 KB of Flash memory leave plenty of room to store samples, which are selected from a lookup table based on the MIDI data. If more than one sample is to be played the chip averages the data and sets the 8-bit output port accordingly.

Continue reading “ATmega1284 as an 8-voice 32 kHz synthesizer”

Building the worst Linux PC ever

Linux is generally considered the go-to OS for under powered computers. Wanting to challenge the preconceived notion that Linux requires ‘a computer made in the last 20 years,’ [Dmitry] built the worst Linux PC ever around a simple 8-bit microcontroller.

The ATMega1284p [Dmitry] used doesn’t have a lot to offer as far as RAM and storage goes; just 16 kilobytes of SRAM and a paltry 128 kilobytes of Flash storage. While this may be voluminous in the embedded world, it’s peanuts compared to the gigabytes of RAM and hard drive space on even a low-end netbook. To solve this problem, [Dmitry] threw an antique 30-pin RAM SIMM at the problem. It’s wired up directly to the microcontroller, as is the 1 Gigabyte SD card that serves as the PC’s hard drive.

Linux requires a 32-bit CPU and a memory management unit, something the puny microcontroller doesn’t have. For [Dmitry], the best course of action was emulating an ARM processor on an AVR. We’re not sure if we’re dealing with genius or madness here, but it did prove to be a valuable learning exercise in writing a modular ARM emulator.

How fast is it? [Dmitry] tells us it takes two hours to boot up to a bash prompt, and four more to load up Ubuntu and login. If you want a Megahertz rating, good luck; the effective clock speed is about 6.5 kilohertz. While the worst Linux PC ever won’t win any races, its simple construction puts it within the reach of even the klutziest of hardware builders; the entire device is just a microcontroller, RAM, SD card, a few resistors, and some wire.

If you’d like to build your own worst Linux PC, [Dmitry] has the firmware and disk image available to download. If you want to watch the time-lapse of this thing booting, check out the video after the break.

Continue reading “Building the worst Linux PC ever”