ShinySDR is the software component of a software-defined radio receiver. When combined with suitable hardware devices such as the RTL-SDR, HackRF, or USRP, it can be used to listen to or display data from a variety of radio transmissions.
Remote operation: The receiver can be listened to and remotely controlled over a LAN or the Internet; the user interface works the same everywhere.
Requires network capacity of 3 Mb/s or greater, depending on settings. Google Chrome (excluding Chrome for iOS) is recommended. Phone/tablet compatible.
Internet access is not required for local or LAN operation.
Receive audio transmissions and broadcasts: ShinySDR supports all standard analog modes — AM, FM (narrowband and broadcast), SSB, CW. You can monitor multiple frequencies at once, limited only by hardware bandwidth, and use stereo panning for easier listening.
Receive and decode telemetry data: ShinySDR can decode and display ADS-B, APRS, WSPR, and the telemetry formats supported by rtl_433. When position information is available, it is displayed on a map with animated extrapolated positions.
Telemetry support requires installation of additional (open source) software as described in the installation instructions.
Frequency database: Jump to favorite stations; catalog signals you hear; import published tables of band, channel, and station info. Stations with known coordinates can be displayed on the map.
Persistent waterfall display: You can zoom, pan, and retune without losing any of the displayed history, whereas many other programs will discard anything which is temporarily offscreen, or the whole thing if the window is resized. If you zoom in to get a look at one signal, you can zoom out again.
ShinySDR is designed for ease of modification and extension.
All server code is Python, and has no mandatory build or install step; simply restart the server to apply a change.
Plugin system allows adding support for new modes (types of modulation) and hardware devices.
Demodulators prototyped in GNU Radio Companion can be turned into plugins with very little additional code. Control UI can be automatically generated or customized and is based on a generic networking layer.
ShinySDR operates as a specialized web server, running on the machine which has your SDR hardware attached. ShinySDR is known to be compatible with Mac OS X and Linux; in principle, you can use anything which can also run GNU Radio and Python and has enough CPU power (a Raspberry Pi will not do).
Google Chrome (excluding Chrome for iPhone or iPad) is the recommended browser as the most testing has been done with it. Some functionality may be missing or broken on other browsers.
Currently, the client must have the same endianness and floating-point format as the server. This may be fixed in the future (if I ever hear of this actually being a problem, or if the data in question is switched to fixed-point to reduce data rate).
ShinySDR (and this web site) © 2013, 2014, 2015, 2016, 2017, 2018 Kevin Reid <kpreid@switchb.org> and distributed under the GNU General Public License. For more information, see the relevant source code repositories.