Wireless armband gesture-based controller

Final video demonstration of the wireless armband gesture controller (Despite the short hair that IS me in the video)

Project Summary:

Developed a wearable device that used body movements to wirelessly control some simple video games. The armband consisted of two EMGs (muscle sensors), an accelerometer, a flex sensor, and a TI CC1101 Microcontroller. The CC430 is an MSP430 with a TI CC1101 RF module included on the chip. The armband communicated with another CC430 that was connected to a Xilinx ARM-based platform running a real-time Linux distro. Actions from the armband were translated into computer controls that were used to control Tetris, Asteroids, and a simple platformer.

Intro and Background:

The project was part of the Embedded System Design senior design course at UW – Madison. Teams of 4 were tasked with proposing an original project and carrying out the full design and prototype development. There were a couple limited requirements; each team had to use the Zedboard running real-time Linux, incorporate the on-board Zedboard FPGA, and design an external PCB in Altium.

Our team chose to design a wearable armband that could be used to control video games running on the Zedboard.

Technical Highlights:

Armband:

The armband contained all of the sensors used for controls. Challenges included wireless communication, EMG placement, and battery powered operation.

2-channel EMG circuit

2 generic analog sensor inputs

Consisted of variable voltage divider connected to an amplifier with variable gain. This allowed for any generic sensor that output a voltage to be used.

For our demonstration we used a simple flex-sensitive resistor.

3-axis accelerometer

Altium schematic and PCB design

PCB antenna

UART to USB serial interface for debugging

CC430

Battery powered

Mezzanine Board:

The mezzanine board received the wireless communication from the armband and transmitted it via SPI to the Zedboard.

Altium schematic and PCB design

PCB antenna

CC430

SPI interface to zedboard

UART to USB serial interface for debugging

Zeboard:

The Zedboard is a development kit for the Xilinx Zynq-7000 SoC. The Zynq chip itself contains a dual-core Arm processor, multiple communication interfaces, and an on-chip FPGA.