Arduino, Inteligencia Artificial y el futuro del aprendizaje de la electrónica

La llegada de la Inteligencia Artificial ha cambiado completamente las reglas del juego. Hoy en día cualquier persona puede describir un proyecto a una IA y obtener en segundos un programa completo, esquemas de conexión e incluso explicaciones detalladas. Sin embargo, La Inteligencia Artificial puede escribir código, pero que no puede hacer es sustituir el conocimiento.

En este artículo se muestra un kit de aprendizaje de Arduino, acompañado por 16 módulos y sensores diferentes completamente integrados en una única plataforma. Con este kit no hay que cablear, no hay que soldar, no hay que buscar componentes y no hay que montar circuitos. Simplemente conectamos el cable USB incluido a nuestro PC, abrimos el entorno de programación de Arduino, y podemos empezar a experimentar inmediatamente.

La electrónica y RRSS en el siglo XXI

Vivimos en una época en la que muchas veces resulta más barato comprar un aparato nuevo que reparar uno averiado. Sin embargo, si todos actuamos únicamente pensando en el coste económico inmediato, acabaremos generando cantidades enormes de residuos electrónicos que después son difíciles y costosos de reciclar.

Aprender electrónica no sólo sirve para construir cosas nuevas. También sirve para comprender cómo funcionan los dispositivos que utilizamos cada día y para darles una segunda vida cuando es posible.

Durante todos estos años he publicado numerosos proyectos basados en microcontroladores. Siempre he compartido los esquemas y el código fuente para que cualquiera pudiera utilizarlos como punto de partida para sus propios desarrollos.

Sin embargo, con el paso del tiempo observé algo curioso: muchas personas no utilizaban esos proyectos para aprender cómo funcionaban. Simplemente copiaban exactamente el mismo montaje y después pedían en los comentarios modificaciones específicas adaptadas a sus necesidades particulares.

Y ahí aparecía un problema: yo comparto los proyectos para fomentar el aprendizaje, no para realizar desarrollos personalizados de forma gratuita. Mi intención siempre ha sido proporcionar herramientas para que cada uno pueda crear sus propias soluciones.

Inteligencia Artificial (IA)

La llegada de la Inteligencia Artificial ha cambiado completamente las reglas del juego. Hoy en día cualquier persona puede describir un proyecto a una IA y obtener en segundos un programa completo, esquemas de conexión e incluso explicaciones detalladas.

Desde ese punto de vista, ya no tiene mucho sentido dedicar semanas a desarrollar y grabar un proyecto específico para después publicar el código, porque la IA puede generar una solución adaptada exactamente a las necesidades de cada usuario.

Sin embargo, después de reflexionar bastante sobre ello, he llegado a una conclusión importante. La Inteligencia Artificial puede escribir código. Lo que no puede hacer es sustituir el conocimiento.

Si no entiendes la electrónica ni la programación, tampoco podrás saber si el código que te ha proporcionado la IA es correcto, si contiene errores, si está optimizado o si puede provocar comportamientos inesperados. La IA es una herramienta extraordinaria, pero sigue siendo necesario comprender los fundamentos.

Evolución de la electrónica

Cuando yo empecé a aprender electrónica, las prácticas eran muy diferentes a las actuales. Había que utilizar soldadores, placas de prototipos, cables, resistencias y multitud de componentes. En algunos centros de formación donde trabajé se utilizaban entrenadores didácticos fabricados sobre paneles aislantes que permitían realizar conexiones mediante cables banana para reproducir montajes reales.

Aquellos sistemas eran muy útiles porque permitían llevar la teoría a la práctica. Sin embargo, también requerían tiempo, material y experiencia.

Maletín entrenador de ELECROW

Lo primero que me llamó la atención del maletín entrenador de ELECROW, es que elimina prácticamente todas esas barreras. Aquí encontramos un Arduino Nano R4 acompañado por 16 módulos y sensores diferentes completamente integrados en una única plataforma.

  • No hay que cablear.
  • No hay que soldar.
  • No hay que buscar componentes.
  • No hay que montar circuitos.

Simplemente conectamos el cable USB incluido al ordenador, abrimos el entorno de programación y podemos empezar a experimentar inmediatamente.

Y esto tiene una ventaja enorme: el alumno puede concentrarse en comprender la programación y el funcionamiento de los sensores sin perder tiempo resolviendo problemas de cableado o montaje.

Entre los módulos incluidos encontramos LEDs, pulsadores, sensor ultrasónico, sensor PIR, servo, relé, zumbador, potenciómetro lineal y muchos otros elementos que permiten desarrollar una gran variedad de prácticas. Todo ello utilizando exactamente el mismo hardware.

Kit ELECROW:All-in-one Starter Kit for Arduino NANO R4 with 20 lessons and 16 modules

Manual:User_Manual_for_All-in-one_Kit_for_Arduino_Nano_R4

Manual traducido al Español

Github link:All-in-one-Starter-Kit-for-Arduino-Nano-R4

Conclusión

Desde el punto de vista educativo, creo que aquí está el verdadero valor de este producto.

  • Permite experimentar.
  • Permite equivocarse.
  • Permite probar ideas nuevas.
  • Y permite aprender de forma práctica desde el primer momento.

Después de probar este maletín , creo que su mayor potencial no está únicamente en los aficionados a la electrónica. Su verdadero potencial está en la enseñanza.

Un adolescente que disponga únicamente de un ordenador puede empezar a aprender programación, robótica y electrónica sin necesidad de herramientas adicionales.

Y lo más importante: puede hacerlo experimentando.

  • La Inteligencia Artificial puede ayudarte a escribir código.
  • Puede explicarte conceptos.
  • Puede resolver dudas.

Pero el aprendizaje real aparece cuando ejecutas ese código, observas el resultado, detectas errores y comprendes por qué las cosas funcionan.

Este tipo de entrenadores permiten precisamente eso. Transforman la teoría en algo tangible. Por eso considero que herramientas como ésta pueden convertirse en un excelente complemento para aprender electrónica y programación en una época en la que la Inteligencia Artificial está cambiando la forma en que trabajamos y aprendemos.

La IA puede generar el programa. Pero entenderlo sigue siendo responsabilidad nuestra. Y ahí es donde comienza el verdadero aprendizaje.

ESP_NTP_Weather (v1.14) & Timestamp UNIX

Actualización del firmware de la miniestación meteorológica, añadiendo la previsión del tiempo y salida/puesta del sol. El firmware puede compilarse tanto para ESP8266 como para ESP32 utilizando el IDE de Arduino. Incluye autodetección de librerías y configuración automática según el microcontrolador. Explicación del tiempo UNIX, Epoch y timestamp. Funcionamiento del protocolo NTP y problema del año 2038 (Y2038).

Estación Meteorológica NTP con ESP: reloj sincronizado por NTP y estado del tiempo local

Origen de los servidores horarios y el tiempo UNIX

En los sistemas informáticos y de telecomunicaciones, mantener la coherencia temporal entre dispositivos distribuidos geográficamente es esencial. Desde los años 60, con la expansión de redes y sistemas electrónicos interconectados, surgió la necesidad de una referencia temporal común y precisa.

Para resolver este problema se estableció el Tiempo Universal Coordinado (UTC) y se creó el concepto de epoch UNIX, una referencia absoluta desde la cual se mide el tiempo en segundos.

El epoch UNIX comienza el 1 de enero de 1970 a las 00:00:00 UTC. Desde ese momento, el tiempo se mide como el número de segundos transcurridos, conocido como timestamp UNIX.

Por ejemplo:

1700000000 (timestamp UNIX) → 14/11/2023 06:13:20 UTC

Este formato simplifica el cálculo de diferencias horarias, conversiones y sincronizaciones entre sistemas. Es utilizado por la mayoría de los sistemas operativos modernos, bases de datos y servidores.

El NTP (Network Time Protocol) fue desarrollado en 1985 por David Lennox Mills. Es un protocolo que permite sincronizar los relojes de los dispositivos conectados a Internet con una precisión de milisegundos, consultando servidores jerárquicos (llamados stratum). Los servidores NTP de alto nivel (stratum 1) están directamente conectados a relojes atómicos o señales GPS.

Un esquema simplificado del funcionamiento de NTP sería:

Los microcontroladores (ESP32, ESP8266) utilizan esta infraestructura para sincronizar su hora local mediante bibliotecas que interpretan y corrigen el timestamp UNIX recibido.

La conversión entre UTC y hora local depende del desplazamiento horario y de la aplicación de horario de verano. El desplazamiento se expresa en segundos (por ejemplo, +3600 segundos para UTC+1).

localTime = utcTime + timezoneShift;

Problema del año 2038 (Y2038)

El problema del año 2038 (Y2038) es un fallo de desbordamiento de la representación de tiempo en sistemas que almacenan la marca temporal (timestamp) como un entero con signo de 32 bits que cuenta los segundos desde el 1 de enero de 1970 00:00:00 UTC (tiempo Unix). Este entero alcanzará su valor máximo el 19 de enero de 2038 a las 03:14:07 UTC. Un segundo después, el valor se desbordará y provocará comportamientos erróneos en sistemas que no gestionen correctamente el desbordamiento.

Causa del problema

El tipo de dato ‘time_t’ se utiliza ampliamente en sistemas Unix y en lenguajes como C y C++ para representar tiempos. En arquitecturas de 32 bits, ‘time_t’ se implementa como un entero con signo de 32 bits, cuyo rango es de -2.147.483.648 a 2.147.483.647. Este último valor corresponde exactamente al 19 de enero de 2038 a las 03:14:07 UTC. Al sumarse un segundo más, el valor se desborda y se convierte en negativo, lo que produce fechas incorrectas (por ejemplo, en 1901) o fallos del sistema.

Escenarios de fallo típicos

  1. Logging: marcas de tiempo incorrectas en los registros.
  2. Expiración de credenciales o tokens errónea.
  3. Jobs programados que fallan o se ejecutan en el pasado.
  4. Bases de datos con índices temporales incorrectos.
  5. Dispositivos embebidos en bucles de reinicio por errores de tiempo.

ESP_NTP_Weather (v1.14)

En esta actualización se ha priorizado el mantener la compatibilidad con el ES8266, teniendo que realizar algunos procesos mucho más elaborados de los que se requieren con el ESP32. Aunque el ESP32 puede manejar JSON completos con facilidad, el objetivo del proyecto era mantener compatibilidad total con ESP8266.

El ESP8266 tiene una memoria RAM reducida (≈40 KB disponibles), lo que impedía almacenar la respuesta JSON completa del forecast, que supera fácilmente los 15–25 KB.

Problemas detectados:

  • Fragmentación del buffer al intentar usar ArduinoJson.
  • Reinicios por Watchdog al manipular cadenas grandes.
  • Pérdida de datos cuando el parsing se hacía de forma secuencial.

Solución:

La solución que adopté al final fue realizar la lectura por streaming, procesando el JSON “en bruto” mediante búsqueda de fragmentos relevantes con indexOf() y extracción manual. Con este método se redujo en gran medida el uso de memoria, pero a cambio este método requiere una lógica mucho más precisa y sensible a errores. Utilicé un sistema de ventanas dinámicas, relocalizando la búsqueda y “recortando” el buffer cuando superaba cierto tamaño, manteniendo solo la región útil y sincronizando la búsqueda, usando el campo dt_txt como “ancla”.

Utilizando ‘OpenWeatherMap’


Descargar el firmware

Puedes descargar de forma gratuita el firmware, accediendo al siguiente enlace: ESP_WeatherClock_NTP

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

https://pcbway.com/g/r7N1ct

Estación Meteorológica NTP con ESP: reloj sincronizado por NTP y estado del tiempo local

Este proyecto presenta una miniestación meteorológica con reloj NTP integrado, basada en el módulo ESP01 y un display OLED de 0,96 pulgadas. El kit, disponible a bajo coste en plataformas como AliExpress, permite mostrar la hora exacta sincronizada por Internet y datos meteorológicos actualizados en tiempo real.

Sin embargo, el firmware original del kit presenta varias limitaciones: deriva horaria si se está lejos de China, falta de cambio automático de horario estacional, servidor meteorológico fijo en China y una interfaz web muy limitada. Para solucionar estos problemas, decidí desarrollar un nuevo firmware completamente mejorado, compatible con ESP01, ESP8266 y ESP32, capaz de conectarse a cualquier servidor NTP y a servicios meteorológicos globales como OpenWeatherMap.

⚙️ Montaje del kit

El kit consta de tres placas principales:

  1. PCB base, donde se sueldan los componentes SMD (regulador de tensión y 2 condensadores de desacoplo) y tres conectores.

  2. Display OLED, que requiere la soldadura de su conector de 4 pines.

  3. Módulo ESP01, completamente ensamblado y programado.

La alimentación se realiza mediante un conector micro-USB, utilizando únicamente los pines de tensión. El kit incluye además tornillería, caja protectora y el cable USB.

Sincronización NTP y funcionamiento básico

Al encender el dispositivo, este se conecta automáticamente a la red WiFi configurada y sincroniza la hora con un servidor NTP.


El display muestra la fecha y hora local exactas, junto con una previsión meteorológica de tres días.

Limitaciones del firmware original

  • El firmware original no realiza cambio automático entre horario de verano e invierno y solo permite configurar manualmente una zona horaria.
  • Además, depende de servidores chinos, lo que genera retardo al sincronizar la hora y datos meteorológicos inexactos fuera de Asia.
  • Su interfaz web apenas permite ajustar la hora y la ubicación, sin acceso remoto ni visualización de datos.

Nuevo firmware mejorado

El nuevo firmware permite:

  • Sincronización con cualquier servidor NTP.

  • Ajuste automático de horario estacional.

  • Conexión con OpenWeatherMap para obtener datos meteorológicos globales.

  • Acceso completo a la estación desde la red local mediante una interfaz web avanzada.

  • Compatibilidad con pantallas OLED de 0,96” (128×64) y 0,6” (64×48).

De esta forma, el kit se convierte en una estación meteorológica completa, fiable y adaptable a cualquier necesidad.

Configuración del firmware original

El video explica detalladamente cómo configurar el firmware original mediante la conexión WiFi del kit y la web qweather.com, donde deben generarse las credenciales y API keys necesarias.


Este proceso resulta complejo y limitado, motivo por el cual decidí desarrollar el nuevo firmware.

Configuración del nuevo firmware

La nueva versión del firmware simplifica todo el proceso:

  • La estación se conecta automáticamente a la red WiFi configurada.

  • Se accede al servidor web local para seleccionar zona horaria, API key y ciudad.

  • El firmware se sincroniza automáticamente con OpenWeatherMap para mostrar datos de temperatura, humedad, presión, viento y estado del cielo.

Compilación y programación

El firmware puede compilarse tanto para ESP8266 como para ESP32 utilizando el IDE de Arduino.
Incluye autodetección de librerías y configuración automática según el microcontrolador.
Solo es necesario definir la resolución del display en la librería Adafruit SSD1306.h.

Para programar el ESP01, se recomienda emplear su programador USB específico o un adaptador FTDI, asegurando el modo “programación” conectando GPIO0 a GND antes de alimentar el módulo.

Conclusiones

Con este nuevo firmware, el pequeño kit meteorológico se transforma en una estación completa, precisa y personalizable, capaz de funcionar con distintos módulos ESP y pantallas OLED.
El proyecto mantiene un bajo consumo y una gran flexibilidad, ideal para quienes buscan un reloj-estación meteorológica sincronizado por Internet.

Descargar el firmware

Puedes descargar de forma gratuita el firmware, accediendo al siguiente enlace: ESP_WeatherClock_NTP

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

https://pcbway.com/g/r7N1ct