Flippers Princeton decoding seems to break command to ceiling fan

I have two 433 MHz remote control ceiling fan / light combo units in my home that I’m using to learn about Sub-GHz technology with my flipper. But I’ve run into an interesting problem with one of them.
The first device works normally replaying a command captured using the Sub-GHz ‘Read’ function with BinRAW is enabled. The remote buttons don’t decode to any known format such as Princeton commands (important for the second device). Simple, no issues there. This works as expected.
However, when I capture a command from the second device using the same method, it decodes to a Princeton 24 Bit format. Normally that wouldn’t phase me. But in this case, when I try to replay it, I get no response from the device.

I did a bit of troubleshooting and discovered the following.
If I use the ‘Read RAW’ function to stop the flipper demodulating and decoding the signal and just record the raw command and replay that, it works. It’s like the process of the flipper identifying and decoding the signal as a Princeton 24 Bit changes the command in some way the results in the device no longer picking it up as a valid command.

So, I have a few questions that arise from that.

  1. What is the flipper doing during the ‘Read’ mode decoding process that alters the captured signal in such a way that the device won’t recognise it in a replay?
  2. Is there a way that I’m missing to stop the flipper when in ‘Read’ mode from trying to identify /decode the signal and simply just demodulate it, stop there and record the data as ‘BinRAW’ even though it may successfully decode to Princeton 24 Bit format?

My first thought would usually be to use a tool like a HackRF or an SDR to receive the output of both the Princeton 24 Bit replay and the ‘Read RAW’ replay and try to identify any differences. But, I simply don’t have the tools to do that.

Flipper is running the latest version of the Official firmware at the time of writing (0.98.3).

1 Like

During the decoding step the Flipper has to make some educated guesses as to what the encoding is and it usually does that very well. Nothing is perfect though and decoding wrong can change the signal a bit.

Use the read raw function. That’s what it’s for.

Thanks for the response. I suppose that makes sense!

As a follow up then, how would one interpret the data stored in the raw format to study the protocol and learn how it works?
The read function shows you what it has decoded directly on the display as well as through the file explorer which is great to study and learn about the protocols captured. But I can’t find a way to easily study data stored in the raw format.

An SDR is the easier way but it looks like you might not have one. I think you can use the following online tool.

Amazing, thanks! @jmr
To be honest, I’m a bit embarrassed I couldn’t find that myself…

1 Like