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

  • 0.1.8 Pre-release

    Jordi Gauchía2 days ago 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...

  • Working Hard

    Jordi Gauchía09/30/2024 at 15:01 0 comments

    Hi,

    Support for T-DECK from lilygo is going at a good pace. (taking into account the limitations on my part of not having this board)

    Thanks to hpsaturn We are stabilizing the migration and adding new features, such as battery saving, etc., etc.

    Following the "roadmap" and if everything goes well, I will soon publish a new firmware release with many new features and perhaps a review of the IceNav custom board

    Stay tunned!

  • Future Support - Lilygo T-DECK

    Jordi Gauchía09/24/2024 at 07:00 0 comments

    I’m currently working on providing support for the LilyGo T-DECK.

    Thanks to the immense help of @hpsaturn, a collaborator in my development, we are trying to adapt IceNav to a LilyGo T-DECK.

    Since I don’t physically have the device, the development will take some time.

    Anyway, I will keep updating on the progress both here and on my GitHub.

    Stay tuned!

  • Focus Change

    Jordi Gauchía09/23/2024 at 08:01 0 comments

    Although the purpose of this project was to create my own hardware, I see that there are currently solutions on the market that are perfectly valid for my development to work.

    That’s why, regardless of my desire to design specific hardware, I want to change the focus of the project and provide support for existing hardware. This way, I believe it would be easier for anyone who wants to make use of it.

    Lately, I've realized that this option might help the project reach more people, and who knows, it could end up being used.

    That’s why my intention is to try, as much as possible, to ensure that my project can be used with the maximum number of existing hardware solutions that I believe are valid.

    To achieve all this, it will involve trying to emulate all the possible existing solutions since I don’t have access to all of them.

    Stay tuned!

  • Issues

    Jordi Gauchía09/20/2024 at 09:53 0 comments

    Due to Hackaday problems.... my last project log doesn't have a screenshot for the new feature...

    It's this..

  • Future features

    Jordi Gauchía09/20/2024 at 08:21 0 comments

    As navigation to a waypoint is almost implemented I am working on adding some functionality to the map screen (rendering)

    It is still in the testing phase but it is almost implemented that when a waypoint is loaded to navigate to it, if said waypoint is within the visible and loaded map, a pin appears indicating where it is located.


    Possible next features:

    • Map Scroll
    • Save waypoint when user press a location in map.

  • Future features

    Jordi Gauchía09/20/2024 at 08:20 0 comments

    As navigation to a waypoint is almost implemented I am working on adding some functionality to the map screen (rendering)

    It is still in the testing phase but it is almost implemented that when a waypoint is loaded to navigate to it, if said waypoint is within the visible and loaded map, a pin appears indicating where it is located.

    Possible next features:

    • Map Scroll
    • Save waypoint when user press a location in map.

View all 29 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

Similar Projects

Does this project spark your interest?

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