Close
0%
0%

IceNav

ESP32 Based GPS Navigator with OSM offline maps.

Public Chat
Similar projects worth following
This is a personal project that started a long time ago. The idea is to have a device for recreational use where you can view maps of the current GPS position, record routes, navigate to waypoints, and more.

Currently based on an ESP32, it is still in the development phase. The limited available time and certain "programming skills" are causing this project to remain in development.

History:

This project began more than 10 years ago when I decided to try out a GPS module along with an Atmega328, to understand how it works and to start learning about the world of GPS.

The first setup was very simple, consisting of a GPS, an Atmega328, and a small graphical display.

Step by step, I gained more knowledge in both hardware and programming, and I started adding features such as a graphical display, waypoint navigation, offline maps, and more.

I replaced the Atmega328 with an Atmega644, added an SD card, a compass, and a few other things, and everything was programmed from scratch. The initial project was evolving.

Time went by, but one year this project was left in a drawer and forgotten.

Currently

About a year ago, while talking with some friends, the topic of this project came up, which had been abandoned.

It was the moment to decide to return to it. I had gained more knowledge, and the hardware had evolved significantly over the past 10 years. The emergence of other microcontrollers, like the ESP32 (which I was already using in other projects), presented a new challenge for me.

With this, I rewrote all the code from scratch, and feeling motivated, I decided to publish the progress on GitHub.

The result today is what you can see on GitHub and on the current screenshots.

Currently, IceNav has the following hardware specifications:

  • ESP32 / ESP32S3 (better with PSRAM)
  • 320x480 or 320x240 TFT Colour with touch support (SPI / 16Bit Mode)
  • Compass
  • SD Card

There is still much to develop and features to add, as everything had to be programmed from scratch and the previous work was not usable.

This project is in constant development, with new features being added gradually. The new platform, ESP, allows for many new capabilities, being both efficient and practical.

The project, being in constant development, may have some bugs, etc., which are resolved as they are detected.

Please , visit GitHub Repository for updates

  • 1 × ESP32S3 N16R8
  • 1 × Compass Module (HMC5883L , QMC5883, ...)
  • 1 × ILI9488 320x480 TFT with touch (I2C or SPI)
  • 1 × Any GPS Module (For example AT6558D)
  • 1 × BME280

  • Preparing a new release

    Jordi Gauchía2 hours ago 0 comments

    If all goes well, I'll be releasing a new version soon. Here's a short video showing vector map rendering in a custom format.


    Enjoy it!

  • Next Release ( LilyGo T4-S3 support and more... )

    Jordi Gauchía12/13/2025 at 21:36 0 comments

    It's been a while since I updated the project status, but that doesn't mean I haven't been working. For the next release, support for @LILYGO T4-S3 will be 100% implemented. There will probably be some small adjustments needed, but it is already functional.

    On the other hand, a new proprietary vector map format has been optimized and generated using the new GOL format (https://docs.geodesk.com/core-concepts), and a new repository has also been created with everything needed to generate these maps: https://github.com/jgauchia/Tile-Generator

    With all this and a few other things (bug fixes, optimizations, etc...), I hope to launch a new release by the beginning of next 2026.

    Stay tuned and keep following the progress in the GitHub repository.

  • Future features

    Jordi Gauchía07/04/2025 at 21:47 0 comments

    It's been a long time since the project log was last updated. I'm currently working on new features that I hope to include in an upcoming release soon.

    Support for the @LILYGO T4-S3 is still underway. I'm gradually adapting the UI to this AMOLED display, which truly has a lot of potential.

    On the other hand, I'm working on a turn-by-turn navigation system (still quite basic and rough). The idea is to use it for outdoor sports and similar activities. There's still a lot to fine-tune and countless tests to run, but it's starting to look promising.

    Stay tuned! and visit the project’s GitHub repository to keep up with the latest updates.

  • T4-S3 Support

    Jordi Gauchía04/25/2025 at 18:54 0 comments

    Well, it's been a while and I'm back up and running.
    This time with the first tests to support the T4-S3 from @LILYGO .

    There is still much to do but it is already a first step thanks to LovyanGfx library for bring support for QSPI AMOLED screen.


    On the other hand, a new release is being prepared with some improvements such as:

    • Import GPX tracks files and display in map
    • Possibility to pan map screen
    • etc..

    Stay tuned!

  • New board has arrived!!

    Jordi Gauchía12/30/2024 at 14:44 0 comments

    Well, new board has arrived .

    New challenge for the project, give support for LilyGo T4-S3 board.

    ImagenAn AMOLED ESP32S3 16Mb Flash and 8Mb PSRAM, 450x600 screen resolution...., really it's very cool!!

    First of all, try to support this board in LovyanGFX . This screen has a QSPI interface , and , well, maybe it will so difficult, but not impossible!

    Stay tunned! 

  • New boards support

    Jordi Gauchía12/27/2024 at 07:33 0 comments

    These days I’ve been receiving requests to support boards already available on the market to make IceNav compatible... If all goes well, I’ll soon provide support for the LilyGo T4-S3. This is a challenge since IceNav currently relies on a graphics library that apparently doesn’t support this type of AMOLED screen, but as they say, 'nothing is impossible.' ... Soon, if everything goes smoothly, I’ll be updating you on the progress. 

    Stay tunned.

  • 0.1.8 Pre-release

    Jordi Gauchía11/13/2024 at 14:57 0 comments

    After several months of code corrections, optimization, etc., the master branch of the repository has been synchronized with the devel branch. It is not yet a final release, but if all goes well, it will be available before the end of the year.

    Those who have forked or looked at the master branch will see that there are quite a few changes.

    You will be able to see all the changes, etc... in the logs

  • First tests with LiLyGo T-DECK

    Jordi Gauchía10/27/2024 at 16:50 0 comments

    Thanks to the help from @hpsaturn , the first field tests have already been carried out with a LilyGo T-DECK. There are still some small bugs and adjustments to be made, but it is almost 100% functional.

    Here you have a short video of the result.


  • Support for LiLygo T-DECK

    Jordi Gauchía10/16/2024 at 11:32 0 comments

    Hardware support for LiLygo t-deck board is full implemented.

    It is not yet published as a release, since at the firmware level some screens need to be adjusted, etc., to make it 100% functional at the user experience level.

    All these changes will most likely be applied in the next release.

    Stay tuned!

  • New PCB

    Jordi Gauchía10/16/2024 at 11:27 0 comments

    These weeks I have been working on a revision of the IceNav PCB

    The idea is to minimize as much as possible and use TFT in parallel mode and not SPI in order to obtain maximum performance at the graphic level.

    The PCB design is ready, but it remains to be seen whether the appropriate tests can be carried out and whether a good enough design can finally be achieved.

    Until we have a physical PCB and can perform the corresponding tests, the PCB design would be something like this:

    This is a first revision, the idea is to be able to integrate modules such as battery charging, sensors, etc... without using existing modules, but I think it's a good start...

View all 35 project logs

  • 1
    Project Build

    Read README.MD from GithHub Repository. It explains how maps are generated, build information, and more.

View all instructions

Enjoy this project?

Share

Discussions

Does this project spark your interest?

Become a member to follow this project and never miss any updates