
To help me gain a better understanding of the CC1101, I decided to have a go at trying to record and decode a simple 433MHz signal.
Using the CC1101 sample, I flashed an ESP32-H2 with the code in Sender mode. This sets the CC1101 up so it transmits the string “Hello World” every second (including a count at the end).
I had to tweak the sample to work, since my CC1101 returns a Version Number of 4 and not 20.

Seeing the messages
As I did with my Kinetic switch I started with SDR++ and tried to see the message being send. The CC1101 was configured to send using FSK (Frequency Shift Keying) so I expected to see two frequencies at play.

Sure enough, every second, this pulse appeared with two obvious peaks at the sides! One at 433.995MHz and one at 434.035MHz. That’s a spread of 40KHz centred around 434.015MHz.
Looking at the “Waterfall” view, I noticed that the pulses weren’t consistently received once a second. There seemed to be a few pulses and then it would fade. A few second or two of silence and then the pulses would resume.

The logging from the ESP32 indicated the pulse was being sent, so I wasn’t sure why it wasn’t being received.
Looking for the binary
I then fired up Universal Radio Hacker and tried to see the signal using its Spectrum Analyser.
I did see a small spike at the expected frequency, right in the centre. I also noted spikes on the left at 433MHz and the one on the right at 434.9MHz

I was expecting a much clearer spike at the expected location.
After a lot of tweaking with UHR (samples at 3M!) I got the spikes to show.

This was obviously putting my machine under a lot of pressure!
Interestingly, whilst the centre was in the same place, the peaks either side where further apart.

Thankfully, I observed the pulses, evenly spaced!

Diving into onto of the packets yielded nothing useful. The pulses didn’t even to seem to form the wave forms I expected.

This process is so frustrating!!!
Back To SDR++
I hopped back to SDR++ to check my signal again. I continued to play around with the settings and found two things.
Firstly, the frequency of the spikes had *moved* for some reason. Secondly, lowering the sample rate resulted in all the pulses being captured.

Time for a break!
I decided to take a break for all this SDR stuff as I was only frustrating myself!





Leave a comment