⚠️Request: Linear Megacode Garage & Gate Remotes (Fixed/non-rolling code)

Request to support the Linear Megacode Protocol.

Frequency: 318MHz
Modulation: Amplitude Modulation (AM)
FCC ID: EF4 ACP00872 MODEL: Linear ACT-31B
FCC ID: EF4 ACP00728 MODEL: Linear MT-1B
FCC ID: EF4 ACP00729 MODEL: Linear MT-2B
Short: 1000 µs
Long: 1000 µs
Gap: 9000 µs
Reset: 20000 µs

A Linear Megacode transmission consists of 24 bit frames starting with the most significant bit and ending with the least. Each of the 24 bit frames is 6 milliseconds wide and always contains a single 1 millisecond pulse. A frame with more than 1 pulse or a frame with no pulse is invalid and a receiver should reset and begin watching for another start bit.

The position of the pulse within the bit frame determines if it represents a binary 0 or binary 1. If the pulse is within the first half of the frame, it represents binary 0. The second half of the frame represents a binary 1.


Example (From: https://triq.org/explorer/):
raw: 8DF78A
facility: 1 id: 48881 button: 2
bits: 10010000010000010000000010000010010000000010000010000010000010000010010000000010000010000010000010010000010000010000000010010000000010010… (up to 148 bits)

$ rtl_433 -g 100 -f 318M -X “n=Megacode,m=OOK_PCM,s=1000,l=1000,g=8000,r=10000”


Example (I created with my own remote):
Remote “A” has the code “17316”, a Facility Code of “3”, and a single button.
Start bit = 1
Facility Code 3 = 0011
Remote Code 17316 = 0100001110100100
Button 1 = 001
Result = 100110100001110100100001

1 becomes 000001
0 becomes 001000

The device needs to transmit with a 9000 µs gap between retransmissions:
000001 001000 001000 000001 000001 001000 000001 001000 001000 001000 001000 000001 000001 000001 001000 000001 001000 001000 000001 001000 001000 001000 001000 000001
wait 9000 µs
000001 001000 001000 000001 000001 001000 000001 001000 001000 001000 001000 000001 000001 000001 001000 000001 001000 001000 000001 001000 001000 001000 001000 000001

I’ve noticed that sometimes the transmission is actually:
1111111111111 001000 001000 000001 000001 001000 000001 001000 001000 001000 001000 000001 000001 000001 001000 000001 001000 001000 000001 001000 001000 001000 001000 000001


I created my own python script for generating the sub files and decoding the sub files so I know the flipper zero is able to encode and decode this protocol.


Useful links:

https://triq.org/explorer/
https://wiki.cuvoodoo.info/doku.php?id=megacode
FCC Info: https://wiki.cuvoodoo.info/lib/exe/fetch.php?media=megacode:megacode_1.pdf
FCC Info: https://fccid.io/EF4ACP00872/Test-Report/Megacode-2-112615.pdf
https://github.com/aaronsp777/megadecoder
https://github.com/rjmendez/Linear_keyfob
https://github.com/j07rdi/Linear_MegaCode_Garage_Remote


Files:
Code 17314 - Facility 3 - 1 Button - Model ACT-31B
Code 10798 - Facility 8 - 1 Button - Model MT-1B
Code 23642 - Facility 1 - 2 Button - Model MT-2B
Code 27751 - Facility 1 - 2 Button - Model MT-2B
Code 27865 - Facility 8 - 1 Button - Model MT-1B

10798.sub (8.6 KB)
17314.sub (11.5 KB)
23642_button1.sub (6.1 KB)
23642_button2.sub (9.4 KB)
27751_button1.sub (6.7 KB)
27751_button2.sub (10.7 KB)
27865.sub (8.3 KB)

1 Like

yes thank you very much I will in the next couple of days

4 Likes

2 Likes

Thank you!

Working?

Can’t download the DFU file

It does work. But…

  • Sometimes I have to send it a couple times to get the gate to open. Is it possible to have it send 3 times with gaps of 9,000 µs (1111 1111 1 = 000001000001000001000001000001000001000001000001000001) to 10,000 µs (1111 1111 11 = 000001000001000001000001000001000001000001000001000001000001)?
  • The ability to “Add Manually” would be great too. If possible I would prefer to add it by Facility/Sn/Btn but if that is not an option, being able to add it by Hex would be fine too.
  • The “Sn” is in Hex, can you add the Decimal representation too? The remotes have the decimal code printed on them. Attached is a picture of what I think would look nice.

We have a lot of these gate remotes at my work and it would make finding the “Sn” code much easier on remotes that have lost their sticker if it included the decimal representation too.

  1. the code is transmitted while you hold the transmit button but not longer than 40 seconds 2. it is possible, but I don’t have a remote control and until the end of understanding what parameters the remote control has, what buttons there are, and so on. because I heard saved, you can always fix it by opening the file on your computer and fix Hex 3. I’ll do it with the next PR
1 Like

Thanks

Works! Thank you!