Electronic shelf labels > = wireless lcd display :)

Hi,

What I would like to achieve is to use an electronic shelf label as a wireless LCD display.

This is what I’m talking about (attachment esl.jpg):

These could make awesome little wireless data displays. An IR transmitter on an arduino could sent data and update them.

Challenges:

  1. Reverse engineer the protocol
  2. Program the protocol into an arduino
  3. Sent data to display

These are programmed via infrared: Infrared technology
The video looks interesting: Watch the video on youtube

Fast infrared communication
Diffuse infrared light (880 nm wave length) is used for wireless communication with the labels. The protocol is proprietary…

First challenge

The first and (I guess) biggest challenge is to reverse engineer the protocol. What I can do is try to pick up the IR signal when a single label is programmed. I can vary some known parameters and compare the signals sent.

But… how to pick up the signal. I’m limited to a smartphone, an HTC One with an IR transceiver.

Currently I’m looking at : Universal Remote for HTC One
Video: HTC One can learn IR codes

attachement HTCIR_screenshot.jpg

My first question would be: Will this app help me in finding out the protocol ? Does anyone have any other suggestions ?

Thanks !

ESL.jpg

  1. Reverse engineer the protocol
  2. Program the protocol into an arduino
  3. Sent data to display

And play havoc and mischief with existing store labels?

Why not contact the company that makes these and buy them?

LarryD:
And play havoc and mischief with existing store labels?

No, no intention to do so. Only use these labels to display data from arduino. No bad intentions.
If my intention was to commit fraud, I would resort to other (easier) ways. No such intention whatsoever.

LarryD:
Why not contact the company that makes these and buy them?

Not an option, the protocol is proprietary and they only deal with customers who buy them by the millions.

So my question stands:

Challenge 1
How to read the IR signal and reverse engineer it ?

How to read the IR signal and reverse engineer it ?

All you need to capture an IR signal is a photodiode or phototransistor.

Reverse engineering can be an insurmountable obstacle, depending on how the data are represented in the signal (which is the first challenge), and whether they are encrypted (the second challenge). From the company web page:

Infrared is proven, secure technology

I would bet on encryption.

PS: the video is great, all those prices going up, up, up, every few seconds! Maybe even when the store manager sees a sucker walking by.

What is so hard about building them from scratch? A wireless display based on Arduino doesn't seem like a big stretch. All the parts are available and cheap.

You can buy the AVR Butterfly for about US$ 21.

It has a built in 6 character alphanumeric display and could run off the coin cell for a couple of years. Add one phototransistor, one IR LED, a couple of resistors and write a bit of code.

Well, building or buiyng takes time and money. These labels are "ready to go" as is. "All" that is needed is to figure out the protocol and send data to them.

jremington:
All you need to capture an IR signal is a photodiode or phototransistor.
...

Well, that would have to be connected to something that records the signal. Let's say I would connect a TSOP IR receiver to an arduino micro. Would it then be possible to write received signals to the internal EEPROM ? This is only 1K so maybe an external EEPROM chip ?

I'll have a look into capturing IR.

You can send the data via the serial port to a terminal program on your PC that supports saving to file. Or write such a PC application yourself.

jremington:
I would bet on encryption.

I wouldn't - at best, you'll have obfuscation, or maybe a simple xor "encryption" scheme (or more likely, rot13); any of which would yield fairly easily with some study and enough data samples.

What you'd want to have is access to the "programmer" - so you can send known character sequences, etc - to determine any header packets, plus to be able to compare the data to help determine what, if any form of security they are using.

Again, though, I doubt they are using anything - instead relying upon the IR devices (maybe they use a "non-standard" carrier wave frequency?), and most people's general lack of knowledge and/or disinterest.

mrExplore:
Well, building or buiyng takes time and money. These labels are "ready to go" as is.

How are these "ready to go"? Where did you get yours?

cr0sh:
...

What you'd want to have is access to the "programmer" - so you can send known character sequences, etc - to determine any header packets, plus to be able to compare the data to help determine what, if any form of security they are using.

Again, though, I doubt they are using anything - instead relying upon the IR devices (maybe they use a "non-standard" carrier wave frequency?), and most people's general lack of knowledge and/or disinterest.

I can "access" the programmer and, with the right hardware I should be able to intercept the programming sequence. By comparing the sequence and the data displayed after programming, I might be able to figure something out.

But I cannot bring my laptop there to capture the signal. I would have to use either a smartphone (HTC One) or build an Arduino IR receiver that can record the programming sequence. I think the Arduino option might be the way to go.

There is indeed a non-standard carrier wave: 1.245 MHz
PDF file with info (see page 10)
IR wavelength is 880nm

Would it be possible to build an Arduino IR receiver that can capture the signal ? Would it be possible to save the programming sequences to an external EEPROM or SD card for analyses later ? Any clues on that would be welcome.

cr0sh:
How are these "ready to go"? Where did you get yours?

I "found" the labels in the store. By "ready to go" I mean that by sending the right code they can be programmed and used as wireless data display LCD's. Without having to figure out and build my own wireless display.

Also I found an interesting project:
Page 1 on google translate
Page 2 on google translate
Page 3 on google translate

And an interesting video with a lot of info:
Youtube: Playing with Electronic Shelf Labels

Also interesting: google: Patent EP2309378
http://www.google.com/patents/EP2309378B1?cl=en&

So at this moment I would like to build a small portable Arduino IR receiver that I can take with me to record the programming sequence. Any suggestions on where to start and what to learn are welcome.

If the data rate is 1.245 MHz, the Arduino is probably not fast enough to record it.

jremington:
If the data rate is 1.245 MHz, the Arduino is probably not fast enough to record it.

The carrier freqency is 1.254 MHz, in the second half of this page there is some info on the data rate, I'm not sure yet what to make of this info though. Are there any IR receivers that can handle 1.254 MHz ? Normal TSOP receivers are build for around 40 KHz

I found an open FTP directory containing some info:
ftp://ftpserver.etim.ru/Pricer/R4.8.3/

Hi,

I know the topic is old but someone who downloaded files at ftp://ftpserver.etim.ru/Pricer/R4.8.3/ can upload them again please ?

I would like to know what was there in this folder before it was unavailable.