:strip_exif()/f/image/iKXyBW56w176WTuURXElBqi6.jpg?f=fotoalbum_large)
Bijzondere displays hebben altijd al een grote aantrekkingskracht gehad, of het nu Nixie-tubes, 14-segment alphanumerieke LED-displays, flip-dots, LED-RGB matrixen, LCD's of e-ink displays zijn. Voor hobbyisten en tweakers zijn e-ink displays meestal nog net iets te prijzig om mee te experimenteren, maar nu in winkels en supermarkten die dingen al een paar jaar massaal als prijskaartjes gebruikt worden, komen er af en toe goedkope partijen gebruikte Electronic Shelf Labels op e-bay beschikbaar.
Electronic Shelf Labels zijn best interessant voor de diehard Tweaker: ze bevatten een E-paper display, batterijen, een ZBS243 microcontroller met zigbee (gebaseerd op 8051-architectuur, inderdaad, die uit 1980!), en dat alles in een mooi minimalistisch kastje. En vooral: er is geen documentatie van te vinden, dus een leuke puzzel om ze toch aan de gang te krijgen voor 1334 h4x0r5.
Op dit moment is er blijkbaar een grote partij 2.9 inch en 1.54 inch labels van Solum in omloop, waar zich wat mensen op gestort hebben om te reverse ingeneeren. Deze Solum (Samsung) labels zijn door Dmitry.gr voor het grootste deel ge-reverse engineered. ATC1441 heeft er een nieuwe low-power firmware voor geschreven, en een flasher waarmee je de tags van custom firmware kunt voorzien. Je PC met een usb-zigbee-dongle kan werken als een accesspoint, waarmee je nieuwe plaatjes en firmware naar de tags kunt sturen. Je kunt zelf direct software schrijven om op de tag te draaien, maar ook de e-paper displays zelf zijn leuk om mee te experimenteren. Een aanrader!
In dit topic kunnen we onze bevindingen en kennis delen over de Electronic Shelf Labels. Plaats vooral ook je eigen knutsels, ideeen en voortgang!
.
Getting started:
Het begon met de bevindingen van Dmitry.gr, met veel documentatie op zijn website:Hacking eInk Price Tags
Atc1444 heeft een nieuwe firmware geschreven voor de pricetags waarmee je via bluetooth een nieuwe afbeelding kunt uploaden. Hij heeft een stap-voor-stap uitleg hoe je de price tags kunt flashen met de nieuwe firmware van atc1444. Verkijk je er niet op, het is wel wat werk:
- Gebruik een ESP32 module om eenmalig een CC2531 USB Stick te flashen met TiMac Firmware (volgens mij gebruikt Home Assistant dat ook?)
- Gebruik een ESP32 module om de firmware via SPI naar de price tag te uploaden (waarbij je de SPI interface moet zien te verbinden met kleine contactpunten binnenin de tag)
- De ESP32's heb je nu niet meer nodig, en met een Python scriptje kun je nu via de CC2531 USB Stick een plaatje naar de tag zenden.
Gitbuh repository met de benodigde software
Als je meer dan één of twee tags wilt voorzien van firmware dan is het een gedoe om de contactpunten voor de SPI-bus te verbinden. Zowel atc1444 als Tweaker @Corn hebben een 3d-printable jig gemaakt om met pogo-pins een makkelijke verbinding te maken. Je vind ze beide hier.
Alternatief kun je ook de originele printplaat niet gebruiken, het e-paper display loshalen (pas op, enorm breekbaar!), en via SPI zelf aansturen met bv een ESP32. Je moet dan wel nog een adapter maken, om van een 24 pins flatcable (met 0,5mm pinafstand...) naar een bruikbare SPI interface te komen. Atc1444 heeft daar een printje voor: Universal E-Paper adapter PCB. Pas op, het printje bevat dus een 24 pins connector met 0,5mm pinafstand, dat is niet fijn om zelf te solderen. Ik (@Nic) ben van plan om wat van de printjes bestukt en al te laten maken. Zodra het zo ver is, zal ik in dit topic even peilen of er interesse is, dan kan ik de oplage iets vergroten.
@Corn is zijn eigen versie van de firmware aan het schrijven, met een altenatief protocol, en je kunt een tag ook gebruiken als basisstation om andere tags aan te sturen. Beide projecten zijn zwaar Work In Progress.
.
Toepassingen:
De ZBS core zelf is goed te gebruiken als een wireless sensor; in deep-sleep gebruikt ie ongeveer 1.5µA, wat betekent dat ie het met gemak jaren volhoudt op een paar knoopcellen. Ze zijn voorzien van I2C, SPI, en een hele berg GPIO poorten. Je moet wel een beetje handig zijn met programmeren.Wat kun je er nou mee? Nou een wall display met 15x20 displays ervan maken bijvoorbeeld.
Maar iets serieuzer: Naambadges, of gekoppeld aan HomeAssistant voor de in/uit-status van je gezinsleden, of natuurlijk als prijskaartjes voor in een winkel
.
FAQ
Hoe kom ik aan zo'n display?
Op e-bay.de komen regelmatig partijen langs. Soms moet je ze per 200 kopen, dat is misschien wat overdreven. Gebruiker @Corn heeft blijkbaar een grote partij op de kop getikt, en bij hem kun je ook kleinere hoeveelheden via Tweakers VA zo'n beetje tegen kostprijs bestellen: 1.54" en 2.9".Wat is de pinout van het display? Hoe koppel ik 'm rechtstreeks via SPI aan m'n microcontroller?
Adafruit heeft een breakout gemaakt incl scherm met dezelfde pinout als de shelf labels. Het schema en meer info vind je op Adafruit 2.9" eInk Display Breakouts and FeatherWings.Pin mapping:
ESP32 pin | Display pin |
23 | MOSI |
18 | CLK |
5 | CS |
17 | DC |
16 | RST |
4 | BUSY |
Qua library had ik succes met de Adafruit_EPD library. Kies voor ThinkInk_290_Tricolor_Z94, GxEPD2, selecteer als display daar de GxEPD2_290_C90c.
Ideeen, aanvullingen, ervaringen, coole projecten? Brand los!