Every once in a while, I feel an urge to tinker with electronics: Building drones, attempting to fix my laundry dryer or my active DJ monitor which produced a lot of ‘magic smoke’. I’ve always been interested in making/fixing things and as a bonus: learn how it works. In my personal opinion I think we got too used to replacing broken electronics, because repairing it is often too complicated or too expensive. But if you’re willing to invest some time in it, you’ll find out that a lot of these products can still be fixed if you show them some love 💗 I’m not educated in this field at all, but hopefully this story will show you that you can get far with curiosity!
How it al started
Just picture this for a moment. You’re in the local supermarket, browsing the neatly-arranged shelves stocked with products. You’re surrounded by those little electronic price tags, known as Electronic Shelf Labels (ESLs), displaying prices and product information. You might not think much of them, as shoppers pass by without a second thought.
But what happens when these simple devices break or become obsolete? Do they just disappear into the great recycling bin of old electronics? Not for me! I recently started looking into the hidden potential of these seemingly insignificant ESLs.
My journey began with a bit of curiosity. I was curious to find out: Could these tiny screens be put to better use? Could they do more than just show prices? With a determination to succeed, I set out to breathe new life into them.
Get ready, because what happened next was pretty amazing. I took apart broken ESLs, looked inside them, to figure out if I could interact with them via my PC. I slowly started to understand how they worked. These labels, which had been pretty static up to that point, became my digital playground waiting to be explored.
As I got to work, I found there were more possibilities than just price updates. These devices could display custom messages, show real-time data, or even become interactive interfaces. Just imagine turning a boring price tag into a personalised message board or a dynamic information hub.
My DIY Project was born!
A while back, I got a stack of discarded ESLs from my local supermarket. These tiny, battery-powered screens weren’t responding and were no longer useful. But I wasn’t sure if they were completely broken. Apparently the ones I got weren’t meant to be opened… Not a single hidden screw and no plastic clips clamping it in place. Well, I wanted to attempt it anyway, so me and my hobby knife gave it a try. No wonder these were so hard to open, the plastic was ultrasonically welded!
But I finally reached the inside. I saw I small battery welded (?!) to the pcb and after removing one final screw I was able to flip it around to find what I was looking for: a UART port!
After days of research, I figured out a plan of approach: Armed with a UART to serial converter, I successfully flashed custom firmware onto the ESLs (I won’t go into too much detail for this part, but if you’re still interested checkout the man who reverse-engineered most of this, as well as this man). Suddenly, these once-static displays became programmable canvases. The possibilities were endless!
Ready to build
But wait, there was a catch. To control these ESLs wirelessly, I needed an Access Point (AP) to mimic how they were being controlled in the supermarket . So, I gathered the components, heated my soldering iron, and started building my own AP where 2 ESP32’s would become the brain of this project.
Luckily, all of the work on this technical side is already done by some very clever people who now built a community around giving a second life to ESLs and its called OEPL.
I’m not gonna lie, there were moments of frustration. My attic resembled a tech lab, with ESLs scattered everywhere. But after countless late nights and many continuity checks with my multi meter, I finally had a working setup. I could now send commands to my ESLs, all from a practical web server with a GUI and tons of built-in functions.
And here’s where it gets magical. I hooked up my ESLs to an API that provided real-time data for my waste bin collection dates which I already had available in my Home Assistant. Now, my little labels could display more than just prices! I spent 2 nights alone figuring out who to grab the data from Home Assistant, put that in code which the ESL would except and not to forget: The design how this all would get displayed! I mean of course I want an icon of my next waste category to be visible 😄
Today’s date? ✅, Weather forecast? You got it! And my personal favourite: reminders for local waste pickup days, my very first idea on info I wanted to display on these ESLs is a reality now. My kitchen trash can has never been happier!
Now I know you don’t want to see all this, but of course I can also display some Nothing related stuff:
And there you have it! The story of my ESL adventure. From broken to brilliant, these little screens have become my canvas for creativity. Who knew that a stack of discarded labels could spark such joy? Now, if you’ll excuse me, I have some more firmware to tweak and APIs to explore. Happy hacking, fellow tech enthusiasts!