Sunday, 25 September 2016

Obtaining and deciphering radio messages

Aim: to obtain and decipher radio messages from household devices.

Test device: Clas Ohlson (WS2015) temperature sensor - typical household 433MHz device.

Receiver: USB dongle (e.g. hsy® USB 2.0 Digital-DVB-T-DAB FM RTL2832U FC0013B SDR TV Radio Receiver-Stick) on a Windows laptop.

Data study and capture: SDR# (SDR sharp), 8bit wave file made of a couple of seconds and filesize of a few megabytes.

Understanding the data: each clock-cycle has a level shift (0/1). Logic1 has a level shift within a clock cycle, whilst logic0 does not. Bits 21-35 are temperature (scaled as +50 x 128). Useful website was

Data processing: done 'myself' in Octave -- the key command was wavread('FILENAME.wav'). But also some 'debouncing' was done to infill the many dropped "1" values. Plus all of the 6 messages were taken (2 channels, 3 messages per channel) after some synchronizing.

Software, SDR#:

Software, Octave:
Each minute 3 near-identical 36-bit messages sent:
Example, zoom in on first 5 bits of first message (notice the many 'dropped' "1" values): 
After tidying and then converting the binary message to a normal (decimal) value the result is found: 

See also Part 2