# greatscottgadgets/hackrf

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/greatscottgadgets-hackrf).**

7,741 stars · 1,670 forks · C · gpl-2.0

## Links

- GitHub: https://github.com/greatscottgadgets/hackrf
- Homepage: https://greatscottgadgets.com/hackrf/
- awesome-repositories: https://awesome-repositories.com/repository/greatscottgadgets-hackrf.md

## Topics

`hackrf` `hardware` `radio` `rf` `sdr`

## Description

This project is a software-defined radio platform designed to capture, analyze, and broadcast radio frequency signals across a wide spectrum. It provides a programmable hardware interface for transmitting and receiving radio signals, enabling spectrum analysis and wireless data monitoring.

The system is distinguished by its ability to synchronize multiple devices using a shared external clock and hardware triggers to ensure precise timing and sample accuracy. It supports advanced signal routing, allowing ports to be mapped based on frequency or time to enable specialized operations like pseudo-doppler direction finding.

The platform covers a broad range of capabilities, including multi-stage gain control for both transmit and receive paths, configurable sampling rates, and the ability to stream raw quadrature samples over high-speed USB. It provides extensive hardware extensibility through GPIO and standard bus protocols for connecting external sensors and custom circuitry.

The project includes tools for embedded firmware development, allowing users to compile operational software, update CPLD bitstreams, and recover corrupted flash memory via a ROM-based USB bootloader.

## Tags

### Hardware & IoT

- [Radio Frequency Transceivers](https://awesome-repositories.com/f/hardware-iot/radio-frequency-transceivers.md) — Processes radio frequencies using integrated transceivers and mixers to send and receive wireless data. ([source](https://hackrf.readthedocs.io/en/latest/_sources/index.rst.txt))
- [Software Defined Radios](https://awesome-repositories.com/f/hardware-iot/software-defined-radios.md) — Provides a complete software-defined radio platform for capturing, analyzing, and broadcasting radio frequency signals across a wide spectrum.
- [Distributed Clock Synchronizers](https://awesome-repositories.com/f/hardware-iot/distributed-clock-synchronizers.md) — Aligns hardware timing by accepting a ten megahertz square wave reference signal to eliminate frequency drift.
- [Hardware Device Synchronization](https://awesome-repositories.com/f/hardware-iot/hardware-device-synchronization.md) — Coordinate multiple radio units using a shared external clock and hardware triggering for precise timing. ([source](https://hackrf.readthedocs.io/en/latest/synchronization_checklist.html))
- [Hardware Triggering](https://awesome-repositories.com/f/hardware-iot/hardware-triggering.md) — Triggers transmit or receive actions across multiple devices using hardware pulses for sample-accurate timing. ([source](https://hackrf.readthedocs.io/en/latest/hardware_triggering.html))
- [Radio Frequency Signal Processing](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing.md) — Represents radio signals as pairs of in-phase and quadrature digital samples for frequency translation and analysis.
- [Gain and Filter Control](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing/gain-and-filter-control.md) — Controls receiver and transmitter gain and baseband filters via software to optimize signal quality. ([source](https://hackrf.readthedocs.io/en/latest/hackrf_pro.html))
- [Quadrature Sample Streaming](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing/quadrature-sample-streaming.md) — Sends and receives radio frequency data using signed quadrature samples for signal processing. ([source](https://hackrf.readthedocs.io/en/latest/hackrf_tools.html))
- [Signal Visualizers](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing/signal-visualizers.md) — Enables scanning of radio frequencies to identify active signals and visualization of waveforms for wireless data analysis. ([source](https://hackrf.readthedocs.io/en/latest/software_support.html))
- [Wireless Signal Recorders](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing/wireless-signal-recorders.md) — Converts radio frequency signals across a wide spectrum into digital data for recording and analysis. ([source](https://hackrf.readthedocs.io/en/latest/))
- [Radio Frequency Transmitters](https://awesome-repositories.com/f/hardware-iot/radio-frequency-transmitters.md) — Generates and broadcasts radio frequency signals over a broad range of frequencies. ([source](https://hackrf.readthedocs.io/en/latest/))
- [Radio Hardware Integration](https://awesome-repositories.com/f/hardware-iot/radio-hardware-integration.md) — Provides extensibility through GPIO and standard bus protocols for connecting external sensors and custom circuitry to the radio.
- [Real-Time Clock Management](https://awesome-repositories.com/f/hardware-iot/real-time-clock-management.md) — Manages the input and output configuration of the device clock for maximum timing accuracy. ([source](https://hackrf.readthedocs.io/en/latest/hackrf_tools.html))
- [Sample Streaming](https://awesome-repositories.com/f/hardware-iot/usb-device-communication/usb-device-stacks/sample-streaming.md) — Transfers raw quadrature signal samples between hardware and software using high-speed USB for real-time processing.
- [Firmware Flashing](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/hardware-communication/serial-device-communication/firmware-flashing.md) — Loads a temporary image into RAM via DFU boot mode to restore functionality when flash memory is corrupted. ([source](https://hackrf.readthedocs.io/en/latest/updating_firmware.html))
- [Embedded Firmware Development](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/hardware-communication/serial-device-communication/firmware-flashing/embedded-firmware-development.md) — Includes tools for building, debugging, and flashing low-level operational software to control radio hardware and CPLD logic.
- [CPLD Bitstream Programming](https://awesome-repositories.com/f/hardware-iot/cpld-bitstream-programming.md) — Programs the Complex Programmable Logic Device with a specific bitstream to update hardware-level logic. ([source](https://hackrf.readthedocs.io/en/latest/updating_firmware.html))
- [CPLD Logic Routing](https://awesome-repositories.com/f/hardware-iot/cpld-logic-routing.md) — Uses a Complex Programmable Logic Device to manage hardware-level signal paths and internal port mapping.
- [Sampling Rate Controllers](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/sensor-processing/analog-sensor-calibration/sampling-rate-controllers.md) — Adjusts the signal digitization frequency to balance spectrum visibility and interference suppression. ([source](https://hackrf.readthedocs.io/en/latest/sampling_rate.html))
- [Firmware Recovery Tools](https://awesome-repositories.com/f/hardware-iot/firmware-management/firmware-recovery-tools.md) — Provides a ROM-based USB bootloader to restore corrupted flash memory and recover unresponsive hardware.
- [GPIO Pin Controllers](https://awesome-repositories.com/f/hardware-iot/gpio-pin-controllers.md) — Provides physical access to GPIO, ADC, RTC, and power pins for connecting custom electronic circuits. ([source](https://hackrf.readthedocs.io/en/latest/expansion_interface.html))
- [RF Signal Routing](https://awesome-repositories.com/f/hardware-iot/hardware-capability-extensions/rf-signal-routing.md) — Enables electronic routing of radio signals to different antennas or filters via software control. ([source](https://hackrf.readthedocs.io/en/latest/opera_cake.html))
- [Hardware Expansion Modules](https://awesome-repositories.com/f/hardware-iot/hardware-expansion-modules.md) — Provides interfaces for connecting auxiliary hardware components via GPIO, I2S, and JTAG headers. ([source](https://hackrf.readthedocs.io/en/latest/jawbreaker.html))
- [Multi-Stage Gain Control](https://awesome-repositories.com/f/hardware-iot/multi-stage-gain-control.md) — Manages signal amplification across RF, IF, and baseband stages via software to optimize dynamic range.
- [Antenna Switch Control](https://awesome-repositories.com/f/hardware-iot/physical-switch-interfacing/antenna-switch-control.md) — Controls external antenna switches to route radio signals between hardware and different antennas. ([source](https://hackrf.readthedocs.io/en/latest/hackrf_tools.html))
- [Frequency-Based Routing](https://awesome-repositories.com/f/hardware-iot/radio-frequency-signal-processing/frequency-based-routing.md) — Implements automatic port connection switching based on the tuned frequency to route signals to appropriate antennas. ([source](https://hackrf.readthedocs.io/en/latest/opera_cake_modes_of_operation.html))
- [RF Signal Routing](https://awesome-repositories.com/f/hardware-iot/rf-signal-routing.md) — Maps primary ports to secondary ports to define how radio signals flow through the hardware. ([source](https://hackrf.readthedocs.io/en/latest/opera_cake_port_configuration.html))
- [Standard Bus Communication](https://awesome-repositories.com/f/hardware-iot/standard-bus-communication.md) — Exchanges data with external sensors and controllers using standard I2S, SPI, I2C, and UART interfaces. ([source](https://hackrf.readthedocs.io/en/latest/expansion_interface.html))
- [Standard Bus Interfaces](https://awesome-repositories.com/f/hardware-iot/standard-bus-interfaces.md) — Provides interfaces for communicating with external sensors and controllers using I2C, SPI, and UART protocols.

### Part of an Awesome List

- [RF Gain Management](https://awesome-repositories.com/f/awesome-lists/devtools/signal-processing/rf-gain-management.md) — Adjusts receive and transmit gain levels to optimize signal strength and minimize distortion. ([source](https://hackrf.readthedocs.io/en/latest/))

### Graphics & Multimedia

- [Spectrum Analyzers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/heat-map-generators/audio-frequency-heat-maps/spectrum-analyzers.md) — Scans a range of frequencies to identify active signals and their strength across the spectrum. ([source](https://hackrf.readthedocs.io/en/latest/hackrf_tools.html))
- [RF Path Switching](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-recording/audio-signal-mirroring/rf-path-switching.md) — Allows switching primary signal ports to secondary ports to redirect RF traffic across hardware interfaces. ([source](https://hackrf.readthedocs.io/en/latest/opera_cake_hardware.html))
- [Time-Based](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-recording/audio-signal-mirroring/signal-routing/time-based.md) — Enables pseudo-doppler direction finding by automatically cycling port connections over a fixed number of samples. ([source](https://hackrf.readthedocs.io/en/latest/opera_cake_modes_of_operation.html))

### Networking & Communication

- [Clock Synchronization](https://awesome-repositories.com/f/networking-communication/clock-synchronization.md) — Shares a common frequency reference between devices to eliminate timing drift. ([source](https://hackrf.readthedocs.io/en/latest/hardware_triggering.html))
- [Radio](https://awesome-repositories.com/f/networking-communication/data-streaming/radio.md) — Transfers signals between hardware and software using high-speed USB to maintain a continuous data flow. ([source](https://hackrf.readthedocs.io/en/latest/hackrf_minimum_requirements.html))

### Operating Systems & Systems Programming

- [RF Receive Gain Control](https://awesome-repositories.com/f/operating-systems-systems-programming/audio-volume-apis/gain-controls/rf-receive-gain-control.md) — Controls amplification at the RF, IF, and baseband stages to optimize signal reception. ([source](https://hackrf.readthedocs.io/en/latest/setting_gain.html))
- [RF Transmit Gain Control](https://awesome-repositories.com/f/operating-systems-systems-programming/audio-volume-apis/gain-controls/rf-transmit-gain-control.md) — Modulates amplification at the RF and IF stages to control the power level of outgoing signals. ([source](https://hackrf.readthedocs.io/en/latest/setting_gain.html))
- [Digital Signal Transfers](https://awesome-repositories.com/f/operating-systems-systems-programming/digital-signal-transfers.md) — Implements the high-speed transfer of raw radio quadrature samples between the hardware and USB interface. ([source](https://hackrf.readthedocs.io/en/latest/LPC43XX_SGPIO_Configuration.html))
- [Direct Memory Access](https://awesome-repositories.com/f/operating-systems-systems-programming/direct-memory-access.md) — Moves digital samples between converters and the USB interface using synchronized registers for continuous data flow.

### Software Engineering & Architecture

- [Hardware Clock Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-timing/hardware-clock-interfaces.md) — Provides interfaces for integrating external clock signals to ensure precise frequency control. ([source](https://hackrf.readthedocs.io/en/latest/jawbreaker.html))

### Data & Databases

- [Hardware Throughput Optimization](https://awesome-repositories.com/f/data-databases/high-throughput-data-streaming/hardware-throughput-optimization.md) — Reduces sample width to enable higher data rates for wideband spectrum monitoring. ([source](https://hackrf.readthedocs.io/en/latest/gateware.html))

### DevOps & Infrastructure

- [Hardware Firmware Updaters](https://awesome-repositories.com/f/devops-infrastructure/update-orchestrators/hardware-firmware-updaters.md) — Installs new firmware and gateware to the hardware to update system logic or add features. ([source](https://hackrf.readthedocs.io/en/latest/))

### Scientific & Mathematical Computing

- [Sample Precision Control](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/signal-processing/sample-precision-control.md) — Increases internal processing precision and output sample width to enhance dynamic range for weak signals. ([source](https://hackrf.readthedocs.io/en/latest/gateware.html))

### Security & Cryptography

- [Hardware Debugging Interfaces](https://awesome-repositories.com/f/security-cryptography/security/infrastructure-and-hardware/embedded-and-hardware/hardware-debugging-interfaces.md) — Provides low-level access to hardware registers for troubleshooting and internal configuration. ([source](https://hackrf.readthedocs.io/en/latest/hackrf_tools.html))
