Intercepting 433mHz Signals from Bios CE1177 Weather Station

Hi Matt,
First of all may I congratulate you on the quality of the 'scope graphics, very nice indeed. :slight_smile: I assume you can see about 80-100 ones (ie short pulses) leading into this data? Is one graphic the start of the header (many short pulses) and the second graphic a sample of the data (ie short and long pulses in either polarity)? That 5ms break though looks a bit strange and a bit worrying??? I have included my primitive Audacity screen capture of my data for you to look at. The top line is the signal, and the line below shows the activity of the CPU. The little "blip" is the CPU time processing the received bit before waiting for the next one.

It looks as though you might be on the right point. Those waveforms look a bit familiar, but I am not entirely convinced. The piezo could be used as a signal probe as you ear will pick the data packets. Though with a 'scope like that my advice may be redundant. You could solder a piezo transducer across that point and you should hear the "pure" tone of the data packets go past. I found hearing the packets was really handy as I knew how long it would take for the next to arrive eg approx 40 secs and I could associate any activity on the screen with data passing. Maybe your data polarity at that point is inverted, but I don't think so. My Arduino->Arduino worked.

My Version 20 may well be looking for my station number of "3" whereas your WS will start up with a random number 0-255 (or thereabouts) each time you power it up. Plus you will have to wait until the 4 or so Synch packets have been sent before the real data arrives.

I have put my very latest Version 22 below as well as a cut down Version of 22 called Debug. It has the Pressure and Humidity bits chopped out, and no filtering of the station number. The Debug version should announce the Synch packets and show the station number. It will also show the binary version of the packets for the first three packets and then show combined processed CSV data in between binary packets after that. Each packet type arrives in rotation 1,2,3 in 40 second separations, so it takes 40*3 seconds before all three packets can be combined into valid CSV style data. This may have been holding you back as you probably did not realise it could take up to 3-5minutes before valid data arrives, especially if the synch period is also included.

The Debug version should respond as soon as a packet arrives and flash Pin13 when ever a data stream passes and a header is detected. It maybe a good idea to power the Head Unit with batteries so a constant station number is produced during this time and synch activity is over and done with.

I hope this helps, you could be very close!!
However on the other hand, chin up!!

Rob
PS you may notice on the Audacity/CRO example below I have got the primary channel looking at the incoming signal from the 4333=MHz Rx and the other stereo channel looking at OutputPin13 ie the onboard LED. This allows me to ste and reset pin13 at critical parts of the waveform and see what the CPU is doing within the Bit timing, The small peak inside the low bit is the time it takes to process the bit and get ready for the next one and [ack the bytes etc. Other people may find this a handy debugging idea for cracking other Serial Protocols. Good luck.

MyOwnEX22.ino (19.4 KB)

DebugVersion.ino (18.7 KB)