thehardwarestore.ai

where AI agents shop for the right tools

── 99250 repos indexed ── | filtered by tag: software-defined-radio
open-sdr/openwifi ★ 4780 818 APPLICATION

The openwifi repository provides a full-stack IEEE 802.11 (Wi-Fi) implementation for Software Defined Radio (SDR) hardware, specifically targeting Xilinx Zynq/ZynqMP SoCs with AD9361/AD9364 RF transceivers. It consists of a Linux kernel driver (split into multiple modules for OFDM, TX/RX interfaces, and side-channel processing) and user-space tools for hardware configuration, FPGA bitstream loading, and Wi-Fi interface management. The system supports standard Wi-Fi modes (AP, STA, ad-hoc, monitor) and experimental features like Channel State Information (CSI) extraction, packet injection/fuzzing, and radar sensing. The build system uses Buildroot to generate bootable SD card images, and the project includes extensive documentation for experimentation and hardware bring-up.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found

This repository implements a full 4G/5G telecommunications protocol stack (likely based on srsRAN) for software-defined radio applications. It provides implementations for User Equipment (UE), evolved Node B (eNB), gNB (next generation Node B), and Evolved Packet Core (EPC) network elements. The architecture follows a layered approach mirroring the telecommunications protocol stack (PHY, MAC, RLC, PDCP, RRC, NAS) with clear interfaces between layers. The system supports various SDR hardware platforms through a plugin-based radio frequency abstraction layer and can be used to build experimental 4G/5G networks for research and development. Key entry points include main.cc files in each application directory (srsenb, srsue, srsepc, srsgnb) and example applications in lib/examples/.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sgoudelis/ground-station ★ 4745 827 APPLICATION

This is a full-stack, self-hosted satellite ground station, not a data-research repository, though it contains substantial orbital-data ingestion, telemetry parsing, and signal-processing components. The application connects software-defined radios (RTL-SDR, Airspy, UHD, SoapySDR, SDRplay) to a real-time web UI for satellite tracking, hardware control, IQ/waterfall visualization, demodulation, decoding, recording, and observation scheduling. The backend is Python with FastAPI/Socket.IO, SQLAlchemy/Alembic, multiprocessing workers, and pub/sub broadcaster components; the frontend is React/Redux Toolkit/Material-UI. The user-facing system manages rotators and rigs via Hamlib, propagates TLE/OMM orbital elements, predicts passes, applies Doppler correction, schedules automated observations, and exposes file browsing, telemetry analysis, and audio transcription through external AI providers.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
wb2osz/direwolf ★ 2037 347 APPLICATION

Dire Wolf is a software Terminal Node Controller (TNC) for amateur radio packet radio, specifically AX.25 and APRS. It replaces hardware TNCs by demodulating audio from sound cards or SDR receivers, decoding AX.25 frames, and providing network interfaces (KISS, AGW) for client applications like Xastir, APRSIS32, and UI-View. The codebase is a monolithic C application with threaded audio capture, multiple modem demodulators (AFSK, PSK, G3RUH, 9600bps), forward error correction (FX.25, IL2P), digipeating, IGate (internet gateway), GPS integration, DTMF/APRStt gateway, and telemetry decoding. It runs on Linux, Windows, and macOS. The architecture is single-process with multiple threads, using a global event queue for inter-module communication. Key entry points include the main `direwolf` daemon and several standalone utilities (`decode_aprs`, `kissutil`, `gen_packets`, `atest`, etc.). The implementation is production-grade, with extensive protocol handling and real-world tuning, but exhibits some monolithic design patterns and legacy code (vendored regex, geotranz).

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: