EdgeWave 2

May 2008
electronics prototyping, Arduino, accelerometer, sound feedback, ZigBee, power stabilization, power conversion, battery power, custom circuitry, PCB design, Processing visualization

Following EdgeWave, EdgeWave 2 is a follow-up project to implement the same hardware idea with a custom Printed Circuit board instead of breadboard that I used in EdgeWave, having a smaller footprint and using radio communications instead of a serial cable, to give the user a greater freedom of motion.

EdgeWave 2 contains three main Integrated Circuits: Atmel Atmega168 microcontroller, the XBee chip for wireless communication, and a 3D accelerometer. They are supported by switches, a piezo speaker for audio feedback and LED-s for visual feedback.

Hardware bugs with capacitive touch charge-pump sensor forced me to abandon the original idea of running the same EdgeWrite detection code as EdgeWave. Instead, the device simply broadcasts the calibrated 3D accelerometer readings continuously over the radio link to the computer unit. The latter is a simple XBee-to-USB bridge without a microcontroller, and passes the XBee signals on to the computer over the serial connection. The computer runs a simple visualizer in Processing that displays the "shake factor" of the accelerometer, i.e the greatest acceleration in any direction visualized across time.

One of the most interesting parts of this project was power management. In the mobile unit (containing all three IC-s), everything is powered by a pair of 1.5V AAA batteries, yielding 3V voltage without the need for conversion of any sort. In the computer bridge, 5V USB power is converted to 3.3V required by the Xbee chip using an adjustable voltage regulator and the supporting circuitry.

The accelerometer is connected to the rest of the circuitry with a ribbon cable, enabling a cleaner hardware solution than 6 twisted cables would be (the accelerometer needs 6 connections in its SPI mode). This lets the user e.g wear the mobile unit attached to their wrist, while the accelerometer can be attached to the finger to capture the most minute finger movements.

Arduino code (in addition to references given in the code, uses accelerometer and SPI code by Troy Nachtigall)

Processing visualizer code

EdgeWave 2 mobile unit with the microcontroller and XBee chips on the PCB, and accelerometer at the end of the ribbon cable

EdgeWave 2 mobile unit with the microcontroller and XBee chips on the PCB, and accelerometer at the end of the ribbon cable.

EdgeWave 2 mobile unit. Closeup of the PCB with microcontroller and XBee radio chip, together with the piezo buzzer, LED-s and supporting components (resistors, capacitors etc)

EdgeWave 2 mobile unit. Closeup of the PCB with microcontroller and XBee radio chip, together with the piezo buzzer, LED-s and supporting components (resistors, capacitors etc).

EdgeWave 2 mobile unit. Accelerometer at the end of the ribbon cable

EdgeWave 2 mobile unit. Accelerometer at the end of the ribbon cable.

EdgeWave 2 XBee-to-serial converter, with 5V to 3.3V power conversion circuitry

EdgeWave 2 XBee-to-serial converter, with 5V to 3.3V power conversion circuitry.

EdgeWave 2 XBee-to-serial converter, with 5V to 3.3V power conversion circuitry

EdgeWave 2 XBee-to-serial converter, with 5V to 3.3V power conversion circuitry.

Schematics part 1

Schematics part 2

EdgeWave2 circuit board components placement and traces