This LED Strip Clock Aims To Make Your Next One Easier, Too

At first glance, it may look like [Rybitski]’s 7-segment RGB LED clock is something that’s been done before, but look past the beautiful mounting. It’s not just stylishly framed; …

Hackaday

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:

  • Placa Wemos D1 mini.

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.zip

El 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:

  • odyweb8266.ino:
    • Nueva creación.
    • Servidor HTML local.
    • Log vía serie.
  • OdyWeb.html:
    • Carga de fuentes en local.
    • Se añade menú para seleccionar modelo de consola.
    • Por defecto la transparencia de los overlays está al 50%.

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"; done

Así, 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.git

La ú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.vsix

El siguiente paso es seleccionar la placa correspondiente en el IDE y poner los siguientes parámetros en Herramientas:

  • Flash Size: “4MB (FS:2MB OTA:~1019KB)” (esta opción pone el FS desde 0x200000).
  • Flash Mode: “DIO”.
  • Flash Frequency: “40MHz”.
  • CPU Frequency: “80MHz”.

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...
.......
Conectado! IP: 192.168.2.5
LittleFS montado correctamente
Archivos en LittleFS:
- OdyWeb.html (76532 bytes)
- Odyweblogo.png (20109 bytes)
- Overlays (0 bytes)
- fonts (0 bytes)
Servidor web iniciado

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 #WemosD1Mini
Glowing Egg Is A One-Oeuf Solution For Tracking Cycles

Look, if something happened to you every three weeks or so to basically turn you into a different person and factored heavily into whether any new humans were created, you’d probably want to …

Hackaday
A Simple Laser Harp MIDI Instrument

Craig Lindley is a technical author and a prolific maker of things. This simple project was his first attempt to create a laser harp MIDI device. While on vacation, Craig saw a laser harp with only…

Hackaday
Mmmh ja passt schon so …
#WeMosD1mini #dht11

It 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

1D Fireworks Are Nice And Quiet

Maybe you do it out of respect for the dogs and parents of young children in the neighborhood. Or maybe you do it because they’re harmful to the environment, or just because it’s too da…

Hackaday
Protect your home: build a gas detector system with Arduino Cloud, MicroWakeupper and Wemos D1 Mini - Techrm

Welcome to the world of home security with this article through which you will make a smart gas detector using the Arduino Cloud, together with the

Techrm
Proteggi la tua casa: costruisci un sistema rilevatore di gas con Arduino Cloud, MicroWakeupper e Wemos D1 Mini - Techrm

Benvenuto nel mondo della sicurezza domestica con questo articolo tramite il quale realizzerai un rilevatore di gas intelligente tramite l'utilizzo di Arduino

Techrm