The updated display (2nd image below) somewhat resembles a word hunter puzzle but it’s actually a compass displaying your orientation using a small film overlay on top of an 8×8 LED matrix. Brilliant! Douglas has been developing this project for a while and you can find this instance of the project here, and the running log of his AVR Compass posts here.
This project demonstrates how to compute a compass heading using a simple three-axis magnetometer and a low-end AVR microcontroller, with an emphasis on keeping code size small.
My demonstration design uses the Adafruit Trinket, which is an extremely inexpensive board based on the ATTiny85 microcontroller. While the ATTiny85 has 8KB of program space, the Trinket bootloader leaves only about 5.5KB of this for the application — and the compass app fits with a bit of room to spare.
Featured Adafruit Products!
Adafruit Trinket – Mini Microcontroller – 3.3V Logic – MicroUSB: Trinket may be small, but do not be fooled by its size! It’s a tiny microcontroller board, built around the Atmel ATtiny85, a little chip with a lot of power. We wanted to design a microcontroller board that was small enough to fit into any project, and low cost enough to use without hesitation. Perfect for when you don’t want to give up your expensive dev-board and you aren’t willing to take apart the project you worked so hard to design. It’s our lowest-cost arduino-IDE programmable board! Read more.
Triple-axis Magnetometer (Compass) Board – HMC5883L: We based this breakout on a popular and well loved magnetometer, the HMC5883L. This compact sensor uses I2C to communicate and its very easy to use. Since it’s a 3.3V max chip, we added circuitry to make it 5V-safe logic and power, for easy use with either 3 or 5V microcontrollers. Simply connect VCC to +3-5V and ground to ground. Then read data from the I2C clock and data pins. Read more.