Epson VFD hack – ESP8266

Un écran de caisse VFD EPSON DM-D110-11 (MODEL M58BB) offert par un passant du hackerspace attendait sagement sa nouvelle vie.

Deux options étaient envisageables. La première, parler à la carte Epson dans le pied de l’écran. Pour cette méthode, il existe déjà des choses ici et là recherchez PyPos, …

Et, la deuxième option parler directement à l’écran VFD un Noritake-Itron CU20026SCPB-T23C. Quelle fût ma déception en ne trouvant pas la moindre datasheet sur ce modèle.

La nouvelle carte est composée d’un module DC/DC, d’un module TTL > RS232 et un Wemos D1 mini (ESP8266).

Après quelques minutes de recherches, je trouve assez d’informations pour commencer le hack. Voir sources en bas d’article. 4 fils, GND, VCC +12v, TX & RX. Un câble USB <> RS232 et une alimentation de labo seront parfaits pour commencer les tests.

GND // TX // RX // +12V

Source : sunrom.com

Pinout

1 - GND
2 - RS232 - TX Data
3 - RS232 - RX Data
4 - RS232 - RX Handshake
5 - RS232 - TX Handshake
6 - GND
7 - VCC +12V
8 - GND

Switches

1 - Aucune idée...
2 - 7 bits (on) - 8 bits (off)
3 - Parity - No Parity
4 - Parity even - odd
5 - Baud rate config
6 - Baud rate config
7 - Baud rate config
8 - Test / Demo

Baud rate

ON ON ON - 2400
ON ON OFF - 4800
OFF OFF OFF - 9600
ON OFF OFF - 19200
OFF ON ON - 38400
OFF ON OFF - 57600
OFF OFF ON - 115200

Code source

Je suis au début du développement au moment où j’écris cet article. L’évolution du code sera disponible sur GitHub. https://github.com/iooner/Epson-VFD-hack

Mais, en gros…

#include <SoftwareSerial.h>
// Software Serial sur les pin D1 et D2
SoftwareSerial TTLtoRS(D1, D2); // RX, TX

// Config caractères et lignes
const int vfd_max = 20;
const int vfd_lines = 2;

void setup()
{
  Serial.begin(115200);
  // Ouverture du serial vers le module TTL > RS232 avec le VFD configuré à 115200 bauds.
  TTLtoRS.begin(115200);
  // "Vider" l'écran
  TTLtoRS.write(0x0C);
  // Afficher "Hello World!"
  TTLtoRS.println("Hello World!");
}
void loop()
{
  // Ca tourne /o/.
}

Sources

Enseigne « néon » DIY – ESP8266

Liste des courses


Hack du ruban LED

Neodyme explique parfaitement le « hack » du ruban led Action dans le replay du live Twitch. Le point de complexité est de trouver où couper dans le ruban.

Fabrication

Une fois que l’endroit où couper est trouvé, il suffit de souder l’alimentation + et – et ajouter un fil pour le data. Le – (gnd) en masse commune avec le Wemos. (Voir vidéo ci-dessus).

Dans mon cas ayant pas mal réduit la longueur du ruban, j’ai ajouté un petit module « step-down » pour alimenter le Wemos en 5v et donc d’avoir une seule alimentation pour ce projet.

J’ai imprimé en grand sur plusieurs A4 le logo souhaité pour l’enseigne. Dans ce cas le logo du Liège Hackerspace.

Pour faciliter le pliage de l’aluminium (à refaire, je pense plutôt passer à de l’acier) un « rig » est découpé rapidement à la scie à ruban et adapté pour les différents angles et courbes.

Quelques pliages et ajustements plus tard, place aux rivets et la structure est terminée.

Premier lancement… et un glitch inexplicable qui n’a pu être résolu par le remplacement du Wemos.

Pour la partie software afin que l’enseigne puisse être synchronisée au reste du hackerspace et pilotable via MQTT, j’ai opté pour WLED.

La structure a été peinte en noir mat après un bon dégraissement et le ruban est fixé grâce à des serflexs blancs translucides. L’électronique est sur le châssis dans du ruban noir d’électricien.


Tadaaam!

Programmer un ESP32 avec Arduino IDE

Un grand nombre de boards basé sur un ESP32 sont programmable via votre IDE Arduino.

Il est nécessaire d’ajouter les boards à l’IDE et possiblement installer les drivers nécessaires.

Obtenir le json des boards

Rendez-vous sur le repo GitHub suivant : https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Vous pouvez aussi utiliser le json proposé sur le site d’Espressif.

https://dl.espressif.com/dl/package_esp32_index.json

Ajouter les boards à l’Arduino IDE

  • Allez dans les Préférences de votre Arduino IDE
  • Ouvrez l’onglet URL de gestionnaire de cartes supplémentaires
  • Collez le lien que vous aurez copié sur le repo ci-dessus
  • Ensuite, dans l’onglet Outils, cliquez sur Type de carte et Gestionnaire de carte.
  • Recherchez « esp32 » et installez la dernière version.

Les drivers

Pour les cartes produites par Espressif : https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/establish-serial-connection.html

Pour le Wemos D32, j’ai du passer par l’installation de « CP210x USB to UART Bridge VCP Drivers » disponible sur le site de Silabs.


Source cover : Wikimedia