# Decoding of binary signal from a temperature sensor [closed]

I have the following signal from a temperature sensor (broadcasts on 433.92 MHz, apparently as ASK).

I cannot for the life of me extract the temperature data.

I've tried reading off the bits in so many different ways (mostly by looking at the pulse widths) then searching the data for the temperature info.

For example:

This corresponds to a temp of 21.0.

I tried to read each pulse after the first 4 big pulses - that gives 37 bits:

1000111110010010110001100011111111000

Then I tried searching just for the 21 part. So I tried searching for 21, 61, 71 (in case the designer was adding 40 or 50 degrees to avoid negative numbers). I tried searching for the 2 and then the 1 bit shifted by 4. I tried negating all the bits. I tried searching in reverse.

Is it possible this is not pulse width modulation? Is it possible there are not 37 bits here?

## closed as too broad by MBaz, jojek♦, Laurent Duval, Peter K.♦Mar 4 '16 at 9:45

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

• Reverse engineering data stream can be tough (yet funny). From only one temperature information, this seems quite difficult. Digital information is often digitized with offset and scale. Can you record other temperatures? Do you have the datasheet of the sensor? – Laurent Duval Mar 2 '16 at 19:19
• ain't you supposed to have a definition of signal encoding out there? it is quite weird trying to decode this stream without actually knowing what the encoding was... – Fat32 Mar 2 '16 at 20:23

It is impossible to extract the correct data from this string with only one sample (as is mentioned by Laurent Duval in the comments). Here is something that caught my eye:

Markers

You have these four blocks at the beginning and the end of the signal that are some kind of start/end markers, I suppose. Are you sure that you caught the whole markers?

1000111110010010110001100011111111000 could be split up in the following way:

1000
1111

100100101100011000111

1111
1000


so the 1000 and 1111 might actually be part of the markers.

The temperature itself

You say the signal corresponds to 21.0°, i.e. a number with an accuracy of 0.1°. It could be that this is encoded as the integer 210. 210 in binary is 11010010 and you can find this string (reversed) in there:

100100101100011000111
01001011


The prefixing 10 is 2 in decimal and could be a 2 bit indicator of the number of 4 bit words that encode the temperature, however this would be strange since the temperature is reversed and the prefix is not...