Skip to content

Web app PoC for spectrum analyzers and SDRs like tinySA and RTL-SDR

License

Notifications You must be signed in to change notification settings

meshuga/web-spectrum

Repository files navigation

web-spectrum

Web app for spectrum analyzers.

Visit meshuga.github.io/web-spectrum to access the app.

The application has two features:

  • Spectrum analyzer
  • Data decoding

Supported devices:

  • tinySA Ultra
  • RTL-SDR with RTL2832U (includes V4)

Supported environments:

  • Chrome
  • Edge
  • Opera

See more: caniuse.com/web-serial, caniuse.com/webusb

Spectrum analyzer

spectrum

Spectrum analyzer allows for showing available spectrum for requested frequencies.

Data decoding

Data decode sets a trigger and upon detection of a signal, the device captures it for decoding purposes.

TinySA Ultra

decode

The current implementation is able to decode 1 message at a given time of size around 24 bits.

RTL-SDR

decode1 decode2

The current implementation decodes ADS-B signals as well following ISM protocols:

  • GateTX

References

YT videos with explanations and tests:

Development

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3005 to view it in your browser.

The page will reload when you make changes.
You may also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.