ShinySDR Manual: Frequency Databases

  1. Using databases
  2. Importing from other data sources
  3. Data format

Frequency databases are reference information for navigating the radio spectrum; each database record may describe a band, channel, or station. They are available in a list, overlaid on the spectrum display, and (when geographic information is available) overlaid on the map.

Using databases

[TODO: Explain the UI here]

Importing from other data sources

ShinySDR can convert some third-party data sets into ShinySDR database format. The supported formats are:

Importing is done using the separate command shinysdr-import. (Integrating conversion so that ShinySDR can directly read other file formats, or even automatically download them from the source, has been considered, but none of the currently supported formats seem worth doing this for.) It is used like this:

shinysdr-import type files... > output.csv

The type identifier is currently either “hfcc” or “uls”. Note that ULS database downloads come in multiple files, and HFCC schedules have “reference table” files. In both cases, all of these files must be supplied to a single import command so that they can be cross-referenced by the importer.

The importer supports limiting the output to stations geographically located within a specified circle. For details on this and other options, run shinysdr-import --help.

As with many other features of ShinySDR, the importer is a work in progress; it does not yet extract and neatly format every possible piece of information in the original files. Suggestions for improvement are welcome.

Data format

The file format for frequency databases is a relative of CHIRP's CSV-based database format; files created by/for CHIRP can be used in ShinySDR. (Why? Because it was the first documented and straightforward existing data format I found.) Here is CHIRP's documentation of the column formats. Not all columns are currently used by ShinySDR; in particular, those related to transmitter settings are not.

The minimum columns required for a useful database are Frequency (in megahertz) and Name, and Mode is usually also wanted; for example, a listing of the WWV time station's transmitters might look like this:



Each database file must be a CSV file with the first row being column names. The character encoding must be UTF-8 (or ASCII).

The following columns are understood by ShinySDR. (Caution: for writable databases, other columns present in the original file will be lost.)


Optional. A unique ID for this record within the file. Must be a positive decimal integer; if it is not, or if it is omitted, then the record will be assigned one.


Required. Specifies the frequency the record is describing, in megahertz (MHz).

May be either a single decimal number for channel or station records, or two decimal numbers separated by an ASCII hyphen (-), smaller followed by larger, for band records.

[TODO: Either reject or fix larger followed by smaller.]

(Specifying a band is a ShinySDR-specific format extension.)


Optional (but necessary in practice). Name of this record. In most places where database records are shown, this is the only text that will be shown. Should be a single line.


Optional. The mode of the signal(s) transmitted on the frequency or within the band; used to automatically select the correct demodulator.

The currently recognized codes are: AM, NFM, WFM, USB, LSB, CW, APRS, MODE-S, VOR. This list is probably out of date. [TODO: Have a place where the actual plugin supported list is available for reference.]

Latitude and Longitude

Optional. If both are not blank, specifies the geographic location of the station described by this record. If specified, these coordinates are used to display locations on the map. A planned but not yet implemented feature is to use them to operate attached antenna rotators.

Coordinates must be a decimal number of degrees north and east in the WGS 84 coordinate system.

(These columns are a ShinySDR-specific format extension.)


Optional. Any text you wish to enter. Displayed only in the database editor/details view. May be multiple lines (quoted in the CSV file).