Expert Electronics TCI Python Library to Control ExpertSDR3 Devices

As with most of my hobbies, I enjoy the computerized side of Amateur Radio. I got an Expert Electronics SunSDR2 DX recently to replace a cobbled-together system I had been using for 15+ years after I started having a couple of major issues. I'm loving the huge spectrum display!

Despite the proprietary software package, it has an openly documented interface called TCI which uses WebSockets to carry commands and even audio to other programs for processing, allowing things like spotting networks, modems, and memory managers to be written by anyone.

I implemented the TCI interface as a Python library which can be installed using pip and used to build your own applications. I also created numerous sample programs which were really solutions to things I wanted to have with the radio. Most of the features were fleshed out as I wrote these samples. The utilities include:

  • json_dump.py: reads startup parameters and outputs them as a JSON dictionary
  • param_listener.py: prints out all parameter changes received from the TCI server
  • receive_audio.py: receives audio stream from the TCI interface which can be piped to other utilities
  • spot_saved_stations.py: repeatedly spots a list of stations to keep them visible in the EESDR interface
  • scanner.py: moves between a list of stations and pauses if squelch is broken
  • direwolf_interface.py: provides a pure TCI interface to the direwolf packet soundmodem. (Note: currently, this requires building a modified version which can pipe the transmit audio, see this branch if interested.)
  • ctcss_decode.py: listens for CTCSS/PL tones in receiver audio and prints possible matches.

I am also working on firmware for a macropad which will output MIDI commands and a utility using this library that will convert the MIDI commands to TCI inputs.

It's still an early version so I haven't written much documentation yet, but I tried to make the examples as readable as possible to show how the different parts are used.

Check out the source code or try it out with pip and let me know if there are any types of utilities you are looking forward to building with it!

Avatar

eesdr-tci (this link opens in a new window) by ars-ka0s (this link opens in a new window)

Python package to interact with Expert Electronics SDR TCI control interface.

Cache
Dark Theme

You may also like...

4 Responses

  1. umer23wal says:

    Hello!

    Good luck 🙂

  2. umer23wal says:

    Hello.

    Good luck 🙂

  3. Oliver says:

    Hi,
    were you able to continue with your project and make midi interface available and useable for expertSDR software? I'm very itnerested, my e-coder stopped working and would love to replace it with the likes like ctr2-midi. I'm happy to be your beta-tester 🙂
    Thanks.

    • doogie says:

      Hello, I did post a first copy but I haven’t made it more generic yet. If you’d like to experiment, it’s at https://github.com/ars-ka0s/midi-to-tci and please let me know what does/doesn’t make sense. I’ve been using it as described there with my setup but I know controls are a very personal thing to get the right feeling.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.