Electronic Shelf Label

by Northstrix in Circuits > Microcontrollers

2182 Views, 4 Favorites, 0 Comments

Electronic Shelf Label

IMG_20210306_171738_hdr.jpg

In this tutorial, you'll learn how to make an Electronic shelf label. For those of you who don't know what it is, an electronic shelf label (ESL) is a device that is used by retailers for displaying prices on shelves. This device stores data in the SPIFFS memory. SPIFFS is a non-volatile memory, so it can retain the stored information even after power is removed.

Supplies

  • ESP8266 x1
  • I2C Port Expander Module for LCD x1
  • 24×2 Character LCD (DMC24227) x1 *Can be replaced by 16x2 display

Assemble the Device

Circuit_diagram.png

Get the Display's Address

da.png

To get the display's address, upload this sketch to ESP.

https://playground.arduino.cc/Main/I2cScanner/

Then open the Serial Monitor, and set the baud rate to 9600. If you've done everything right, you should see the display's address.

Download the Firmware

Adjust Three Values

s.png

Firstly, replace the display's address (highlighted by yellow) with the one you got from the step 2.

Secondly, replace Blackberry 1291 with your SSID.
Thirdly, replace seasidehillsESL with your password.

Flash the ESP

IMG_20210307_130830.jpg

Make Sure Your Access Point Is On

Your access point has to be turned on before powering up the device. Otherwise, you'll have to reboot ESP a couple of times.

Power Up the Device

IMG_20210306_165434.jpg

The display will be clear until the device will connect to your access point.

Right after the device will connect to the access point, you'll see something like this on the display.

If the display is still clear:

1) Check if the display's address that you've entered into the firmware is correct;
2) Check if your network credentials are correct;
3) Check if all connections are correct and there are no bad wires;
4) Adjust the potentiometer on the I2C Port Expander Module.

Get the Device's IP Address

fl.png

Open the Serial Monitor and set the baud rate to 115200. In case you've done everything right, you should see a message like this.

Enter the IP Address in Any Browser

IMG_20210306_165440.png

You should see this page on that step.

Important note: The device from which you are going to control the ESL has to be in the same network as the ESL.

Enter the Label

IMG_20210306_165550.png

Enter the label that will be displayed in the upper part of the display.

Press Send

IMG_20210306_165554.png

You'll see this message if everything's fine.

Enter the Price

IMG_20210306_165602.png
IMG_20210306_165621.png

Just enter the price and press send. A price will be displayed in the bottom part of the display.

Enjoy the Result

IMG_20210306_171719_hdr.jpg
IMG_20210306_171953_hdr.jpg
IMG_20210307_195324.jpg
IMG_20210306_172254_hdr.jpg
IMG_20210306_172108_hdr.jpg

Congratulations, if you made it that far, you now have your own ESL.

P.s. You can also connect a 16x02 display instead of a 24x02 one without changing a line of code.

Thank You for Reading This Tutorial

IMG_20210306_172830_hdr.jpg

I hope it was useful for you.