No gires a la derecha: moniverso

Guía para crear una app en Garmin con Monkey C que muestra tu localidad y el porcentaje de votos de la AfD, optimizando memoria y preparando datos para dispositivo.

18 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

No gires a la derecha: moniverso

Este artículo reúne mis ideas y aprendizajes al desarrollar una pequeña aplicación para ordenadores GPS de bicicleta Garmin y sirve de guía para quien quiera aprender Monkey C y crear apps para dispositivos Garmin. El punto de partida fue un viaje en bicicleta por Alemania desde la frontera con los Países Bajos hasta Polonia, pasando por ciudades hanseáticas, costas y zonas con gran apoyo a la AfD. Mientras pedaleábamos surgió la necesidad práctica de saber rápidamente qué resultados obtuvo la AfD en las elecciones locales sin sacar el móvil ni interrumpir el trayecto.

La solución obvia fue aprovechar los ordenadores GPS para bicicletas: dispositivos que permiten seguimiento de rutas, navegación y la instalación de widgets o aplicaciones. Aquí nació la idea de una app que indique en qué localidad estás y cuál fue el porcentaje de votos de la AfD.

Garmin utiliza Monkey C, un lenguaje propio inspirado en Java, C y Javascript y pensado para entornos de recursos muy limitados. Al principio me sorprendió que Garmin optara por su propio lenguaje, porque complica el crecimiento del ecosistema y hace menos atractiva la creación de apps, aunque tiene argumentos técnicos como consumo de batería y gestión de RAM. La documentación es escasa y la comunidad también, por lo que el desarrollo fue un ejercicio de experimentación entre documentación y trial and error.

Los principales retos técnicos fueron obtener la posición GPS, determinar a qué municipio corresponde esa posición y reducir los datos para que encajaran en la memoria limitada del dispositivo. Inicialmente pensé en cargar polígonos de cada municipio y aplicar ray casting para detectar si las coordenadas estaban dentro de un polígono, pero el archivo era inmenso y el rendimiento preocupante.

La alternativa práctica fue usar una lista de municipios con sus coordenadas y calcular la distancia al punto actual para identificar el municipio más cercano. Para simplificar las operaciones adopté una fórmula euclidiana aproximada sobre latitud y longitud con reducción de precisión en las coordenadas, lo cual resultó suficiente en la mayoría de los casos e hizo viable la ejecución en el simulador del SDK de Garmin usando GPX para pruebas.

La obtención de resultados electorales supuso otro trabajo de limpieza y cruce de datos. Las fuentes oficiales ofrecen resultados por wahlbezirk y no siempre coinciden con los nombres o subdivisiones de las bases de datos de municipios, por lo que fue necesario agrupar, normalizar nombres y corroborar el estado federado para evitar confusiones entre localidades homónimas. Generé finalmente una tabla con cityName, latitud, longitud, población y porcentaje AfD, reduje la precisión y empaqueté la información para que fuese lo más compacta posible y cabiera en memoria.

En Monkey C configuré el acceso GPS con posicionamiento continuo, gestioné eventos de actualización y usé un temporizador que cada pocos segundos compara la posición con la lista de municipios para mostrar al usuario la localidad y el porcentaje de voto. La optimización de memoria incluyó reducir el número de municipios cargados, combinar campos y transformar las coordenadas para ahorrar espacio. La app llegó a funcionar correctamente en el emulador, fue probada por un compañero en Alemania y finalmente aprobada en la tienda de Garmin.

Lecciones aprendidas: Monkey C es factible para proyectos simples pero exige disciplina con la gestión de memoria y mucho trabajo manual por la falta de librerías comunes. Herramientas como el SDK y el emulador son muy útiles, y cuando hay que procesar datos complejos es práctico complementar con scripts en Python para limpieza y preparación antes de empaquetar los datos para el dispositivo.

Si te interesa desarrollar soluciones similares o necesitas desarrollar una aplicación a medida para otro hardware o plataforma, en Q2BSTUDIO ofrecemos servicios de desarrollo de aplicaciones y software a medida adaptados a limitaciones de dispositivos, optimización de recursos y experiencia de usuario. Contamos con experiencia en inteligencia artificial y podemos ayudarte a incorporar modelos para enriquecer apps con información contextual en tiempo real, ver más sobre nuestra oferta de desarrollo de aplicaciones a medida y software multiplataforma.

Además, Q2BSTUDIO es especialista en soluciones de inteligencia artificial para empresas, agentes IA y proyectos de automatización que integran datos, modelos y experiencia para ofrecer valor operativo. Si buscas transformar datos electorales, geoespaciales o de sensores en información accionable podemos diseñar pipelines, modelos y visualizaciones con herramientas como Power BI dentro de servicios de inteligencia de negocio. Conoce nuestras capacidades en inteligencia artificial en la página de inteligencia artificial.

Ofrecemos también servicios de ciberseguridad y pentesting para garantizar que las aplicaciones y servicios cloud sean seguros, y despliegues y operaciones en servicios cloud aws y azure gestionados para escalabilidad y resiliencia. Frases clave en las que podemos ayudarte incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Si te interesan proyectos donde la eficiencia, la seguridad y la inteligencia de datos marcan la diferencia, Q2BSTUDIO puede acompañarte desde la idea hasta el despliegue y la monitorización. El desarrollo de esta app me enseñó que resolver problemas reales requiere combinar ingeniería de datos, optimización en entornos limitados y una visión clara de producto, competencias que ponemos a disposición de nuestros clientes.

Resumen práctico: para crear apps en plataformas cerradas valora el tamaño de datos, la complejidad del algoritmo espacial y el ciclo de pruebas en emuladores. Si prefieres delegar el desarrollo o acelerar la creación de un producto con experiencia profesional en software a medida, inteligencia artificial y ciberseguridad, ponte en contacto con Q2BSTUDIO y trabajemos juntos en tu próximo proyecto.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat