Today we play around with the latest USB POV Toy hardware and firmware. The POV Toy is a persistence of vision (not division…) device, but we added some special features. First, a USB connection makes it effortless to upload new patterns. Second, an inexpensive accelerometer actively detects the waving motion and syncs the pattern.
We had problems soldering the LGA-packaged MMA7455 accelerometer on the latest prototype, it’s a tiny chip without any exposed leads at all. Pietja came to the rescue and soldered 4 of them for us. More on that later. If you want to try this chip without soldering the tiny package, we have a breakout board available for $15.
The MMA7455 accelerometer reading is way off before its calibrated. When the board sits flat and level the X axis should read close to 0x00 (0xFE 0xFF 0x00 0x01 0x02 are all ok), instead it’s closer to 0xE0. Each chip is different, so we’ll build a level test rig and make calibration part of the manufacturing test process.
Calibration is triggered by typing ‘c’ into a serial terminal connected to the POV Toy’s USB port. The PIC measures the offset, configures the accelerometer, and then saves the offset to an EEPROM. Now the correct offset will be loaded every time the POV starts. Here’s the commands supported so far:
- c – run calibration. Returns the calibration value
- x – measure the x axis. Should be around 0x00 after calibration
- t – self test. Lights the LEDs and returns the calibration value
With calibration the POV Toy is working much better, but the timing and sensitivity need a bit of tweaking before it’s ready for release. Look for more updates soon.
Next week we’ll be back with an overview of the open source USB stack, or maybe a tutorial on talking to projects from a serial terminal. It really depends on what we can put together before Bay Area Maker Faire next week. If you’re there be sure to stop by, and bring something to show and tell.