🔑 RollCall v1.1 — Rolling-Code Health Check
Press your own key fob, garage or gate remote a few times. RollCall decodes
each press, tells you whether it's a rolling code or a static fixed
code, and proves on the air whether the code actually advances between
presses — then hands back a plain-English grade.
Listen-only. It never transmits, replays, jams or clones. No extra
hardware — just the Flipper's built-in Sub-GHz radio.
🐛 Fixed: presses never registered
In v1.0 the capture screen sat at 0 no matter how many times you pressed
your remote — no counter, no blip, and the run never finished on its own.
The radio helper defined its own copy of the "new press" event id while the
capture scene listened for a different one, so every decoded press was dropped
before it reached the screen. The presses were being recorded correctly, so
OK: Analyze still produced a real verdict — only the live screen was deaf.
The event id now comes from a single definition, so the worker and the scene
can't drift apart again.
✨ Find My Remote
A remote that registers nothing is almost always a remote on a band you aren't
listening to. Find My Remote settles it: hold the button down and RollCall
sweeps every band it supports, ranking each by how far its peak climbs above
its own noise floor.
Press OK and it adopts that band, saves it, and drops straight into the
health check. It only reports a band that genuinely beat its floor — no signal
means no answer, never a guess.
📶 Live signal row
The capture screen now carries a carrier-strength bar, a dBm readout, and a pip
that lights when the radio is producing raw pulses. That tells you which
problem you have instead of leaving you staring at a zero:
| What you see | What it means | Fix |
|---|---|---|
| Bar flat, pip dark | Nothing on this frequency | Run Find My Remote |
Bar jumps, counter stays 0 (RF seen, no decode) |
Right frequency, undecoded protocol | Change Modulation |
| One press counted twice, or two counted as one | Collapse window doesn't fit your fob | Adjust Press gap |
Also new
- 14 bands instead of 6 — adds 303.87 · 310 · 318 · 330 · 345 · 418 · 434.42 · 434.77 MHz
- Settings persist across launches — set your band once
- Configurable press gap (0.25 s – 1.5 s)
- Press target raised to 8; bit length and signal strength recorded per press
- Manufacturer keystore and rainbow tables loaded, for richer KeeLoq / Nice Flor-S / CAME Atomo parcels
- Capture feedback honours sound and vibro, not just the LED
- Host test suite for the grading logic (63 checks under ASan/UBSan), running in CI
Install
- Download
rollcall.fapbelow. - Copy it to your SD card at
apps/Sub-GHz/
(/ext/apps/Sub-GHz/rollcall.fap) — qFlipper drag-and-drop works. - On the Flipper: Apps → Sub-GHz → RollCall.
Using it
- Settings → pick your Band (315 US / 433.92 EU) and
Modulation (start with AM650).
Don't know your band? Run Find My Remote and let it find one. - Run Health Check, then press your remote a few times, pausing
~1s between presses. - Read the grade — OK opens the per-press ledger showing each code
fingerprint (newvssame).
| Grade | Meaning |
|---|---|
| A | ✅ Rolling, and every press produced a different code |
| B | 🟢 Rolling; needs another press or two to confirm |
| C | 🟡 Rolling protocol, but the code didn't change — retest |
| F | 🔴 Fixed code — identical every press, replayable |
| ? | ⚪ Decoded but unclassified — try another band/modulation |
A
.fapis tied to its firmware API. If it won't launch, rebuild with
ufbtmatched to your firmware (see the README).
Verified against firmware API 87.1 (release) and 88.2 (dev).
Built from v1.1 on the release firmware channel.
MIT · by at0m-b0mb