Matt, Do you have enough data to be able to look at a single bit change (temperature ?) and see how that changes the final nibbles. This should at least assist in figuring out if it's a crc or a simple checksum. Also - How did you capture the data? Have you got a logic analyser or did you use a sound card on a PC & translate it from there? Richard 2010/1/13 Sarin Sukumar A : > What ever you should =A0have the crc polynomial that used in the crc > caculation =A0in the =A0transmitter > YOurs SaRIn.... > > On Tue, Jan 12, 2010 at 5:21 PM, Matt Callow wrote: > >> Hi, >> >> I've been trying to decode the signals from an RF temperature and >> humidity sensor. The sensor is a small battery powered sensor which >> comes as part of an home 'weather station' >> The messages are all 36 bits long, I've worked out most of it, but it >> looks like there may be a 4 bit checksum or crc at the end, which I >> have been unable to work out. >> >> Here are some examples, with the information I know. Each message >> contains a ID (which changes every time the sensor is reset and it >> used to 'pair' the sensor to the display unit), =A0channel id, 12 bit >> signed temperature reading and humidity as 2 BCD digits. I think the >> last 4 bits are some sort of checksum/crc >> >> This is what I know of the protocol so far >> >> ID? =A0CH ?????? Temperature =A0Humidity =A0CRC? >> 0001 01 001010 010100110000 1100 0010 1100 >> 0001 10 001010 111100110000 0010 0010 0111 >> 0001 11 001010 011100110000 1100 0010 0111 >> 0001 10 001000 111000110000 0010 0010 0101 >> 0001 10 001000 000100110000 0010 0010 1001 >> 0001 10 001000 100100110000 0010 0010 0001 >> >> I think the bits marked ?????? include battery level, and I'm not sure >> what else. >> >> I have lots of data, so I'm thinking that it should be possible to >> work out the CRC algorithm, however I've tried various crc calculators >> such as http://www.lammertbies.nl/comm/info/crc-calculation.html but >> have not been able to find the crc parameters. >> >> I've also tried crcbfs.pl to find the crc parameters, however this >> method requires that I have at least 2 strings of different lengths >> (which I don't have). >> >> Does anyone have any suggestions of how I might work out this CRC (if >> indeed it is a CRC)? >> >> Regards >> >> Matt >> >> -- >> http://www.piclist.com PIC/SX FAQ & list archive >> View/change your membership options at >> http://mailman.mit.edu/mailman/listinfo/piclist >> > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- = http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist