Remote Control 433MHz – How to Duplicate a Rolling Code Remote

433mhzremote control

I'm having a 433.92 MHz standard remote control which uses "rolling code" encoding.

Are other "rolling code" encoding standard remote controls interoperable, or do I need a more detailed description of the "rolling code" (like a chip modal number, for ex. HCS301 / HCS300 / HCS200) and perhaps some other things?

So the question is: "Does having both remotes with the same chip (for example HSC301) working on the same 433.92MHz frequency, make them compatible with respect to copying (duplicating)?"

After some research my guess would be no, because I guess that different remotes might have different encoding algorithms (algorithms of rolling code progression), which might be proprietary.

Best Answer

Here's a quick overview of why you cannot copy a rolling code, even if they have the same algorithm:

As noted in the comments, a rolling code is designed to prevent someone from breaking in by recording and later replaying a transmit code. The system does this by employing:

  • A transmitter that transmits an ever-changing sequence of codes, and
  • A receiver that identifies a valid transmitter and only responds to new codes from that transmitter.

In practice (in Keeloq and similar systems, which to my knowlege means all rolling code systems in existence) the code gets changed each time the transmitter is activated, and the receiver keeps track of the last code it received from the transmitter.

For example imagine a rolling code transmitter with code sequence "ABC" -- in other words on the first five activations the transmitter would transmit codes ABC01, ABC02, ABC03, ABC04, ABC05. After that fifth transmission (assuming it was received by the receiver!) then the receiver would only accept code ABC06 or later. That's what makes the rolling code resistant to the record-and-replay hack.

Now let's copy our first transmitter (TX1) over to a second transmitter (TX2). We pair them up using the next transmission, code ABC06 and all seems well. On their next activation each transmitter will transmit code ABC07.

Hopefully you already see the problem. If activate TX1, it transmits code ABC07 and the receiver responds. But the next time I try to activate TX2, it also transmits code ABC07 and so the receiver rejects it as an old code. Maybe if TX2 were activated a few times it would get ahead of TX1 and activate the receiver... but then later on TX1 would need to "catch up" to TX2, and the whole system is... less than good.

So you cannot copy rolling code transmitters because copying a rolling code transmitter would only work well if you could somehow keep the two transmitters in sync with one another, and there is no practical way to do this. It is far easier to simply pair a second, new rolling code transmitter with the receiver, as Abel mentioned in the comments.