PAGES
← all tools
◆ Hacking Hardware

rfcat

v3.0.0 open-source

RF research tool for CC1111-based USB dongles enabling sub-GHz radio transmission, reception, and analysis via an interactive Python shell.

Summary

rfcat is an open-source command-line tool for interacting with sub-GHz radios through CC1111-based USB dongles, letting you script and control the radio interactively from a Python shell rather than through vendor firmware tools. It is aimed at security researchers doing RF reverse-engineering, giving them a way to probe unknown wireless targets without building custom hardware tooling from scratch first. It sits in the wireless-security space alongside other SDR-adjacent research tools, filling the gap between raw radio hardware and a usable analysis workflow. The project dates back to 2012 and has drawn 31 contributors over its life, but activity has slowed to a single commit in the past year, so anyone adopting it should expect to do their own maintenance rather than rely on upstream fixes.

RF research tool for CC1111-based USB dongles enabling sub-GHz radio transmission, reception, and analysis via an interactive Python shell.

How rfcat helps

Which frequencies and modulations is this unknown transmitter actually using?

puts the dongle into receive mode and lets you sweep and demodulate live from the interactive shell, so you can characterize a signal without vendor firmware tools

What does this captured RF signal actually decode to bit by bit?

lets you script sampling and demodulation logic in Python against the live radio, so you can inspect raw symbol data as it arrives rather than trusting a black-box decoder

Can I reproduce this device's wireless behavior to see how the receiver reacts?

scripts the dongle to retransmit crafted or captured packets at chosen frequencies and rates, so you can replay or fuzz the traffic against the real target

Is this custom protocol vulnerable to replay or spoofing?

gives you direct control over transmission timing and payload from the shell, so you can send handcrafted frames and observe whether the target accepts them

Which sub-GHz devices in range are transmitting right now?

drives the dongle's spectrum analyzer view to show activity across the band, letting you spot signals before you commit to decoding any one of them

all 3 features, with the evidence for each →

Languages

Not documented

Features

3 capabilities

Built from rfcat's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What rfcat offers you

  • Python scripting support2
  • Scripting language support2
  • Command-line interface1
  • Scripting API1
All capabilities 3 capabilities
Bootloader Management shipped Allows forcing the USB dongle into bootloader mode for firmware updates or recovery. 1 other source

example

  • Force dongle into bootloader mode rfcat --bootloader --force
Interactive Python Shell shipped Provides an interactive command-line shell for controlling the RF hardware and executing scripts. 1 other source

Also counts toward: Command-line interface, Python scripting support, Scripting language support

example

  • Start interactive rfcat shell rfcat -r
Sub-GHz Radio Analysis documented Enables transmission, reception, and analysis of sub-GHz radio signals via CC1111-based USB dongles. 1 other source

Also counts toward: Python scripting support, Scripting API, Scripting language support

docs

  • RF research tool for CC1111-based USB dongles enabling sub-GHz radio transmission, reception, and analysis via an interactive Python shell.

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for rfcat, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail rfcat puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

1 entry

  1. August 20261

    1 entry

    Project health

    Issue, contributor and maintainer activity in atlas0fd00m/rfcat, 2023-12 – 2026-11, as of 2026-11-03. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 5 +5 vs prior 12 months
    2. Maintainers 1 +1 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 525 days first maintainer reply 38 hours
    6. Open backlog 33 of 119 issues ever filed
    1. Issues opened / month 2 · 0 communitymaintainers
    2. Open backlog 33
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 631
    Issue themes, last 12 months
    • other 100%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →