Le gadget ESP32 de Theor est une note d’amour pour la technologie Creep et Demoscene

Le gadget ESP32 de Theor est une note d'amour pour la technologie Creep et Demoscene


Le développeur pseudonyme “theor” a construit un appareil inhabituel, alimenté par un Espressif ESP32, qui a commencé sa vie comme un simple babillard électronique et s’est retrouvé avec des fonctions directement issues de la démoscene des années 1980 et 1990.

“Au début, j’avais un objectif simple”, explique Theor. “Utilisez un ESP32 (240 mhz, 512 k RAM, le luxe !) et un écran SSD1306 (128 x 64, monochrome). Utilisez le Wi-Fi ESP pour modifier le message à distance. C’était assez simple : le SSD1306 est pris en charge par l’Adafruit. Bibliothèque GFX, qui rend trivial le rendu simple.”

L’idée était de construire un appareil qui pourrait être utilisé pour laisser des mots d’amour à sa petite amie, mais – comme c’est si souvent le cas – le projet est presque immédiatement entré en dérive. Une configuration initiale pour extraire les messages d’un référentiel GitHub a été remplacée par un serveur Web intégré pour une édition directe ; un bouton capacitif a été ajouté pour sortir l’appareil du mode veille ; et bientôt l’attention du théor fut attirée sur la présentation des messages eux-mêmes.

“J’ai alors commencé à expérimenter des scènes plus fantaisistes”, explique-t-il. Au début, les particules arrosaient le message, puis je suis entré dans les animations et… À ce stade, le temps de clignotement est entré dans la plage des 40 secondes. Pour itérer sur le timing de l’animation et le positionnement des sprites, c’est loin d’être idéal ; travailler chez Unity, c’est comme devoir recompiler le moteur lors du déplacement d’un objet.”

La solution, après avoir expérimenté WebAssembly, était la création d’un simulateur de bureau qui permettrait une itération rapide à travers des tests sans les temps de flash de plus de 40 secondes du matériel réel. Ensuite, l’idée d’utiliser la technologie du tracker pour offrir un meilleur contrôle sur le système d’animation : “Il y a des années, je suis tombé sur GNU Rocket, qui est un ‘sync-tracker'”, explique Theor, “une sorte d’outil de montage vidéo primitif”.

“Au moment de la création, le client Rocket se connecte à un éditeur, dans lequel vous pouvez parcourir le temps et modifier les valeurs. Depuis l’éditeur, vous pouvez ensuite envoyer une commande” exporter”. Cela enregistrera les données, dans mon cas sur le [ESP32] Système de fichiers SPIFFS.”

À ce stade, le gadget avait besoin d’une mise à niveau d’affichage – passant du panneau monochrome de la version d’origine à un OLED 16 bits offrant un 128 × 128, utilisé pour afficher des bitmaps indexés 4 bits à l’aide d’un 16 couleurs par bitmap palette et supportant le cycle de palette, une astuce souvent utilisée dans les jeux vintage pour ajouter à moindre coût une animation à une image autrement statique, pour une autre couche d’animation.

La construction finalisée – du moins jusqu’à ce que son créateur réalise un plan pour ajouter du son – peut être vue dans son boîtier personnalisé découpé au laser sur la théorie ou’le blog.

Leave a Comment