Saturday, July 25, 2026

Software - ScannerFreakDB

1. Overview and Purpose​

ScannerFreakDB is a Python-based database application built to log, organize, and manage radio scanning information. Most off-the-shelf logging tools are either too generic or too rigid, making it difficult for hobbyists and professionals to track detailed frequency data. ScannerFreakDB is designed to fix this by providing a customizable and easy-to-use solution for radio enthusiasts, whether focused on ultralight DXing, UHF monitoring, or general scanning.

With ScannerFreakDB, users can quickly store, search, and categorize frequency data, making it a long-term, flexible tool for anyone serious about scanning.


2. Objectives​

  • Customizable Fields: Include frequency-specific details while supporting further expansion.
  • User-Friendly Interface: Simple, intuitive entry and search options for all users. Android compatiable.
  • Efficient Data Retrieval: Fast, flexible search and filtering functions.
  • Long-Term Usability: Scalable design with no unnecessary complexity.

3. Scope​

ScannerFreakDB covers:
  • A lightweight, local database for managing radio frequency logs.
  • Input fields designed specifically for monitoring and scanning.
  • A simple GUI for data entry, search, and filtering (time/resources permitting).
  • Export functionality for backups, analysis, or sharing.

4. Key Features and Functional Requirements​

1. Data Entry Fields​

  • Covers all required information, such as:
    Frequency
    Name
    Mode (drop down)
    CTCSS/DCS,
    Group (drop down)
    Date,
    Notes
    Programmed (drop down)

2. User Interface​

  • Search & Filter – By frequency, date, user, or log type.
  • Quick Entry & Edit – Fast adding and updating of records.
  • Sorting – By frequency, date, or user for streamlined review.

3. Data Management​

  • Local Database – Lightweight SQLite for portability and speed. This syncs between Windows and Android versions automatically.
  • Export Options – CSV/JSON for archiving, analysis, or sharing.
  • Data Integrity – Validation to reduce errors and duplicates

4. Database Schema
id
Type: INTEGER PRIMARY KEY AUTOINCREMENT
Use: Unique identifier for each record in the database.
Notes: Automatically increments with every new entry.
frequency
Type: REAL
Use: Stores the radio frequency in MHz (e.g., 145.025, 477.425).
Notes: The core field for logging what frequency was observed.
name
Type: TEXT
Use: The name or identifier associated with the frequency.
Examples: Station name, amateur radio callsign, service type (“Police Dispatch”, “Airband”).
mode
Type: TEXT
Use: The modulation mode used on this frequency.
Examples: FM, NFM, AM, SSB.
ctcss_dcs
Type: REAL
Use: Stores sub-audible tone information for squelch access.
Examples: CTCSS tone in Hz (e.g., 123.0), DCS code (sometimes represented as a number like 023).
group_name
Type: TEXT
Use: Logical grouping or category for the frequency.
Examples: Airband, Amateur, Emergency Services, Business.
date
Type: TEXT
Use: Date when the entry was logged or last updated.
Format: Typically stored as a string (e.g., 2025-09-15).
notes
Type: TEXT
Use: Free-text field for extra details.
Examples: Signal strength, language, call signs heard, activity type.
programmed
Type: TEXT
Use: Indicates whether this frequency has been programmed into a scanner or radio.
Examples: Yes, No, Pending.​

-----------------------------------------------------------------------------------


Data Entry Screen





Records Screen

No comments:

Post a Comment