Crea un GPS para bicicleta casero que no necesita conexión a internet ni datos externos con una placa ESP32-S3 AMOLED de solo 40 euros

GPS casero creado con una placa ESP32-S3 AMOLED
GPS casero creado con una placa ESP32-S3 AMOLEDMontaje / Shubham Gupta - YouTube 
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

El dispositivo, con pantalla AMOLED de 1.75 pulgadas, puede mostrar la posición sobre un mapa de OpenStreetMap sin depender de un móvil, una red WiFi o una conexión a internet.

Los GPS para bicicleta suelen depender de un móvil para mostrar mapas y calcular rutas, pero cuando desaparece la cobertura, se deja de tener acceso a mucha de la información que se necesita.  

Aunque el GPS del móvil puede seguir funcionando, la cartografía y muchos servicios asociados dependen de una conexión externa, por lo cual te podrías quedar a ciegas en una zona desconocida.

Shubham Gupta decidió buscar una alternativa diferente y, en lugar de utilizar un smartphone o comprar un dispositivo especializado, creó su propio sistema de navegación utilizando una pequeña placa de desarrollo de unos 40 euros. 

El resultado fue un GPS capaz de mostrar mapas sin conexión, conocer la ubicación del usuario en todo momento y actualizar la posición mientras se desplazaba.

Cabe señalar que el proyecto todavía está en desarrollo y no pretende sustituir a un navegador comercial, pero demuestra que se puede crear uno propio sin muchos recursos y pocos componentes.

Una placa ESP32-S3 convertida en un navegador GPS independiente

GPS casero
GPS casero

La base del proyecto es una placa Waveshare ESP32-S3-Touch-AMOLED-1.75, un pequeño dispositivo que reúne varios componentes necesarios para crear un sistema de navegación compacto. 

En su interior incorpora un procesador ESP32-S3 N16R8, junto con 16 MB de memoria flash y 8 MB de PSRAM.

También cuenta con una pantalla AMOLED táctil circular de 1,75 pulgadas, receptor GPS, así como una ranura para utilizar tarjetas microSD donde almacenar los mapas. 

Gracias a que la propia placa integra buena parte del hardware necesario, el coste total del proyecto se mantiene alrededor de los 40 euros. Gupta compartió el desarrollo en Reddit mientras trabajaba en un ordenador de navegación pensado inicialmente para su moto. 

Según explicó, buscaba una solución más económica que los navegadores comerciales o el GPS de los móviles, y que además pudiera funcionar sin depender de una conexión permanente.  

El GPS no necesita internet: los mapas ya están dentro del dispositivo

Muchas personas relacionan los navegadores GPS con internet porque aplicaciones como Google Maps descargan constantemente información desde la red, pero la posición por satélite funciona de otra manera.

El receptor GPS obtiene la ubicación directamente desde los satélites. Lo que normalmente necesita internet es la descarga de los mapas y otros servicios adicionales. 

Por ello, Gupta solucionó ese problema preparando la cartografía antes de salir de ruta y almacenándola dentro de una tarjeta microSD. Para ello utilizó mapas procedentes de OpenStreetMap. 

El sistema divide la zona seleccionada en pequeñas imágenes de 256 × 256 píxeles, que después son transformadas mediante un script escrito en Python a un formato más ligero llamado RGB565. De esta forma, la placa puede manejar la información con sus recursos limitados.

Cuando el usuario se mueve, el sistema consulta la ubicación recibida por GPS, busca las imágenes necesarias dentro de la tarjeta y construye el mapa que aparece en pantalla. 

Por si fuera poco, el punto que representa al ciclista en el mapa permanece en una posición fija mientras la cartografía se desplaza alrededor. Todo sin requerir de una conexión a internet.

El mayor reto fue conseguir que el mapa se moviera con fluidez

Es importante mencionar que la parte más complicada del proyecto no fue recibir la señal GPS, sino conseguir que un microcontrolador pequeño pudiera mover mapas de forma suficientemente rápida.

Shubham Gupta probó inicialmente diferentes sistemas gráficos como Slint y LVGL, pero el rendimiento no era suficiente para una navegación cómoda. 

En sus pruebas, Slint alcanzaba aproximadamente 5 fotogramas por segundo, mientras que LVGL se quedaba alrededor de 4 fps, por lo que la solución fue simplificar el proceso. 

Así que, en lugar de utilizar una interfaz gráfica completa, decidió dibujar directamente sobre un búfer de imagen y enviar la información a la pantalla mediante la función esp_lcd_panel_draw_bitmap.

Con este cambio logró mejorar considerablemente el rendimiento, donde el sistema alcanza unos 18 fps cuando el mapa se desplaza durante el movimiento y puede llegar aproximadamente a 44 fps cuando la imagen permanece fija.

Gupta todavía tiene trabajo por delante para convertirlo en un navegador completo, debido a que el dispositivo necesita funciones como cálculo de rutas o indicaciones de voz, aunque el creador plantea que el audio podría enviarse mediante Bluetooth a un intercomunicador del casco para evitar problemas con el ruido exterior.

El valor del proyecto no está únicamente en crear un GPS barato, sino en demostrar que una placa de apenas 40 euros puede realizar tareas que hace unos años parecían reservadas para dispositivos mucho más avanzados. 

Con mapas preparados previamente y un software optimizado, un pequeño microcontrolador puede convertirse en una herramienta útil para quienes necesitan navegación incluso cuando no hay conexión disponible.

Más información sobre: