/arduino-rf-rolling-code-keeloq-receiver

Arduino RF rolling code keeloq receiver

Primary LanguageCGNU General Public License v3.0GPL-3.0

Arduino RF rolling code keeloq receiver

Arduino RF rolling code keeloq receiver

HCS301 is a code hopping encoder designed for secure Remote Keyless Entry (RKE) systems. It is primarily used in vehicles and home garage door openers. The HCS301 utilizes Microchip’s patented.

Programmer:
Software: https://github.com/ioelectro/hcs-programmer-soft
Hardwer: https://github.com/ioelectro/arduino-hcs-programmer
Doc: https://ioelectro.ir/blog/hcs-programmer/

Keeloq Encoder/Decoder:
Algoritm: https://github.com/liyanboy74/KeeLoq
Doc: https://ioelectro.ir/blog/keeloq/

just Connect RF 433 or 315 Mhz receiver to pin 2 (INT0) arduino UNO v3.
for correct encoding the encrypted part of received packet we must know the key of keeloq algorithm.

Pinout

pin out

signal

Packet

Output Example:

Ready
001: fix=27E30EC3 : vr=1 btn=2 ser=7E30EC3 , enc=[B7F8C4B3] --> dec=2EC30762 : btn=2 ovr=3 disc=2C3 C=762 
002: fix=87E30EC3 : vr=0 btn=8 ser=7E30EC3 , enc=[0E58DE70] --> dec=8EC30763 : btn=8 ovr=3 disc=2C3 C=763 
003: fix=47E30EC3 : vr=1 btn=4 ser=7E30EC3 , enc=[4F2A7A4A] --> dec=4EC30764 : btn=4 ovr=3 disc=2C3 C=764 
004: fix=27E30EC3 : vr=1 btn=2 ser=7E30EC3 , enc=[663BD595] --> dec=2EC30765 : btn=2 ovr=3 disc=2C3 C=765 
005: fix=27E30EC3 : vr=1 btn=2 ser=7E30EC3 , enc=[663BD595] --> dec=2EC30765 : btn=2 ovr=3 disc=2C3 C=765 
006: fix=27E30EC3 : vr=1 btn=2 ser=7E30EC3 , enc=[663BD595] --> dec=2EC30765 : btn=2 ovr=3 disc=2C3 C=765 
007: fix=17E30EC3 : vr=0 btn=1 ser=7E30EC3 , enc=[E545BED6] --> dec=1EC30766 : btn=1 ovr=3 disc=2C3 C=766 
008: fix=17E30EC3 : vr=1 btn=1 ser=7E30EC3 , enc=[99C1FFFD] --> dec=1EC30767 : btn=1 ovr=3 disc=2C3 C=767 
009: fix=17E30EC3 : vr=1 btn=1 ser=7E30EC3 , enc=[99C1FFFD] --> dec=1EC30767 : btn=1 ovr=3 disc=2C3 C=767 
010: fix=17E30EC3 : vr=1 btn=1 ser=7E30EC3 , enc=[99C1FFFD] --> dec=1EC30767 : btn=1 ovr=3 disc=2C3 C=767 
011: fix=27E30EC3 : vr=0 btn=2 ser=7E30EC3 , enc=[03D99613] --> dec=2EC30768 : btn=2 ovr=3 disc=2C3 C=768 
012: fix=27E30EC3 : vr=1 btn=2 ser=7E30EC3 , enc=[03D99613] --> dec=2EC30768 : btn=2 ovr=3 disc=2C3 C=768 
013: fix=47E30EC3 : vr=0 btn=4 ser=7E30EC3 , enc=[2E5F68DF] --> dec=4EC30769 : btn=4 ovr=3 disc=2C3 C=769 
014: fix=87E30EC3 : vr=1 btn=8 ser=7E30EC3 , enc=[E81A3A01] --> dec=8EC3076A : btn=8 ovr=3 disc=2C3 C=76A 
015: fix=27E30EC3 : vr=0 btn=2 ser=7E30EC3 , enc=[A2D80E7C] --> dec=2EC3076B : btn=2 ovr=3 disc=2C3 C=76B 
016: fix=17E30EC3 : vr=0 btn=1 ser=7E30EC3 , enc=[F8FE34FC] --> dec=1EC3076C : btn=1 ovr=3 disc=2C3 C=76C 
017: fix=47E30EC3 : vr=0 btn=4 ser=7E30EC3 , enc=[3E3C92A0] --> dec=4EC3076D : btn=4 ovr=3 disc=2C3 C=76D 
018: fix=87E30EC3 : vr=0 btn=8 ser=7E30EC3 , enc=[06F256B0] --> dec=8EC3076E : btn=8 ovr=3 disc=2C3 C=76E 
019: fix=27E30EC3 : vr=0 btn=2 ser=7E30EC3 , enc=[58752313] --> dec=2EC3076F : btn=2 ovr=3 disc=2C3 C=76F 
020: fix=27E30EC3 : vr=0 btn=2 ser=7E30EC3 , enc=[553276E6] --> dec=2EC30770 : btn=2 ovr=3 disc=2C3 C=770