Following the development of the USB and BT band decoders for the 705 and 905, I added support for the 9700 in the USB PCB version. These were written in C/C++.
The 705 version is Bluetooth (Classic or BLE) and supports transverters with predefined bands from near DC to 122Ghz and has a LCD UI. It has a range of IO options.
The USB can use a small OLED display but for now I support 8 programmable LEDs for PTT, Band, and connection status. It has programmable 12 outputs.
I the developed an ethernet based decoder for the 905 only that taps into the comms between the controller and RF unit. It requires a Pi3 or better and one or more managed switches for a VLAN and port mirroring. It allows placing the decoder and its relays/IO at or near the RF unit with only ethernet cable and power. USB has distance limitations and clocks the USB port for direct connection to a PC. It was developed in Python and runs on a Pi and has a full install script.
I wanted to make an ethernet decoder that worked for the 705, 905, 9700 and other capable models. Leveraging the USB and ethernet work above I mashed them together to create a serial CI-V band decoder. It is written in Python and runs on a Pi. With a suitable CI-V serial interface it should work with any radio to the extent it may have some oddball CI-V command. The cool part is how to make it work over ethernet permitting easier remote placement. The program wfView (wfView.org) is a remote control app for a range of Icom radios. It can connect via serial, USB and LAN/WiFi. It has a wide range of external connection options including acting like a server for remote access. IT is a CI-V communication hub. One of the feature is a virtual serial port. Here wfView is acting as a LAN to serial bridge. Run wfView and the decoder app side by side, connected by a virtual serial port you have an easy Pi based ethernet connected band decoder with the possibility to use on a wide range of radios. wfView is getting Kenwood support now also. Elecraft is a variety of Kenwood so I will be watching that progress.
The decoder is so similar to the 905 ethernet version (called TCP905) that I note the few changes and differences on the readme page then refer users to the TCP905 GitHub Wiki pages for the rest.
The link to the new ethernet decoder is here
https://github.com/K7MDL2/CI-V_Serial_Band_Decoder
Install is very simple. Clone the repository to the PI, make the install script executable, then run it. Like the TCP905, it installs and configures everything so it automatically runs the decoder as a background service at startup.
I tested this on a IC-9700, IC-705 and IC905. It controls 6 band outputs, 6 PTT outputs and has a choice of wired or polled PTT input. All programmable. It detected the radio CI_V address and dynamically loads the appropriate frequency table.
Due to the needs of wfView this requires more horsepower than the TCP905 version. I run it on a Pi5 at around 65% CPU. I have not tried it yet on a Pi4B, but should work, you will want a decent heat sink though. I am running weekly builds of wfView (2.04 now). Details are on the GitHub site.
Also on the GitHub page is instructions to install VS Code code-server (4.98.0 or better) on the Pi and use a browser from any machine to run the Visual Studio Code UI. I set up git source control on the Pi so it is easy to push and pull changes. It is much better than the stock Pi editors. Souce control is added in seamlessly so you can see all updates or make your own.
Long term I would like to connect my decoder app to the radio directly over LAN/WiFi. LAN access is undocumented. wfView is open source. They figured it out but is complex code that will take some time. They have a server version also that may take less CPU. Another idea I have is to add Pi GPIO directly into the wfView code. It has everything need so technically is the easiest route to all of this except it is complex code so I instead connected my own existing body of work to it for now.
Give the program a try, many of you have Pis laying around. I used a relay HAT module on the Pi. The program is fully functional now and appears to be stable with wfView 2.04. I will continue some tweaking to make the serial port connection tolerant to errors and I want to make the IC-9700 sub RX work better. It is essentially cross band split but has some small technical details I have to sort out (again).
Mike Lewis, K7MDL
CN87xs