For rendering maps, I am using Mapsforge maps. It's very lightweight and mainly designed for GPS systems.
I'm using Rust, both for fun and memory safety.
Since there are no libraries available to parse Mapsforge binary data in rust, I'll need to create a parser as well.
I built my own GPS tracker for just (22$) after nearly getting lost in the Himalayas last year. A shepherd helped when snow covered the trail during my solo hike.
Basic but works - shows location, altitude, time and satellites. still, lots of work is left, like map navigation