This LED Strip Clock Aims to Make Your Next One Easier, Too
This LED Strip Clock Aims to Make Your Next One Easier, Too
Emulador de Magnavox Odyssey con Wemos D1 mini
En este artículo vamos a emular la primera videoconsola de la historia sobre un Wemos D1 mini basado en ESP8266.
Sobre Odyssey
En el año 1971, Magnavox ficha al ingeniero Ralph Baer para desarrollar la idea de este de un sistema casero de videojuegos. En 1972 se lanzó al mercado este dispositivo basado en 40 transistores y 40 diodos que permitía generar señales simples en la salida de TV. Los diversos juegos se basaban en un conjunto de «overlay», consistente en una lámina translúcida que se colocaba directamente sobre la pantalla del televisor, y tarjeta de juego, que simplemente configuraba la visualización y comportamiento de los cuatro elementos en pantalla: palas, pelota y barra central.
Entorno e instalación del emulador
Elementos
Vamos a necesitar los siguientes elementos:
Emulador
Nos basaremos en el emulador OdyWeb, adaptado para funcionar desde un ESP8266. Este se puede descargar en la web del desarrollador.
$ wget https://prehistoricgaming.com/wp-content/uploads/2025/05/OdyWeb_1.0.zip
$ wget https://prehistoricgaming.com/wp-content/uploads/2025/05/Overlays-sorted-by-Game-Card.zipEl HTML, contenido en el primer ZIP, incluye el código JavaScript necesario para emular la Odyssey, mientras que el segundo incluye 6 overlays.
Los cambios realizados sobre el original fundamentalmente implican a estos archivos:
Asimismo, todos los archivos de overlay han sido optimizados en tamaño para poder caber en la flash del ESP8266.
$ find . -name "*.png" -exec mogrify -resize 800x600 -extent 800x600 -gravity center -background none {} \;
$ find . -name "*.png" | while read f; do convert "$f" -quality 75 -colors 128 -strip "/tmp/$(basename $f)"; mv "/tmp/$(basename $f)" "$f"; doneAsí, los PNG se reescalan a 800×600, que es el tamaño utilizado en la aplicación, se reduce la paleta de colores a 128 y se aumenta el nivel de compresión. También, se eliminan los espacios de los nombres de los archivos.
$ find . -depth -name "* *" -exec bash -c 'dir=$(dirname "$1"); base=$(basename "$1"); mv "$1" "$dir/${base// /}"' {} \;Instalación
Se puede descargar de GitHub para luego compilar y subir a la placa D1 mini con Arduino IDE.
$ git clone https://github.com/RafaGS/odyweb8266.gitLa única modificación en el código consistirá en añadir nuestras credenciales Wi-Fi en odyweb8266.ino.
WiFi.begin("ssid", "clave");En este caso, hemos de descargar la herramienta ESP8266 LittleFS Data Upload y copiarla al directorio ~/.arduinoIDE/plugins.
$ wget https://github.com/earlephilhower/arduino-littlefs-upload/releases/download/1.6.0/arduino-littlefs-upload-1.6.0.vsixEl siguiente paso es seleccionar la placa correspondiente en el IDE y poner los siguientes parámetros en Herramientas:
Haremos una primera subida del HTML y los PNG al sistema de archivos del D1, con la opción «Upload LittleFS to Pico/ESP8266/ESP32» tras pulsar [Ctrl][Shift][P], para continuar con la subida normal del binario resultante de la compilación.
Emulación
Una vez realizada la subida, arrancamos el sistema y vemos en el terminal serie el proceso de arranque y la IP asignada.
Iniciando OdyWeb8266...Entramos en la IP desde nuestro navegador.
Por defecto, aparecen las dos palas y la barra central, estilo Pong clásico. Seleccionamos en «Game Mode» la tarjeta de juego que nos interese.
Nos aparecerá la lista de juegos disponibles.
Aunque cada tarjeta de juego tiene un preajuste para los artefactos de pantalla, podemos ajustarlos según las indicaciones a la izquierda de la pantalla. Pulsando espacio podremos comenzar la partida.
#1972 #ESP8266 #Magnavox #WemosD1MiniIt stayed working through the gale force wind and inches of rain, somehow. Rebagged it now.
Don’t worry it’s only a test. #WemosD1Mini #Waterproof
Protect your home: build a gas detector system with Arduino Cloud, MicroWakeupper and Wemos D1 Mini
#arduinocloud, #cloud, #datalogger, #Dupontcables, #esp8266, #Gassensor, #internetofthings, #iot, #library, #MicroWakeupper, #MQ-135, #platformio, #sensor, #sensors, #WemosD1Mini
Proteggi la tua casa: costruisci un sistema rilevatore di gas con Arduino Cloud, MicroWakeupper e Wemos D1 Mini
#breadboard, #caviDupont, #datalogger, #digitale, #elettronicadigitale, #esp8266, #internetdellecose, #iot, #libreria, #MQ-135, #platformio, #sensore, #Sensoredigas, #sensori, #tutorial, #MicroWakeupper, #WemosD1Mini