Voice Controlled Video Game Uses “Biu” And “ahh” For Control

voice-controlled-gaming

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”

MSP430 Bit Banged USB 1.1

msp430-usb-hardware

Here’s a rather exciting development for those who work with MSP430 microcontrollers. [M-atthias] worked out a way to implement USB 1.1 on a MSP430G2452. He’s bit banging the communications as this hardware normally doesn’t support the Universal Serial Bus. This is much like using the V-USB stack for AVR micros.

The test hardware seen above uses an 18Mhz crystal to get the timings just right. As this squeezes the most out of the chip it should come as no surprise that the firmware is written in assembly. This is still quite early on in development but the core features are mostly there, having been implemented and debugged over several versions already. Currently the base functionality can be loaded using under 2k of flash memory. You can download the Mecrisp package from [M-atthias’] sourceforge page. If you want to lend a hand testing or developing it would be greatly appreciated.

[via 43oh blog]

PhatIO Uses File System To Control External Hardware

[Andrew Smallbone] wrote in with a link to his latest open source project. This is phatIO, a USB I/O device that uses a mass storage file system for control. The idea is that any operating system can manipulate files on a USB storage device. This enumerates as mass storage, and any alterations you make to its file system will result in pin manipulation on the I/O header.

We’ve long been Linux advocates and enjoy the fact that everything on a *nix system is a file. This simply extends the idea across multiple platforms. [Andrew’s] guide for the hardware gives an overview of how the system is structured. The top ‘io’ directory contains sub-directories called mode, pins, status, and a few others. Inside the directories are files for each pin. Writing to these files has much the same effect as writing to a data direction register, port register, or reading a pin register on a microcontroller.

The board is not yet in production and the github link to his hardware files gives us a 404 error. But there is code available for several software demos. After the break we’ve included video of the phatIO driving a Larson scanner.

Continue reading “PhatIO Uses File System To Control External Hardware”

USB Keyboard Becomes An AVR Programmer

[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.

MSP430 Launchpad Game Of Life Shield

[100uf] built an LED matrix shield for the MSP430 launchpad. His goal with this design was to have it play Conway’s Game of Life. It does just that, as you can see in the clip after the break. But it’s just waiting to learn some more tricks. After he tires of watching the cellular automaton he can try his hand at making some LED pendant animations.

As you can tell, the board was made in his home workshop. It’s not etched, but milled using the CNC machine shown in this image gallery. This is a single-sided PCB, which works well enough for the surface mount components and the downward facing pin sockets. But we wonder how difficult it was to solder the legs of that 8×8 LED matrix. It does have plastic feet at each corner that serve as standoffs to separate the body from the copper layer. But it still looks like a tight space into which he needed to get his iron and some solder.

Continue reading “MSP430 Launchpad Game Of Life Shield”

AVR Minecraft Server Lets You Toggle Pins From The Virtual World

Wanting to test his skills by building a webserver [Cnlohr] decided to also code a Minecraft server which allows him to toggle pins from inside the game. The rows of switches seen above give him direct access to the direction register and I/O pins of one port of the ATmega328.

The server hardware is shown in the image above. It’s hard to tell just from that image, but it’s actually a glass substrate which is [Cnlohr’s] specialty. He uses an ENC424J600 to handle the networking side of things. This chip costs almost twice as much as the microcontroller next to it. But even in single quantities the BOM came in at under $20 for the entire build.

In the video after the break [Cnlohr] and a friend demonstrate the ability for multiple users to log into the Minecraft world. The simulation is fairly bare-bones, but the ability to affect hardware from the game world is more exciting than just pushing 1s and 0s through some twisted pairs.

Continue reading “AVR Minecraft Server Lets You Toggle Pins From The Virtual World”

In-depth Comparison At STM32 F3 And F4 Discovery Boards

The STM32 F3 and F4 Discovery boards have been around for a while now. We’ve looked at both separately and they’re impressive dev boards for the price. Now can get a closer look at each from this in-depth comparison of the two Cortex-M4 development tools.

To start off, both of the boards have the same size and footprint (there are two dual-row pin headers which break out the connections to the ARM chip). Fundamentally the F3 and F4 chips have a different level of features, but the boards themselves are aimed at different applications as well. The F3 series of microcontrollers looks to be more affordable than the F4, containing less program memory, no Ethernet capability, and only one USB port. But both have hardware floating-point abilities and they’re blazing fast. The boards offer a MEMS accelerometer for prototyping. But the Discovery-F3 also contains a gyroscope while the Discovery-F4 provides audio hardware like a microphone, and DAC.

If you want to use a Linux box to develop with these tools you might find this guide helpful.