DIY Projects

Weekend Build: A Pocket GPS Compass on the Feather RP2350

Got a free Saturday and a soldering iron warming up? A handheld GPS compass is the kind of build you can start after breakfast and have blinking on your desk by dinner. Noe and Pedro showed one off on a recent 3D Hangouts stream, and it is a perfect weekend-sized project: small enough to finish in a sitting, but meaty enough to teach you something real about sensors and navigation.

What you are building

The idea is simple and surprisingly handy. A pocket-sized gadget reads your position from a GPS module, figures out which direction you are facing using a 9-axis motion sensor, and draws a live compass on a bright color screen. Point it at the horizon and it tells you where north is, how fast you are moving, and where you are on the planet. Drop it in a project box and you have a trail gadget, a geocaching helper, or just a satisfying thing to wave around the backyard.

The parts that actually go into it

This build leans on the Adafruit Feather ecosystem, which keeps the wiring almost nonexistent thanks to stacking FeatherWings. The core ingredients:

  • An Adafruit Feather RP2350 with 8MB PSRAM as the brain — plenty of headroom for graphics.
  • An Adafruit PA1010D GPS module for position and speed over I2C.
  • An LSM6DSOX + LIS3MDL 9-DoF IMU — the magnetometer is what gives you the actual heading.
  • An Adafruit 3.5″ TFT FeatherWing V2 to draw the compass dial.

Because everything talks I2C and the FeatherWing stacks right onto the board, you can have the hardware assembled before your coffee goes cold. The fiddly part is calibrating the magnetometer, not the soldering.

Parts and cost reality

Budget somewhere in the region of a nice dinner out rather than a single jellybean part — the GPS, the 9-DoF IMU, and the 3.5″ display are each their own line item, and the RP2350 Feather sits on top of that. None of it is exotic, though, and every piece is reusable in your next project. If you already own a Feather and a screen, you are mostly shopping for the GPS and the IMU.

Spend your Sunday on this

If Saturday is for assembly, Sunday is for the fun part: tilt-compensating the heading so the needle stays steady when the board is not perfectly flat, then dressing up the dial with smooth graphics. Get the calibration right and you end up with a gadget that genuinely points the way — and a much better feel for how GPS and magnetometers work together. Not a bad way to spend a weekend.

Frequently Asked Questions

How does the gadget know which direction it is facing?

The GPS module gives you position and speed, but heading comes from the LSM6DSOX + LIS3MDL 9-DoF IMU. The LIS3MDL magnetometer measures Earth’s magnetic field, and once it is calibrated you can compute a compass bearing, optionally tilt-compensated using the accelerometer so it stays accurate when the board is not held flat.

What parts do I need and roughly how involved is the build?

The core is an Adafruit Feather RP2350 (8MB PSRAM), a PA1010D GPS, an LSM6DSOX + LIS3MDL 9-DoF IMU, and a 3.5-inch TFT FeatherWing V2. Everything communicates over I2C and the FeatherWing stacks onto the Feather, so assembly is mostly stacking and a little soldering. The trickiest step is calibrating the magnetometer, not the wiring.

What will I learn if I build this?

You will get hands-on practice reading GPS data over I2C, parsing position and speed, and fusing accelerometer and magnetometer readings into a stable heading. You will also pick up magnetometer calibration, tilt compensation, and drawing a real-time graphical interface on a TFT display, all transferable skills for navigation, robotics, and wearable projects.

This article was inspired by reporting from Adafruit 3D Printing. Find the parts and modules to build it at Circuitrocks.

// written by Ann Arandia

Ann Arandia covers community projects and maker events for the Circuitrocks blog. She writes about local workshops, kid-friendly electronics, and the Philippine maker scene — the people, the meet-ups, the projects that come out of them.