Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Auriol 4-LD5380
#1

Hi all,

I bought the aforementioned temperature + humidity "weather station" from Lidl for about 20 euros. As the supplied receiver reads remote data very seldom, I decided to see if I can make heads or tails of the data sent by the sensors.

Data is transmitted with 433 MHz RF signal in bursts which consist of 9 copies of data packets.
Data packets contain one sync pulse (~4500 useconds) + 36 bits (0 = ~1500 usec, 1 = ~2500 usec).
My Arduino code can reliably decode the data by checking for above pulse lengths ±50 usec, using either cheap MX-RX-5V or more expensive RXB6 receiver.
 
Code:
S rrrrrrrr b m id tttttttttttt ffff hhhhhhhh

    S  sync pulse (missing from the first packet)
0..7    r  random id (changes every reboot)
8    b  battery (1 = ok, 0 = low)
9    m  manual tx (1 if manual)
10..11    id numeric id 0..3 (only 0..2 used)
12..23    t  temperature (binary, 0.1 ℃)
24..27    f  filler bytes (1111)
28..35    h  humidity (binary)

I have yet to put a sensor in a freezer to see how negative temperatures are encoded (and whether the temperature really uses all 12 bits) Smile
Reply
#2

Hi CplJonlan,

You may try something like this:

Code:
// Calculate negative temperature
if ((AuriolOutTemp & 0x800) == 0x800) AuriolOutTemp = AuriolOutTemp | 0xF000;
Reply
#3

Thanks, that did it. I got 3913 as a temperature for -18.3 degrees Celsius. When converted to hexadecimal, that's 0x0f49 and when sign-extended to integer it's 0xff49 ie. -0x00b7 which is -183 in decimal.

I put my findings here with some extra notes in case someone wants to use the sensor modules in their project.
Reply




Users browsing this thread: 1 Guest(s)