Intercepting 433mHz Signals from Bios CE1177 Weather Station

Hi Dan,

So you have an Ambient. It looks a good machine, I particularly like the solar charging of the batteries. I have looked up the three articles, but not the first. Both Manchester and OOK use ASK in these Weather Station cases. ie the 433 carrier totally disappears in between bursts. How this is interpreted is up to the way it is encoded. That one Ambient article would indicate that they probably use OOK for all their machines and probably vary the packet structure accordingly. So assuming OOK and the timings given would be a very good starting point.

Check this guy's article too, not Arduino but Raspberry-Pi but he makes very good observations that back up your articles
http://www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/

My Manchester code may not be that useful in its present form as Manchester has a standard data pattern length, whereas other OOK's can vary. This one has variable lengths for 1 (high 05.ms, low 1ms) and a 0 (high 1.5ms, low 1ms) but has the same the underlying concept of

  • getting the status of the line, waiting and
  • re-sampling to check it's not noise ( ie polarity has stayed the same) and then
  • wait some more to see if polarity has reversed, ie it is a 1, or has stayed the same, it is a 0, then
  • test similarly for the 1ms "low" separator and
  • try again.

You might like to use timer interrupts, but I prefer simple delays, conceptually easier for me to deal with, and this is the main task so no real need for pulse checking in the "background".

Cheers. Rob