Lowes has both the 5-in-1 and 3-in-1 weather stations available in store. The 5-in-1 is pretty bulky so I thought I might see if the 3-in-1 would work. This sensor has temperature, humidity, and wind speed (no direction). It's around a foot tall and 6" blade diameter. I tried using RTL433 with this sensor but it did not pick up any valid data (it picked up the signal but the data was reported as all 1's). I then captured some data and understand why.
The attached image is an SDR export to Audacity. The data repeats only once rather than 3 times like the 5-in-1. Also, the startup signal is a very long pulse followed by 3 shorter pulses. The data is about the same as the 5-in-1. Breaking the time scale into 3 equal sized chunks per signal, a 1 is 2 high and one low and a 0 is 1 high and 2 low. I did not write down the exact times for each of these but they are in the attached image and saved in the captures on my HDD.
I captured data for around a dozen parametric configurations. The data is as follows (wind speed is approximate as it was either 0 or spun by hand to 5-10mph):
Channel TempF RH Wind Binary
A 68 57 0 Xxxx1100000000110011011000000011001100010001100111000000000000110011
A 68 57 6 Xxxx1100000000110011011000001011001000010001100111110000100010111101
B 17 41 0 Xxxx1011010000110001011000001010100100001100011100100000000001101100
B 48 37 0 Xxxx1011010000110001011000001010010100001111101001010000000010011110
B 53 68 0 Xxxx1011010000110001011000001100001100001111110110110000000011110010
B 53 68 6 Xxxx1011010000110001011000000100010000001111010101010000011111110100
B 56 79 0 Xxxx1011010000110001011000001100111100001111111100110000000000010110
B 64 96 0 Xxxx1011010000110001011000000110000010010000110011000000000000000001
B 68 57 0 Xxxx1011010000110001011000001011000100010001101000110000000010101010
B 68 57 6 Xxxx1011010000110001011000000011000000010001101000110000000000101001
C 68 57 0 Xxxx0010000100110100011000001011010000010001100011010000000000000111
I believe I have partially decoded the string, but I could use some help confirming and getting the last info out.
The data that I believe is being sent based on other Acurite threads is:
Channel - C
Battery status - B
Temperature - T
RH% - H
Wind speed - W
parity bit - p
At this point I'm kinda stuck. Wind and humidity work out just right. But, temperature data doesn't work out to anything meaningful. The other Acurite sensors seem to send temperature in C as T10+1000 but I can't find any bits that would match that. Examples that I should find in the data would be:
17F = -8.3C = (1000-8.310)=d917=b1110010101
I assumed all sensors transmitted in C, but I suppose it's possible this one is in F. I suppose it could be F since the wind measurement was the same as the display.
It indicates an accuracy and range for each component. Based on what it's listed, I believe the following:
Wind 0-99mph (7 bit for 1mph accuracy) or 0-4400 cm/s (6 bits if div by 100)
RH% 1-99 (7 bit)
Temp -40-158°F (8 bit if offset +40 for 1°F accuracy) or -40-70°C (7 bit if offset by 40 for 1°C accuracy)
I doubt they would use 8 bits for temperature when they could use 7 and get the 1C accuracy they claim in the specs (±2°F is basically ±1°C). I've seen other threads where they've decoded the temperature to be (degC*10+1000). That would result in 11 bits so it's possible they could be using more than 7 bits but I don't see 11 bits that represent the temperature here. I basically need to see 5 of the 11 data sets showing the same bit pattern for 11 bits (maybe some variation in the last couple that aren't displayed on the readout). But, it appears this is a lower quality sensor, so why waste the bits?
Now that I see that this sensor seems to be lower quality and less accurate, I think I'm going to get a different unit. This has been a good learning experience, but without any suggestions I'm kinda stuck. I'll go back and try to source a better quality wind/temperature/humidity sensor.
Sometimes when trying to decode unknown weather sensors, its worth looking at the Console thats receiving the transmissions, and then look at how many other types of sensors also work with the same console.
If the receiving console supports multiple types of sensors, then there has to be data fields in the transmissions to indicate what kind of sensor it is , so that the console knows what to expect in the transmissions.
Also, if the Console supports multiple channels, then there also has to be a data field in the sensors transmission to indicate what channel its on.
There is also likley to be some kind of CRC or checksum in the transmission to tell the console that the data is valid.
Common types of checksum algorithms are simple modulo 8 checksums or crc8 checksums or both.
Also, some sensors include rolling code algorithms to prevent the console picking up the wrong sensors, which can happen if you install a particular type of weather station , and your neighbour installs the same type .
Just check that they may have mixed their formats. One weather station I decoded used two nibbles BCD for humidity and then used 6 by 4 bit BCD nibbles (with a decimal conversion) for rainfall and BCD binary over 12bits for temperature. There is nothing to say they don't use BCD in one part and pure binary in another.