Creating a dual-mode compass with Arduino and NeoPixels

With the push of a button on this DIY compass, a user can select between north tracking and heading indicator modes.

After coming across a video of fellow Maker David Ratliff’s NeoPixel compass project on YouTube, Philo Mech had wanted to create a dual-mode one of his own for quite some time.


The compass is comprised of a 12-LED NeoPixel ring (which will be swapped out for 16-LED in the next iteration) along with an Arduino Pro Mini (ATmega328) that drives an accelerometer/magnetometer breakout board, and a momentary pushbutton tasked with shifting between both modes. Meanwhile, the device supports 5V voltage regulation circuitry for managing the Pro Mini and NeoPixel ring.


This current version boasts two very useful modes: one to track the whereabouts of north, the other to determine the direction that the user is heading. When in the first mode, north is indicated by a red LED sandwiched between two yellow lights. As the Maker demonstrates in his video, it should match up fairly well to a standard compass arrow. While the range of degrees is not yet perfect, Philo Mech admits, it is still fairly close. The latter mode, which perhaps is a bit more helpful, reveals a different splash background with a red light denoting the cardinal direction that the user is going.

As the Maker reveals, future models will not only employ a 16-pixel ring but will also provide finer degrees of directional change and better compensate for tilting. In the meantime, you can see it in action below.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s