Making a Digital Compass With Shake to Wake

by Ethan Searls in Circuits > Gadgets

208 Views, 6 Favorites, 0 Comments

Making a Digital Compass With Shake to Wake

IMG_8866.JPEG

This is an easy to use self calibrating digital compass that will automatically power down and wake when lifted. It incorporates a circular display with a spinning indicator for north and south.

Supplies

Hardware

Required

  1. Seeed Studios Xiao rp2350 microcontroller
  2. Adafruit BNO055 orientation sensor
  3. GC9A01A Round display
  4. Case (files included)

Optional

  1. NPN transister


Software

  1. Arduino IDE

3D Modelling the Components

Exploded components.JPG
compass render.PNG

The first step towards making this compass real was rough modelling each of the components in Fusion 360 and designing a case to hold them all together.

3D Print the Case

Since I've already modelled the parts I've included a link for the case STL files, or just download right from instructables! https://www.printables.com/model/1541896-digital-compass-case

This just needs to be printed and you're good to go!

Soldering the Components

diagram.JPG
IMG_8853.JPEG
IMG_8856.JPEG
IMG_8861.JPEG
IMG_8862.JPEG

Following the attached schematic attempt to compactly solder all the components together.

Assemble

IMG_8863.JPEG
IMG_8865.JPEG

Fold up the electronic so they fit in the body, then simply press on the cover, making sure the LCD is aligned, you may need to use fine tweezers if it's slightly offset.

Upload the Program

calibration.JPG

If your compass is slightly offset you can adjust that before uploading the program. Otherwise just download the attached firmware, compile, and flash!

Done!

IMG_8867.JPEG
IMG_8866.JPEG

You should now have a working digital compass! move it in a figure eight to calibrate the sensor then give it a spin and watch the dial track north! Then watch as it automatically powers down after nine seconds then wakes up as you lift it!