Mystery signals on 868MHz

Github repository with supporting files and data

Background and intro

This project started when I plugged in my RTL-SDR, tuned it to 868MHz, and saw some mystery signals. This article is about my attempt at finding out what these signals are and writing a decoder for them. But first a little intro about RTL-SDR:

SDR stands for Software Defined Radio, and is exactly what it sounds like: a radio that can be controlled by software. Much like a good old-fashioned radio that you can manually tune to a frequency between 88MHz and 108MHz listen to a radio programme on, an SDR can be tuned by software to frequencies between 24MHz and 1.7GHz.

You can listen to radio programmes on an RTL-SDR as well, but you need a software on your laptop to do so. You can also listen to radio traffic between airplanes and control towers, receive weather balloon transmissions, weather satelite images, and much more.

In general, different use cases of radio communications use certain frequency bands. Airplane to control tower communication is often on 118-137MHz, weather balloons usually transmit on 400-406MHz, and so on. Frequency 433MHz and 868MHz are used for low power communications such as car keys, RFID, weather stations, home automation, etc.

To decode signals sent on 433MHz and 868MHz on your RTL-SDR, you need a software. One such software is rtl_433 which is an open-sourced project which aims to provide decoders for devices that use these two, and other similar, frequences.

The first time I used rtl_433 I tuned it to 433MHz and found out that the air in my house was full on information from sensors that I did not own. There were several temperature/humidity sensors, air pressure sensors from my neighbors car, and from remote controls.

When I tuned rtl_433 to 868MHz, there was really only one kind of signals, and rtl_433 didn’t have a decoder for them. Hence, I set out to write one.

Finding the right modulation

I first used this command to capture the signals in rtl_433:

rtl_433 -f 868M  -S all -A

The -A enables rtl_433’s built in analysis tool which provided the output in the dropdown below.


Click for full rtl_433 capture output

Detected FSK package	2024-07-05 19:18:16
Analyzing pulses...
Total count:  100,  width: 78.33 ms		(78329 S)
Pulse width distribution:
 [ 0] count:    1,  width:    0 us [0;0]	(   0 S)
 [ 1] count:    5,  width:    5 us [5;6]	(   5 S)
 [ 2] count:   14,  width:    2 us [2;2]	(   2 S)
 [ 3] count:    6,  width:    3 us [3;3]	(   3 S)
 [ 4] count:    7,  width:    1 us [1;1]	(   1 S)
 [ 5] count:    3,  width:   10 us [9;12]	(  10 S)
 [ 6] count:    7,  width:    4 us [4;4]	(   4 S)
 [ 7] count:    4,  width:    7 us [7;8]	(   7 S)
 [ 8] count:    1,  width:   17 us [17;17]	(  17 S)
 [ 9] count:   41,  width:  500 us [500;504]	( 500 S)
 [10] count:    9,  width: 1000 us [1000;1002]	(1000 S)
 [11] count:    2,  width: 1501 us [1500;1502]	(1501 S)
Gap width distribution:
 [ 0] count:    9,  width:    3 us [3;3]	(   3 S)
 [ 1] count:   10,  width:    2 us [2;2]	(   2 S)
 [ 2] count:   16,  width:    1 us [1;1]	(   1 S)
 [ 3] count:    6,  width:    5 us [5;6]	(   5 S)
 [ 4] count:    4,  width:    4 us [4;4]	(   4 S)
 [ 5] count:    2,  width:    7 us [7;8]	(   7 S)
 [ 6] count:    1,  width:   11 us [11;11]	(  11 S)
 [ 7] count:   38,  width:  499 us [469;501]	( 499 S)
 [ 8] count:    4,  width: 1501 us [1501;1501]	(1501 S)
 [ 9] count:    7,  width: 1000 us [999;1001]	(1000 S)
 [10] count:    1,  width: 4000 us [4000;4000]	(4000 S)
 [11] count:    1,  width: 9504 us [9504;9504]	(9504 S)
Pulse period distribution:
 [ 0] count:    8,  width:    3 us [3;3]	(   3 S)
 [ 1] count:   10,  width:    9 us [8;11]	(   9 S)
 [ 2] count:    6,  width:    4 us [4;4]	(   4 S)
 [ 3] count:   10,  width:    5 us [5;7]	(   5 S)
 [ 4] count:    5,  width:   14 us [12;18]	(  14 S)
 [ 5] count:    2,  width:    2 us [2;2]	(   2 S)
 [ 6] count:    7,  width:    7 us [7;7]	(   7 S)
 [ 7] count:   35,  width: 1000 us [1000;1004]	(1000 S)
 [ 8] count:   11,  width: 2092 us [2001;2502]	(2092 S)
 [ 9] count:    3,  width: 1490 us [1469;1501]	(1490 S)
 [10] count:    1,  width: 4501 us [4501;4501]	(4501 S)
 [11] count:    1,  width: 10004 us [10004;10004]	(10004 S)
Pulse timing distribution:
 [ 0] count:    1,  width:    0 us [0;0]	(   0 S)
 [ 1] count:   11,  width:    5 us [5;6]	(   5 S)
 [ 2] count:   24,  width:    2 us [2;2]	(   2 S)
 [ 3] count:   15,  width:    3 us [3;3]	(   3 S)
 [ 4] count:   23,  width:    1 us [1;1]	(   1 S)
 [ 5] count:    4,  width:   10 us [9;12]	(  10 S)
 [ 6] count:   11,  width:    4 us [4;4]	(   4 S)
 [ 7] count:    6,  width:    7 us [7;8]	(   7 S)
 [ 8] count:    1,  width:   17 us [17;17]	(  17 S)
 [ 9] count:   80,  width:  499 us [469;504]	( 499 S)
 [10] count:   16,  width: 1000 us [999;1002]	(1000 S)
 [11] count:    6,  width: 1501 us [1500;1502]	(1501 S)
 [12] count:    1,  width: 4000 us [4000;4000]	(4000 S)
 [13] count:    1,  width: 9504 us [9504;9504]	(9504 S)
Level estimates [high, low]:  11909,     48
RSSI: -1.4 dB SNR: 23.9 dB Noise: -25.3 dB
Frequency offsets [F1, F2]:   23428,  25369	(+357.5 kHz, +387.1 kHz)
Guessing modulation: Non Return to Zero coding (Pulse Code)
Attempting demodulation... short_width: 1, long_width: 1, reset_limit: 1024, sync_width: 0
Use a flex decoder with -X 'n=name,m=FSK_PCM,s=1,l=1,r=1024'
[pulse_slicer_pcm] Analyzer Device
codes     : {32863}1f8cec1c8fff1f679ffb7fbfffeff8def839b030c3fc8fe706b78fef3c78f01743001206f8070c1f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[pulse_slicer_pcm] Analyzer Device
codes     : {14999}fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[pulse_slicer_pcm] Analyzer Device
codes     : {4526}ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[pulse_slicer_pcm] Analyzer Device
codes     : {3526}ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[pulse_slicer_pcm] Analyzer Device
codes     : {3525}ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[pulse_slicer_pcm] Analyzer Device
codes     : {3525}ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[pulse_slicer_pcm] Analyzer Device
codes     : {2501}fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


rtl_433 guessed that the modulation was ‘short_width: 1, long_width: 1, reset_limit: 1024, sync_width: 0’ and used it to produce the output shown above.

This output puzzled me, mostly because I could not make out a packet structure. I thought that looking at the raw signal in a graphical tool would help. I found the fantastic software Universal Radio Hacker (URH) which is something like a Swiss army knife for SDR analysis. I used it to open one of the .cu8 files I had captured in rtl_433 (using the -S option). The output looked like this:

URH whole pulse

Clearly, URH had guessed the modulation of the signal differently to rtl_433. When I looked at several .cu8 files a package structure started to emerge and I concluded that URH was more right than rtl_433.

Looking at the signal in URH, I found that the signal had tapered ends. Each transmission began with a gradual increase in signal amplitude over approximately 300 μs. Then comes periods of 500 μs of what appears to be different frequencies. Presumably, one frequency means 1 and another means 0.

URH pulse start

Building the decoder to capture data

Capturing the signal with rtl_433

I figured that it would be best to try to get rtl_433 to capture the signal. rtl_433 is great for collecting data since you can get it to output the results in csv format.

In rtl_433 you can use the option ‘-X’ to dictate what modulation will be used. It has the parameters ‘modulation’, ‘short’, ‘long’, ‘reset’, and ‘gap’. I don’t really understand what any of those mean in the context of my sort of modulation so I set both short and long to 500. With reset and gap, I tried different parameters. I found that some parameters make rtl_433 chop the package up into several rows, and for other the packages would get sections with the same data repeated. I experimented with different sets until I found parameters that minimized these issues.

At this stage I also cloned the rtl_433 repository and started getting into how the code works. To create a new decoder, rtl_433 provides a template C file. You define modulation and package structure, and rtl_433 will then use your decoder C file to decode transmissions that match. I started with the template and wrote a decoder (see GitHub link) that would output the mystery packages as both hex code and binary. This was so that I would get the raw data from the packages so I could analyse them in R.

Now that I had the decoder I could start rtl_433 and have it capture data automatically using this command:

rtl_433 -f 868M -X 'n=name,m=FSK_PCM,s=500,l=500,r=10000,g=7000' -M level -F csv:capture_withX_livingroom_14.csv

The ‘-X’ does largely the same as my decoder. However, I found that many packages are caught by the ‘-X’ option but not the decoder. I still don’t know why that is.

The ‘-M level’ generates the Received Signal Strength Indicator (rssi) is is also part of the csv output. This is useful because I could place my laptop in various places to get an idea where the signals are coming from.

Package analysis

It’s finally time to start looking at the packages. It seems that every package starts with 8 bytes of 0xAA followed by 0x2DD4. After that follows a number of bytes. All unique packages are given below (in ‘Click for data’). The seven first columns are the 8 first bytes, and the ‘rest’ column contains whatever is left of the package. The ‘count’ column indicates how many instances there are of the particular package.

All R scripts used for the analysis below as well as data can be found in this repository.


Click for data
byte 11 to 12 byte 13 byte 14 byte 15 byte 16 byte 17 byte 18 byte 19 to end count
075B 01 40 4A 80 3F FF FFFFF8 1
075B 02 80 4C 00 1F 8F 005B8 1
075B 02 80 95 00 6F 3C 011C 2
075B 02 80 95 00 79 BC 01160 1
075B 02 80 98 00 3F 1E 00B70 1
075B 04 02 50 01 E8 F0 0458 2
075B 05 00 38 03 36 00 8 1
075B 05 00 95 00 3C DE 0088 4
075B 05 00 95 00 79 BC 01160 1
075B 05 00 B0 00 FC 78 02DC 1
075B 05 01 1E 00 D9 78 0208 2
075B 05 01 1E 00 DB 78 020 2
075B 05 01 1E 00 DC 78 020 2
075B 05 01 1E 00 DE 78 020C 6
075B 05 01 1E 00 DF 78 020 36
075B 05 01 1E 00 DF 78 0200 13
075B 05 01 1E 00 E0 78 0230 28
075B 05 01 1E 00 E1 78 0230 131
075B 05 01 1E 00 E2 78 0230 76
075B 05 01 1E 00 E3 78 020 62
075B 05 01 1E 00 E3 78 0200 7
075B 05 01 1E 00 E4 78 0230 48
075B 05 01 1E 00 E5 78 0230 40
075B 05 01 1E 00 E6 78 0234 33
075B 05 01 1E 00 E7 78 0230 71
075B 05 01 1E 00 E8 78 0238 124
075B 05 01 1E 00 E8 78 023B0 1
075B 05 01 1E 00 E8 78 023B00 1
075B 05 01 1E 00 E9 78 0238 82
075B 05 01 1E 00 EA 78 0238 222
075B 05 01 1E 00 EA 78 02390 1
075B 05 01 1E 00 EB 78 020 88
075B 05 01 1E 00 EB 78 0200 8
075B 05 01 1E 00 EC 78 020 83
075B 05 01 1E 00 EC 78 0200 7
075B 05 01 1E 00 EC 78 023F0 1
075B 05 01 1E 00 EC 78 023F00 1
075B 05 01 1E 00 ED 78 020 172
075B 05 01 1E 00 ED 78 0200 39
075B 05 01 1E 00 EE 78 023C 202
075B 05 01 1E 00 EF 78 020 110
075B 05 01 1E 00 EF 78 0200 25
075B 05 01 1E 00 EF 78 023C 2
075B 05 01 1E 00 EF 78 023C0 2
075B 05 01 1E 00 F 1
075B 05 01 1E 00 F0 78 0220 285
075B 05 01 1E 00 F0 78 02230 1
075B 05 01 1E 00 F0 78 022300 1
075B 05 01 1E 00 F1 78 0220 309
075B 05 01 1E 00 F1 78 02220 1
075B 05 01 1E 00 F2 78 0220 399
075B 05 01 1E 00 F2 78 02210 1
075B 05 01 1E 00 F2 78 022100 1
075B 05 01 1E 00 F3 78 020 289
075B 05 01 1E 00 F3 78 0200 54
075B 05 01 1E 00 F3 78 02200 2
075B 05 01 1E 00 F3 78 022000 1
075B 05 01 1E 00 F4 78 0220 377
075B 05 01 1E 00 F4 78 0226 1
075B 05 01 1E 00 F4 78 02270 3
075B 05 01 1E 00 F4 F0 0450 1
075B 05 01 1E 00 F5 78 0220 631
075B 05 01 1E 00 F5 78 02260 4
075B 05 01 1E 00 F5 78 022600 1
075B 05 01 1E 00 F6 78 0220 2
075B 05 01 1E 00 F6 78 0224 247
075B 05 01 1E 00 F6 78 02250 1
075B 05 01 1E 00 F7 78 0220 128
075B 05 01 1E 00 F7 78 02240 4
075B 05 01 1E 00 F8 78 0228 102
075B 05 01 1E 00 F9 78 0228 109
075B 05 01 1E 00 FA 0 1
075B 05 01 1E 00 FA 78 0228 290
075B 05 01 1E 00 FB 78 022 333
075B 05 01 1E 00 FB 78 0220 67
075B 05 01 1E 00 FB 78 02280 7
075B 05 01 1E 00 FB 78 022800 1
075B 05 01 1E 00 FC 78 022 171
075B 05 01 1E 00 FC 78 0220 42
075B 05 01 1E 00 FC 78 022F0 2
075B 05 01 1E 00 FD 78 022 113
075B 05 01 1E 00 FD 78 0220 5
075B 05 01 1E 00 FD 78 022E0 1
075B 05 01 1E 00 FE 78 022C 99
075B 05 01 1E 00 FF 78 022 70
075B 05 01 1E 00 FF 78 0220 8
075B 05 01 1E 00 FF 78 022C0 1
075B 05 01 1E 01 00 78 02D0 25
075B 05 01 1E 01 01 78 02D0 24
075B 05 01 1E 01 02 78 02C 30
075B 05 01 1E 01 02 78 02C0 5
075B 05 01 1E 01 03 78 02D0 42
075B 05 01 1E 01 03 78 02D70 1
075B 05 01 1E 01 03 78 02D700 1
075B 05 01 1E 01 04 78 02D0 45
075B 05 01 1E 01 0C 78 02C 2
075B 05 01 1E 01 0C 78 02C0 1
075B 05 01 2 1
075B 05 01 28 00 E5 78 020 2
075B 05 01 28 00 E5 78 0200 1
075B 05 01 28 00 E6 78 0220 2
075B 05 01 28 00 E7 78 0220 2
075B 05 01 28 00 E8 78 0220 41
075B 05 01 28 00 E9 78 020 10
075B 05 01 28 00 E9 78 0200 1
075B 05 01 28 00 EA 78 0220 4
075B 05 01 28 00 EB 78 0220 153
075B 05 01 28 00 EB 78 0224 1
075B 05 01 28 00 EC 78 0224 64
075B 05 01 28 00 ED 78 0220 128
075B 05 01 28 00 ED 78 02240 1
075B 05 01 28 00 ED 78 022400 1
075B 05 01 28 00 EE 78 0228 568
075B 05 01 28 00 EE 78 022B0 4
075B 05 01 28 00 EE 78 022B00 3
075B 05 01 28 00 EF 78 0228 330
075B 05 01 28 00 EF 78 022A0 1
075B 05 01 28 00 F0 78 0228 285
075B 05 01 28 00 F0 78 02290 1
075B 05 01 28 00 F1 78 022 170
075B 05 01 28 00 F1 78 0220 41
075B 05 01 28 00 F2 78 022 108
075B 05 01 28 00 F2 78 0220 33
075B 05 01 28 00 F2 78 022F0 2
075B 05 01 28 00 F2 78 022F00 2
075B 05 01 28 00 F3 78 022 46
075B 05 01 28 00 F3 78 0220 15
075B 05 01 28 00 F4 0 1
075B 05 01 28 00 F4 78 022C 89
075B 05 01 28 00 F4 78 022D0 3
075B 05 01 28 00 F4 78 022D00 1
075B 05 01 28 00 F5 78 022 102
075B 05 01 28 00 F5 78 0220 37
075B 05 01 28 00 F5 78 022C 1
075B 05 01 28 00 F5 78 022C0 2
075B 05 01 28 00 F5 78 022C00 1
075B 05 01 28 00 F6 78 02D0 12
075B 05 01 28 00 F7 78 02D0 5
075B 05 01 28 00 F9 78 02C 2
075B 05 01 28 00 F9 78 02C0 1
075B 05 01 28 00 FA 78 02D0 45
075B 05 01 28 00 FA 78 02D70 1
075B 05 01 28 00 FA 78 02D700 1
075B 05 01 28 00 FB 78 02D0 109
075B 05 01 28 00 FC 78 02D4 128
075B 05 01 28 00 FC 78 02D50 1
075B 05 01 28 00 FD 78 02D0 67
075B 05 01 28 00 FD 78 02D40 1
075B 05 01 28 00 FE 78 02D8 25
075B 05 01 28 00 FE 78 02DB0 2
075B 05 01 28 00 FF 78 02D8 78
075B 05 01 28 00 FF 78 02DA0 1
075B 05 01 28 00 FF 78 02DA00 1
075B 05 01 28 01 00 78 02C 60
075B 05 01 28 01 00 78 02C0 11
075B 05 01 28 01 00 78 02D80 2
075B 05 01 28 01 01 78 02C 20
075B 05 01 28 01 01 78 02C0 4
075B 05 01 28 01 02 78 02C 14
075B 05 01 28 01 02 78 02C0 2
075B 05 01 28 01 03 78 02DC 30
075B 05 01 28 01 03 78 02DFC 1
075B 05 01 28 01 03 78 02DFC0 1
075B 05 01 28 01 04 78 02C 18
075B 05 01 28 01 04 78 02C0 4
075B 05 01 28 01 05 78 02C0 21
075B 05 01 28 01 05 78 02C30 1
075B 05 01 28 01 05 78 02C300 1
075B 05 01 28 01 06 78 02C0 26
075B 05 01 28 01 07 78 02C0 12
075B 05 01 28 01 08 78 02 26
075B 05 01 28 01 09 78 02C0 9
075B 05 01 28 01 0A 78 02C0 5
075B 05 01 28 01 0B 78 02C4 39
075B 05 01 28 01 0B 78 02C50 1
075B 05 01 28 01 0C 78 02C0 109
075B 05 01 28 01 0D 78 02C8 72
075B 05 01 28 01 0D 78 02CB0 3
075B 05 01 28 01 0F 78 02C8 14
075B 05 01 28 01 12 78 02C 2
075B 05 01 28 01 12 78 02C0 1
075B 05 01 2A 00 3C DE 008B00 1
075B 05 01 2A 00 79 BC 00458 1
075B 05 01 2A 00 79 BC 0088 1
075B 05 01 2A 00 79 BC 0110 2
075B 05 01 2A 00 79 BC 01160 3
075B 05 01 2A 00 79 BC 011600 1
075B 05 01 2A 00 79 BC 022C0 1
075B 05 01 2A 00 79 BC 022C00 1
075B 05 01 2A 00 D4 F0 0448 1
075B 05 01 2A 00 D9 78 0230 3
075B 05 01 2A 00 DD 78 0238 4
075B 05 01 2A 00 DE 78 0238 87
075B 05 01 2A 00 DF 78 020 54
075B 05 01 2A 00 DF 78 0200 5
075B 05 01 2A 00 E0 1
075B 05 01 2A 00 E0 78 020 10
075B 05 01 2A 00 E0 78 0200 2
075B 05 01 2A 00 E1 78 020 8
075B 05 01 2A 00 E2 78 023C 8
075B 05 01 2A 00 E3 78 020 19
075B 05 01 2A 00 E3 78 0200 4
075B 05 01 2A 00 E4 78 0220 26
075B 05 01 2A 00 E5 78 0220 29
075B 05 01 2A 00 E5 78 02220 1
075B 05 01 2A 00 E6 78 0220 81
075B 05 01 2A 00 E6 78 0221 1
075B 05 01 2A 00 E6 78 02210 2
075B 05 01 2A 00 E7 78 020 64
075B 05 01 2A 00 E7 78 0200 21
075B 05 01 2A 00 E7 78 02200 2
075B 05 01 2A 00 E8 70 044 1
075B 05 01 2A 00 E8 70 0440 1
075B 05 01 2A 00 E8 78 022 1
075B 05 01 2A 00 E8 78 0220 83
075B 05 01 2A 00 E8 78 0227 1
075B 05 01 2A 00 E8 78 02270 2
075B 05 01 2A 00 E9 78 0220 126
075B 05 01 2A 00 E9 78 02260 2
075B 05 01 2A 00 E9 78 022600 1
075B 05 01 2A 00 EA 04 80 2
075B 05 01 2A 00 EA 78 0224 129
075B 05 01 2A 00 EA 78 02250 2
075B 05 01 2A 00 EA 78 022500 1
075B 05 01 2A 00 EB 78 0220 119
075B 05 01 2A 00 EB 78 02240 1
075B 05 01 2A 00 EC 78 0228 33
075B 05 01 2A 00 ED 78 0228 60
075B 05 01 2A 00 ED 78 022A0 1
075B 05 01 2A 00 ED 78 022A00 1
075B 05 01 2A 00 EE 78 0228 81
075B 05 01 2A 00 EF 78 022 275
075B 05 01 2A 00 EF 78 0220 30
075B 05 01 2A 00 EF 78 0228 3
075B 05 01 2A 00 EF 78 02280 11
075B 05 01 2A 00 EF 78 022800 3
075B 05 01 2A 00 F0 78 022 178
075B 05 01 2A 00 F0 78 0220 37
075B 05 01 2A 00 F1 78 022 165
075B 05 01 2A 00 F1 78 0220 19
075B 05 01 2A 00 F1 78 022E0 1
075B 05 01 2A 00 F2 0 1
075B 05 01 2A 00 F2 78 022C 129
075B 05 01 2A 00 F2 78 022D 1
075B 05 01 2A 00 F2 78 022D0 2
075B 05 01 2A 00 F2 E0 088 1
075B 05 01 2A 00 F3 78 0110 2
075B 05 01 2A 00 F3 78 01160 2
075B 05 01 2A 00 F3 78 0210 1
075B 05 01 2A 00 F3 78 022 91
075B 05 01 2A 00 F3 78 0220 14
075B 05 01 2A 00 F3 78 022C 2
075B 05 01 2A 00 F3 78 022C0 20
075B 05 01 2A 00 F3 78 022C00 2
075B 05 01 2A 00 F3 78 044 1
075B 05 01 2A 00 F3 78 0440 1
075B 05 01 2A 00 F3 7F FC 1
075B 05 01 2A 00 F4 78 02D0 19
075B 05 01 2A 00 F5 78 0168 1
075B 05 01 2A 00 F5 78 02D0 16
075B 05 01 2A 00 F5 78 02D20 1
075B 05 01 2A 00 F6 78 02D0 34
075B 05 01 2A 00 F6 78 02D10 1
075B 05 01 2A 00 F7 78 02C 37
075B 05 01 2A 00 F7 78 02C0 11
075B 05 01 2A 00 F8 78 02D0 61
075B 05 01 2A 00 F9 78 02D0 137
075B 05 01 2A 00 F9 78 02D6 2
075B 05 01 2A 00 F9 78 02D60 2
075B 05 01 2A 00 F9 78 02D600 1
075B 05 01 2A 00 FA 78 02D4 111
075B 05 01 2A 00 FB 78 02D0 81
075B 05 01 2A 00 FB 78 02D4 1
075B 05 01 2A 00 FB 78 02D40 1
075B 05 01 2A 00 FC 78 02D8 158
075B 05 01 2A 00 FD 78 02D8 218
075B 05 01 2A 00 FD 78 02DA0 1
075B 05 01 2A 00 FD F0 05B0 1
075B 05 01 2A 00 FE 78 02D8 15
075B 05 01 2A 00 FF 78 02C 27
075B 05 01 2A 00 FF 78 02C0 3
075B 05 01 2A 01 00 78 02C 42
075B 05 01 2A 01 00 78 02C0 2
075B 05 01 2A 01 00 78 02DE 2
075B 05 01 2A 01 01 78 02DC 24
075B 05 01 2A 01 02 0 1
075B 05 01 2A 01 02 78 02C 133
075B 05 01 2A 01 02 78 02C0 21
075B 05 01 2A 01 02 78 02DC0 1
075B 05 01 2A 01 03 78 02C0 16
075B 05 01 2A 01 E6 F0 0458 1
075B 05 01 30 00 7E 3C 016E 1
075B 05 01 30 00 7E BC 016 1
075B 05 01 30 00 F3 78 02D0 2
075B 05 01 30 00 F4 78 02D4 7
075B 05 01 30 00 F5 78 02D0 6
075B 05 01 30 00 F6 78 02D8 9
075B 05 01 30 00 F7 78 02D8 11
075B 05 01 30 00 F8 78 02D8 9
075B 05 01 30 00 F9 78 02C 179
075B 05 01 30 00 F9 78 02C0 38
075B 05 01 30 00 F9 78 02D80 1
075B 05 01 30 00 F9 78 02D800 1
075B 05 01 30 00 FA 78 02C 373
075B 05 01 30 00 FA 78 02C0 60
075B 05 01 30 00 FB 78 02C 375
075B 05 01 30 00 FB 78 02C0 87
075B 05 01 30 00 FB 78 02DC 1
075B 05 01 30 00 FB 78 02DE 3
075B 05 01 30 00 FB 78 02DE0 2
075B 05 01 30 00 FB 78 02DE00 1
075B 05 01 30 00 FB 78 058 1
075B 05 01 30 00 FC 78 02D8 1
075B 05 01 30 00 FC 78 02DC 614
075B 05 01 30 00 FC 78 02DD0 8
075B 05 01 30 00 FC 78 02DD00 1
075B 05 01 30 00 FD 78 02C 333
075B 05 01 30 00 FD 78 02C0 93
075B 05 01 30 00 FD 78 02DC 5
075B 05 01 30 00 FD 78 02DC0 5
075B 05 01 30 00 FE 78 02C0 118
075B 05 01 30 00 FF 78 02C0 149
075B 05 01 30 01 00 78 02 229
075B 05 01 30 01 01 78 02C0 255
075B 05 01 30 01 02 78 02C0 235
075B 05 01 30 01 03 78 02C4 88
075B 05 01 30 01 04 78 02C0 50
075B 05 01 30 01 05 78 02C8 87
075B 05 01 30 01 06 78 02C8 76
075B 05 02 60 01 FA F0 058 1
075B 07 FF 2
075B 0A 01 30 00 E7 78 022C 2
075B 0A 01 30 00 E8 78 022 3
075B 0A 01 30 00 E9 78 02D0 4
075B 0A 01 30 00 EA 78 02D0 3
075B 0A 01 30 00 EB 78 02D0 1
075B 0A 01 30 00 EC 78 02C 5
075B 0A 02 54 01 E6 F0 0458 1
075B 0A 02 60 01 FA F0 05B8 1
075B 0A 08 F0 07 9B C0 10 1
075B A0 2A 00 EB 78 02 20 1
DCCC 04 02 10 00 4F 00 08 2
DCCC 05 01 0A 00 C4 78 0020 30
DCCC 05 01 0A 00 C5 78 0020 16
DCCC 05 01 0A 00 C6 78 0024 10
DCCC 05 01 0A 00 C7 78 0020 15
DCCC 05 01 0A 00 C8 78 0028 8
DCCC 05 01 0A 00 C9 78 0028 12
DCCC 05 01 0A 00 CA 78 0028 12
DCCC 05 01 0A 00 CB 78 002 107
DCCC 05 01 0A 00 CB 78 0020 12
DCCC 05 01 0A 00 CC 78 002 121
DCCC 05 01 0A 00 CC 78 0020 6
DCCC 05 01 0A 00 CD 78 002 97
DCCC 05 01 0A 00 CD 78 0020 17
DCCC 05 01 0A 00 CE 78 002C 122
DCCC 05 01 0A 00 CE 78 002D0 1
DCCC 05 01 0A 00 CF 78 002 213
DCCC 05 01 0A 00 CF 78 0020 35
DCCC 05 01 0A 00 D0 78 00D0 209
DCCC 05 01 0A 00 D0 78 00D30 1
DCCC 05 01 0A 00 D1 78 00D0 185
DCCC 05 01 0A 00 D1 78 00D20 1
DCCC 05 01 0A 00 D2 78 00A0 1
DCCC 05 01 0A 00 D2 78 00D0 220
DCCC 05 01 0A 00 D2 78 00D10 1
DCCC 05 01 0A 00 D3 78 00C 577
DCCC 05 01 0A 00 D3 78 00C0 82
DCCC 05 01 0A 00 D3 78 00D 1
DCCC 05 01 0A 00 D3 78 00D00 3
DCCC 05 01 0A 00 D4 78 00D0 670
DCCC 05 01 0A 00 D5 78 00D0 523
DCCC 05 01 0A 00 D5 78 00D60 1
DCCC 05 01 0A 00 D6 78 00D4 24
DCCC 05 01 0A 00 D7 78 00D0 26
DCCC 05 01 0A 00 D8 78 00D8 96
DCCC 05 01 0A 00 D9 78 00D8 121
DCCC 05 01 0A 00 DA 78 00D8 98
DCCC 05 01 0A 00 DB 78 00C 161
DCCC 05 01 0A 00 DB 78 00C0 11
DCCC 05 01 0A 00 DC 78 00C 145
DCCC 05 01 0A 00 DC 78 00C0 13
DCCC 05 01 0A 00 DC 78 00DF0 5
DCCC 05 01 0A 00 DD 78 00C 264
DCCC 05 01 0A 00 DD 78 00C0 63
DCCC 05 01 0A 00 DE 78 00DC 7
DCCC 05 01 16 00 FA 78 00E4 6
DCCC 05 01 16 00 FB 78 00E0 48
DCCC 05 01 16 00 FC 78 00E8 41
DCCC 05 01 16 00 FC 78 00EB0 1
DCCC 05 01 16 00 FC 78 00EB00 1
DCCC 05 01 16 00 FD 78 00E8 15
DCCC 05 01 16 00 FE 78 00E8 20
DCCC 05 01 16 00 FF 78 00E 9
DCCC 05 01 16 01 00 78 00E 5
DCCC 05 01 16 01 01 78 00EC 39
DCCC 05 01 16 01 02 78 00E 15
DCCC 05 01 16 01 03 78 0090 1
DCCC 05 01 1A 00 A1 0 1
DCCC 05 01 1A 00 A1 00 1
DCCC 05 01 1A 00 C 1
DCCC 05 01 1A 00 C7 78 00D0 26
DCCC 05 01 1A 00 DA 78 00C8 19
DCCC 05 01 1A 00 DB 78 00C 59
DCCC 05 01 1A 00 DB 78 00C0 14
DCCC 05 01 1A 00 DC 78 00C 48
DCCC 05 01 1A 00 DC 78 00C0 12
DCCC 05 01 1A 00 DD 78 00C 56
DCCC 05 01 1A 00 DD 78 00C0 32
DCCC 05 01 1A 00 DE 78 00CC 55
DCCC 05 01 1A 00 DF 78 00C 30
DCCC 05 01 1A 00 E0 78 00F0 46
DCCC 05 01 1A 00 E1 78 00F0 29
DCCC 05 01 1A 00 E1 78 00F20 1
DCCC 05 01 1A 00 E2 78 00F0 66
DCCC 05 01 1A 00 E3 78 00 64
DCCC 05 01 1A 00 E4 78 00F0 161
DCCC 05 01 1A 00 E5 78 00F0 130
DCCC 05 01 1A 00 E5 78 00F60 1
DCCC 05 01 1A 00 E6 78 00F4 42
DCCC 05 01 1A 00 E7 78 00F0 42
DCCC 05 01 1A 00 E8 78 00F8 58
DCCC 05 01 1A 00 E9 78 00F8 42
DCCC 05 01 1A 00 EA 78 00F8 43
DCCC 05 01 1A 00 EB 78 00 11
DCCC 05 01 1A 00 EC 78 00 22
DCCC 05 01 1A 00 EC 78 00FF0 1
DCCC 05 01 1A 00 ED 78 00 14
DCCC 05 01 1A 00 ED 78 00FE0 1
DCCC 05 01 1A 00 EE 78 00FC 40
DCCC 05 01 1A 00 EF 78 00 23
DCCC 05 01 1A 00 EF 78 00FC0 1
DCCC 05 01 1A 00 EF 78 00FC00 1
DCCC 05 01 1A 00 F0 78 00E0 26
DCCC 05 01 1A 00 F1 78 00E0 15
DCCC 05 01 1A 00 F2 78 00E0 76
DCCC 05 01 1A 00 F2 78 00E10 2
DCCC 05 01 1A 00 F3 78 00 41
DCCC 05 01 1A 00 F4 78 00E0 9
DCCC 05 01 1A 00 F5 78 00E0 10
DCCC 05 01 1A 00 F9 78 00E8 1
DCCC 05 01 1A 00 FB 78 00E 12
DCCC 05 01 1A 00 FC 78 00E 15
DCCC 05 01 1A 00 FD 78 00E 27
DCCC 05 01 1A 00 FD 78 02E 1
DCCC 05 01 1E 00 DF 78 00 63
DCCC 05 01 1E 00 E0 78 00F0 9
DCCC 05 01 1E 00 E1 78 00F0 6
DCCC 05 01 1E 00 E2 78 00F4 10
DCCC 05 01 1E 00 E3 78 00F0 8
DCCC 05 01 1E 00 E4 78 00F8 18
DCCC 05 01 1E 00 E5 78 00F8 8
DCCC 05 01 1E 00 E6 78 00F8 8
DCCC 05 01 1E 00 E7 78 00 17
DCCC 05 01 1E 00 E8 78 00 47
DCCC 05 01 1E 00 E9 78 00 63
DCCC 05 01 1E 00 E9 78 00FE0 1
DCCC 05 01 1E 00 E9 78 00FE00 1
DCCC 05 01 1E 00 EA 78 00FC 55
DCCC 05 01 1E 00 EA 78 00FD0 2
DCCC 05 01 1E 00 EB 78 00 71
DCCC 05 01 1E 00 EC 78 00E0 96
DCCC 05 01 1E 00 EC 78 00E30 1
DCCC 05 01 1E 00 ED 78 00E0 234
DCCC 05 01 1E 00 EE 78 00E0 144
DCCC 05 01 1E 00 EF 78 00 360
DCCC 05 01 1E 00 F0 78 00E0 493
DCCC 05 01 1E 00 F1 78 00E0 307
DCCC 05 01 1E 00 F2 78 00E4 157
DCCC 05 01 1E 00 F3 78 00E0 46
DCCC 05 01 1E 00 F4 78 00E8 31
DCCC 05 01 1E 00 F5 78 00E8 72
DCCC 05 01 1E 00 F6 78 00E8 468
DCCC 05 01 1E 00 F7 78 00E 200
DCCC 05 01 1E 00 F7 78 00E0 41
DCCC 05 01 1E 00 F8 78 00E 50
DCCC 05 01 1E 00 F8 78 00E0 10
DCCC 05 01 1E 00 F9 78 00E 27
DCCC 05 01 1E 00 F9 78 00E0 6
DCCC 05 01 1E 00 FA 78 00EC 1
DCCC 05 01 1E 00 FD 78 0090 10
DCCC 65 00 48 C8 C8 00 0 1
DCCC 65 00 8 1
DCCC 65 00 C1 91 9F FF FF0 1
DCCC 65 00 C8 91 90 00 0 1
DCCC 65 00 C8 C 2
DCCC 65 00 C8 C8 1
DCCC 65 00 C8 C8 C 3
DCCC 65 00 C8 C8 C0 00 058 1
DCCC 65 00 C8 C8 C8 00 0 6018
DCCC 65 00 C8 C8 C8 00 00 2
DCCC 65 00 C8 C8 C8 00 00A 1
DCCC 65 00 C8 C8 C8 00 00B0 31
DCCC 65 00 C8 C8 C8 00 00B4 1
DCCC 65 00 C8 C8 C8 00 016 4
DCCC 65 00 C8 C8 C8 00 0160 1
DCCC 65 00 C8 C8 C8 00 0168 1
DCCC 65 00 C8 C8 C8 00 76 2
DCCC 65 00 C8 C9 90 00 0 1
DCCC 65 00 C8 DE 40 00 1
DCCC 65 00 C8 E4 64 00 0 1
DCCC 65 01 91 91 90 00 00 1
DCCC 65 01 91 91 90 00 016 3
DCCC 65 01 91 91 90 00 0160 2
DCCC 65 01 9F 1
DCCC 65 0C 98 1
DCCC 65 10 46 1E 00 00 758
DCCC 65 10 46 1E 00 00 0 1
DCCC 65 10 46 1E 00 00 00 2
DCCC 6A 01 91 91 93 FF F 1
DCCC 6A 20 C8 C8 C8 00 0 2430
DCCC 6A 20 C8 C8 C8 00 00 580
DCCC 6A 20 C8 C8 C8 00 0058 2
DCCC 6A 20 C8 C8 C8 00 00590 2
DCCC 6A 30 46 1E 00 00 272
DCCC 7F FF FF F 1
DCCC FD 01 0A 00 D5 78 00D0 1
EEA0 01 40 42 80 3A DE 00348 1
EEA0 02 00 28 03 C9 E0 036 1
EEA0 02 80 85 00 36 DE 00040 1
EEA0 02 80 85 00 71 3C 0014 3
EEA0 02 80 85 00 74 3C 0016 1
EEA0 02 80 85 00 75 3C 00698 1
EEA0 02 80 85 00 78 9C 000A 1
EEA0 02 80 85 00 78 9E 000AC 1
EEA0 02 80 85 00 7A DE 00348 1
EEA0 05 00 85 00 36 DC 00088 1
EEA0 05 00 85 00 3A 9E 0034C 1
EEA0 05 00 85 00 71 3C 000A 1
EEA0 05 00 85 00 75 BC 00690 1
EEA0 05 01 0 2
EEA0 05 01 04 01 C4 F0 0050 1
EEA0 05 01 08 1
EEA0 05 01 08 00 EE 00 10 1
EEA0 05 01 0A 00 1
EEA0 05 01 0A 00 00 10 1
EEA0 05 01 0A 00 71 3C 0014 2
EEA0 05 01 0A 00 75 78 00698 1
EEA0 05 01 0A 00 BC F0 004 1
EEA0 05 01 0A 00 BC F0 0040 1
EEA0 05 01 0A 00 C4 F0 0050 1
EEA0 05 01 0A 00 D6 F0 01A0 1
EEA0 05 01 0A 00 D7 78 000 4
EEA0 05 01 0A 00 D7 78 0000 1
EEA0 05 01 0A 00 D8 78 003C 375
EEA0 05 01 0A 00 D8 78 003D 3
EEA0 05 01 0A 00 D8 78 003D0 1
EEA0 05 01 0A 00 D8 78 003D00 1
EEA0 05 01 0A 00 D9 78 000 154
EEA0 05 01 0A 00 D9 78 0000 30
EEA0 05 01 0A 00 D9 78 003C0 1
EEA0 05 01 0A 00 DA 78 0020 302
EEA0 05 01 0A 00 DA 78 00230 2
EEA0 05 01 0A 00 DB 78 00108 1
EEA0 05 01 0A 00 DB 78 0020 444
EEA0 05 01 0A 00 DB 78 00220 1
EEA0 05 01 0A 00 DC 78 0020 375
EEA0 05 01 0A 00 DD 78 000 746
EEA0 05 01 0A 00 DD 78 0000 256
EEA0 05 01 0A 00 DD 78 00200 1
EEA0 05 01 0A 00 DD 78 002000 1
EEA0 05 01 0A 00 DE 78 0020 169
EEA0 05 01 0A 00 DE 78 00270 6
EEA0 05 01 0A 00 DE 78 002700 2
EEA0 05 01 0A 00 DF 78 0020 25
EEA0 05 01 0A 00 DF 78 00260 1
EEA0 05 01 0A 00 DF 78 002600 1
EEA0 05 01 0A 00 DF 78 002F8 1
EEA0 05 01 0A 00 DF 78 002F80 1
EEA0 05 01 0A 00 E0 78 0024 31
EEA0 05 01 0A 00 E0 78 00250 1
EEA0 05 01 0A 00 E1 3C 00158 1
EEA0 05 01 0A 00 E1 78 0020 21
EEA0 05 01 0A 00 E2 4 1
EEA0 05 01 0A 00 E2 78 0014 1
EEA0 05 01 0A 00 E2 78 0028 70
EEA0 05 01 0A 00 E2 78 002B0 4
EEA0 05 01 0A 00 E2 78 002B00 2
EEA0 05 01 0A 00 E2 78 0050 2
EEA0 05 01 0A 00 E2 7C 0014 2
EEA0 05 01 0A 00 E3 78 0028 53
EEA0 05 01 0A 00 E3 78 002A 2
EEA0 05 01 0A 00 E3 78 002A0 1
EEA0 05 01 0A 00 E4 78 0028 67
EEA0 05 01 0A 00 E5 78 002 185
EEA0 05 01 0A 00 E5 78 0020 53
EEA0 05 01 0A 00 E5 78 00280 2
EEA0 05 01 0A 00 E5 78 002800 1
EEA0 05 01 0A 00 E6 78 0016 2
EEA0 05 01 0A 00 E6 78 002 123
EEA0 05 01 0A 00 E6 78 0020 23
EEA0 05 01 0A 00 E6 78 002E 1
EEA0 05 01 0A 00 E7 78 002 39
EEA0 05 01 0A 00 E8 78 002C 584
EEA0 05 01 0A 00 E8 78 002D0 4
EEA0 05 01 0A 00 E8 78 002D00 2
EEA0 05 01 0A 00 E9 78 002 237
EEA0 05 01 0A 00 E9 78 0020 77
EEA0 05 01 0A 00 E9 78 002C 2
EEA0 05 01 0A 00 E9 78 002C0 4
EEA0 05 01 0A 00 E9 78 004 1
EEA0 05 01 0A 00 EA 78 00D0 124
EEA0 05 01 0A 00 EA 78 00D3 1
EEA0 05 01 0A 00 EA 78 00D30 5
EEA0 05 01 0A 00 EA 78 00D300 2
EEA0 05 01 0A 00 EB 78 00D0 553
EEA0 05 01 0A 00 EB 78 00D2 1
EEA0 05 01 0A 00 EB 78 00D20 6
EEA0 05 01 0A 00 EB 78 00D200 2
EEA0 05 01 0A 00 EC 78 00D0 530
EEA0 05 01 0A 00 EC 78 00D10 8
EEA0 05 01 0A 00 ED 78 00C 139
EEA0 05 01 0A 00 ED 78 00C0 15
EEA0 05 01 0A 00 ED 78 00D0 1
EEA0 05 01 0A 00 ED 78 00D00 1
EEA0 05 01 0A 00 ED 78 00D000 1
EEA0 05 01 0A 00 EE 0 1
EEA0 05 01 0A 00 EE 78 00D0 182
EEA0 05 01 0A 00 EE 78 00D7 2
EEA0 05 01 0A 00 EE 78 00D70 2
EEA0 05 01 0A 00 EF 0 1
EEA0 05 01 0A 00 EF 78 00C 1
EEA0 05 01 0A 00 EF 78 00C0 1
EEA0 05 01 0A 00 EF 78 00D0 306
EEA0 05 01 0A 00 EF 78 00D60 1
EEA0 05 01 0A 00 EF 78 00D600 1
EEA0 05 01 0A 00 F0 78 00D4 111
EEA0 05 01 0A 00 F0 78 00D5 2
EEA0 05 01 0A 00 F0 78 00D50 1
EEA0 05 01 0A 00 F0 79 FFFF 2
EEA0 05 01 0A 00 F1 3C 0014 1
EEA0 05 01 0A 00 F1 78 00D0 373
EEA0 05 01 0A 00 F1 78 00D4 1
EEA0 05 01 0A 00 F1 78 00D40 2
EEA0 05 01 0A 00 F2 78 00D8 402
EEA0 05 01 0A 00 F2 78 00DB0 2
EEA0 05 01 0A 00 F3 78 00D8 71
EEA0 05 01 0A 00 F3 78 00DA0 1
EEA0 05 01 0A 00 F4 4 1
EEA0 05 01 0A 00 F4 78 00D8 67
EEA0 05 01 0A 00 F5 0 1
EEA0 05 01 0A 00 F5 78 008 1
EEA0 05 01 0A 00 F5 78 00C 82
EEA0 05 01 0A 00 F5 78 00C0 13
EEA0 05 01 0A 00 F5 78 00D80 2
EEA0 05 01 0A 00 F6 78 00C 81
EEA0 05 01 0A 00 F6 78 00C0 10
EEA0 05 01 0A 00 F6 78 00DF0 1
EEA0 05 01 0A 00 F7 78 00C 38
EEA0 05 01 0A 00 F7 78 00C0 6
EEA0 05 01 0A 00 F8 78 00DC 193
EEA0 05 01 0A 00 F8 78 00DD0 3
EEA0 05 01 0A 00 F9 78 00C 152
EEA0 05 01 0A 00 F9 78 00C0 52
EEA0 05 01 0A 00 F9 78 00DC0 2
EEA0 05 01 0A 00 FA 78 00C0 111
EEA0 05 01 0A 00 FB 78 00C0 4
EEA0 05 01 0A 00 FC 78 00C0 1
EEA0 05 01 14 00 DB 78 00220 1
EEA0 05 01 14 01 E2 F0 01A 1
EEA0 05 01 14 01 E2 F0 01A0 1
EEA0 05 01 28 03 99 E0 008 1
EEA0 05 02 14 01 D2 F0 00580 1
EEA0 05 02 14 01 D6 F0 01A0 1
EEA0 05 FF FA 00 D8 78 003C 1
EEA0 06 02 14 01 E4 F0 01B0 1
EEA0 0A 02 14 01 89 E0 00AC 1
EEA0 0A 02 14 01 C4 F0 0050 2
EEA0 0A 02 14 01 D2 F0 004 1
EEA0 32 80 64 64 64 00 004C0 1
EEA0 4A 01 91 91 90 00 0 2
EEA0 63 FE 2
EEA0 64 01 91 91 90 00 01300 1
EEA0 65 0 1
EEA0 65 00 4
EEA0 65 00 41 90 00 02 0 1
EEA0 65 00 64 64 64 00 0 1
EEA0 65 00 64 64 64 00 00 1
EEA0 65 00 64 64 64 00 0024 1
EEA0 65 00 8 1
EEA0 65 00 91 91 90 00 00 1
EEA0 65 00 91 91 90 00 0130 2
EEA0 65 00 C 1
EEA0 65 00 C1 91 90 00 0 1
EEA0 65 00 C8 1
EEA0 65 00 C8 8 1
EEA0 65 00 C8 91 90 00 00 1
EEA0 65 00 C8 C 1
EEA0 65 00 C8 C8 1
EEA0 65 00 C8 C8 64 00 004C0 1
EEA0 65 00 C8 C8 90 00 0 2
EEA0 65 00 C8 C8 C 2
EEA0 65 00 C8 C8 C0 00 0 1
EEA0 65 00 C8 C8 C8 0 1
EEA0 65 00 C8 C8 C8 00 0 4855
EEA0 65 00 C8 C8 C8 00 00 12
EEA0 65 00 C8 C8 C8 00 0020 2
EEA0 65 00 C8 C8 C8 00 004 2
EEA0 65 00 C8 C8 C8 00 0040 2
EEA0 65 00 C8 C8 C8 00 004C 2
EEA0 65 00 C8 C8 C8 00 008 26
EEA0 65 00 C8 C8 C8 00 0080 8
EEA0 65 00 C8 C8 C8 00 009 1
EEA0 65 00 C8 C8 C8 00 0090 1
EEA0 65 00 C8 C8 C8 00 0098 6
EEA0 65 00 C8 C8 C8 00 00980 11
EEA0 65 00 C8 C8 C8 00 009800 1
EEA0 65 00 C8 C8 C8 00 010 2
EEA0 65 00 C8 C8 C8 02 0 1
EEA0 65 00 C8 C9 90 00 0 1
EEA0 65 00 C9 91 90 00 00 1
EEA0 65 00 C9 91 90 00 01300 1
EEA0 65 01 91 91 90 00 04 2
EEA0 65 10 40 1
EEA0 65 10 46 18 1
EEA0 65 10 46 1E 00 00 530
EEA0 65 10 46 1E 00 00 00 3
EEA0 65 10 46 1E 00 00 005A 1
EEA0 6A 00 C8 C8 C8 00 008 1
EEA0 CA 01 91 93 20 00 0 1
EEA0 E5 00 C8 C8 C8 00 008 1


Byte 1 to 10 - Header and 2DDF

First of all, each package appear to start with eight bytes of 0xAA. This is folowed by the two bytes: 0x2DDF. The 2DDF start is not the case for all packages, but for 99.86% of them. I’ve concluded this is most likely some set bytes that all packages start with. The few exceptions could be corrupted data.

AAAAAAAAAAAAAAAA2DD4...

Byte 11 to 12 - Different devices?

In the next 4 bytes things start to get more complex. I suspect that the next two bytes are ids for different devices. Most packages look something like this:

AAAAAAAAAAAAAAAA2DD4075B...

If we presume that the next four bytes after 2DDF are an id for a device, the id’s ‘DCCC’, ‘075B’, and ‘EEA0’ make up 39.03%, 32.74%, and 27.85% of all packages, respectively.

Looking at the rest if the ids, they usually have lower signal strength and there is also a tendeny for them to come from times when I have captured signals from unusual places. This is consistent with the less common ids being other devices further away.

Byte 13 - Two package types?

It seems like the first nibble of byte 13 indicates package type. As can be seen in the data, there seems to be two common types of packages. The first has a 0 in the first nibble of byte 13, and there are many variations on the data that comes in this package type. The second starts with a 6, and it’s a static package where there is a sequence of 0xC8C8C8 towards the end. When looking at timing of packages these two types are sent together, but more on that later.

Bytes 14 and 15 - ???

I don’t know what these are. As can be seen in the data, they don’t vary much. In the tables below any values with under 10 instances have been truncated. The fact that there is a small number of values that these bytes assume makes me think that they are not some sort of continues data, such as a temperature reading. Rather, they might be flags of some kind.

Byte 14

value count
00 11050
01 33446
02 14
10 1297
20 3014
30 272
80 15


Byte 15

value count
0A 12534
14 10
16 201
1A 1428
1E 9212
28 3248
2A 3268
30 3533
46 1568
85 13
91 16
C8 14033


Bytes 16 and 17 - Measures

When we look at packages where the first nibble of byte 13 is 0, byte 16 is ‘00’ 93.96% of the time, ‘01’ 0.01% (n=33428). Byte 17, on the other hand, assumes 89 different values, fairly evenly spread. I think that these signals are giving some sort of sensor reading which is 2 bytes long. Usually the sensor reading is less than 255 and only one byte is needed, making byte 16 0x00. But occasionally, the value goes over 255 and byte 16 becomes 01.

Data analysis

If we assume for a minute that bytes 16 and 17 are sensor values; we actually have some data to analyse. When plotting the values for these bytes, they did indeed appear to be some sort of sensor reading. One possibility is that they are temperature readings. If so, perhaps the value 260 actually means 26.0 degrees celsius? To investigate this further, I setup a Raspberry Pi to collect data from a few temperature sensors that I knew to be temperature sensors as well as my mystery signals. The shell script used to collect the data can be found here.

The known temperature sensors were Acurite Tower and Nexus and they were both transmitting on 433MHz and rtl_433 had decoders for them. Presumably they are both outside, and probably in the sun, because they peaked at 36 degrees. I checked a weather station in the area and they had recorded peak temperatures in the high 20s during the same period.

Mystery signals and known temperature - all data

It’s clear that the mystery signals are approximately following the know temperature sensors. We see that both in the 24 hour cycle and as the weather gets warmer and colder over several days. The mystery signals do not fluctuate as much, though, which may be because they could be indoor temperature sensors.

When we look closely at mystery-DCCC, we can see that there is often a small nudge in the curve late in the evening, around 23:00. In the graph below, we see that this nudge is around 01:00 on Saturday night. Could this be someones bedtime?

Mystery signals and known temperature - all 4 days

Conclusion

Much remains unknown about these signals. They are still mysterious. One could only speculate what the different package types might be, and most of the packages are unknown. However, it appears probably that byte 16 and 17 are in fact temparature readings from an indoor thermometer.

As for the decoder I wanted to build for rtl_433, it will have to wait.