flipper-zero-stuff/sub-ghz/ReadMe.md
2024-08-14 08:52:00 -07:00

6.6 KiB

Various SUB files I've found or created. Some tested, some not.

Special thanks to FalsePhilosopher for organization help and everyone else that shares files!
Worth a mention: If you have a HackRF, you can find a ton of files and info over at RocketGod's HackRF Treasure Chest.

How are the raw SUB files are formatted? (Adapted from a chat with ImprovingRigmarole!)

This is a very quick and dirty explanation of the Flipper "raw" SUB format. Enough to figure out more at least.
Each numerical value is the duration of a pulse in microseconds. Positive is send and negative is pause.
Example: 3607 -100 1789 -66 means send (positive) during the 3607µs then pause (negative) for the 100µs, etc.
You can easily plot any raw SUB (or IR) file at the Official Pulse Plotter and see a graph to help decode patterns.

Another take... positive numbers in the raw .SUB files tell you how long (in microseconds / μs) the signal was ON and the negative numbers tell you how long it was OFF. Usually on means 1 and off means 0. This also makes sense when you remember/realize OOK = On Off Keying.

NOTE: The deBruijn and OpenSesame files have moved to the Garages subfolder.

You can generate MANY of your own SUBs, such as MegaCode and Firefly, over at Flipper Maker.

Looking to mess with garage doors? You can try the OpenSesame/deBruijn files above.
(Also check out more info at RemoteDup, GarageHack, and Learn Button coding.

Frequency limitations and caveats

Officially supported frequencies: 300-348 MHz, 387-464 MHz, and 779-928 MHz (from CC1101 chip docs)
Unofficially supported frequencies: 281-361 MHz, 378-481 MHz, and 749-962 MHz (from YARD Stick One CC1111 docs)

Official does not allow anything outside of the officially supported CC1101 specs.
RogueMaster & CodeGrabber (Unleashed) allows unofficially supported frequencies with the extend_range and dangerous_settings files.

NOTE: Going outside the officially supported frequencies may DAMAGE YOUR FLIPPER AMP.
Please understand what you're doing if trying to break out of official frequencies.

Here's what the manufacturer of the chip (CC1101) says about going outside the limits:

The frequency range of the chip is always tested in the verification tests and there is always some design margin
included before the VCO and/or PLL has problems operating for a specified frequency range. Working outside the
frequency range can cause issues with the VCO and/or PLL and/or divider not operating correctly. If the VCO is
operating outside it's standard frequency range, there are risks of unwanted emissions and no oscillation. The PLL
can also fail to lock if operating outside it's standard frequency range and will still apply power to the antenna.

Risks with antenna mismatch are increased harmonics, reduced output power and increased current consumption.
Generally, the antenna mismatch can be large and the output stage will not be damaged when presented with a large
mismatch for short periods of time. However, if the antenna mismatch is very poor for long periods of time, then
this can effect the longevity of the chip especially if further stressed with maximum voltage and maximum temperature.
Recommend keeping VSWR better than 5:1 for worst case scenarios.

You'll need to edit some code and recompile if you want to break outside of the officially supported frequencies. Proceed with caution.

Officially supported frequencies according to region (as manufactured and programmed on Official firmware):

Allowed to transmit (MHz):
R01: 433.05-434.79; 868.15-868.55
R02: 304.10-321.95; 433.05-434.79; 915.00-928.00
R03: 312.00-315.25; 920.50-923.50

Shipped to:
R01: EU, UK, RU, UA, BY, BA, PF, VA, IS, KZ, LI, MD, MK, NO, RS, CH, TR
R02: US, CA, AU, NZ, MX, BR, CL, AR, UM
R03: rest of the world

Modulation (AM/FM)

AM650 and FM650 modulation tries to cover more range of frequencies at the cost of less pickup distance.
AM270 and FM270 modulation offer a more narrow range, but have a cleaner pickup and slightly better distance.

Official documentation is an excellent read!

evilpete has a script for creating custom modulations amoung various other flipper flipper file format generators/converters https://github.com/evilpete/flipper_toolbox

Plotting/analyzing signals

ShotokanZH has a plotter https://github.com/ShotokanZH/flipper_sub_plotters_comparers The flipper lab website has one https://lab.flipper.net/pulse-plotter and a python script by paucoma https://gist.github.com/paucoma/57080d2845ba4b21b980b90842c38eb1


Donation Information

Nothing is ever expected for the hoarding of digital files, creations I have made, or the people I may have helped.

I've had so many asking for me to add this.
Flipper_Blush Flipper_Love

BTC: 3AWgaL3FxquakP15ZVDxr8q8xVTc5Q75dS
BCH: 17nWCvf2YPMZ3F3H1seX8T149Z9E3BMKXk
ETH: 0x0f0003fCB0bD9355Ad7B124c30b9F3D860D5E191
LTC: M8Ujk52U27bkm1ksiWUyteL8b3rRQVMke2
PayPal: uberguidoz@gmail.com

So, here it is. All donations of any size are humbly appreciated.
Flipper_Clap Flipper_OMG

Donations will be used for hardware (and maybe caffeine) to further testing!
UberGuidoZ