Welcome to the Pycom Logbook — a collection of news, development updates, and technical notes covering upcoming features, remote operation setup, and background on the project.
Automatic Signal Detection & AI Identification
Pycom can automatically detect signals on the waterfall and classify them using a built-in AI model — no manual scanning required. Configure sensitivity with three presets or eight tuneable parameters, capture signals for review, and train your own model from real off-the-air data. See the Signal Detection, AI Identification, and Signal Reference pages for full details.
Signal Detection
The statistical detector runs in real time alongside the waterfall, finding signal groups that stand out from the noise floor. Choose from Normal, Sensitive, and Strong Only presets, or adjust individual parameters like detection percentile, and minimum contrast Z to suit your operating conditions. Detection is automatically suppressed during transmit to prevent overloading the detector.
Signal Capture & Labelling
Detected signals appear in the capture window sorted by frequency. Select any candidate or drag select a section on the waterfall to inspect a specific signal, then assign a label from the 15 supported signal types — or mark it as Unknown. Add notes, adjust the label, and capture as many examples as you need to build a training dataset.
AI Classification
The built-in ONNX neural network classifies detected signals against 15 mode types including CW, FM, FT8, JT65, SSB, and more. A confidence threshold (default 50%) filters out uncertain predictions. The distributed model achieves 77% validation accuracy on signals with training data at present, and you can reload a fine-tuned model without restarting the app. As I capture more signals, they will be automatically added to new distributions of the application. Contact me on Discord and share your classified signals for them to be included in the application.
Train Your Own Model
Collect captures, label them, and retrain the classifier to recognise the signals you encounter on your own bands. Use python retrain_model.py --fine-tune to add your data to the distributed base model, preserving what it already knows while learning new patterns. Or train from scratch for full control. Quality warnings alert you to class coverage gaps, data imbalance, and accuracy regression before the new model is deployed.
Comming Soon
The video below shows a fully implemented library that I've created for using the radios built in Wi-Fi/ethernet server over the network. I'm currently working on integrating this with Pycom so that it's no longer tied to a USB connection. Benefits include integrated audio and faster responsiveness including scope.
USB Remote Operation
Initial Local Installation

Of course you can use the software locally where you install and operate the software on your shack computer.
Audio is available via the USB serial connection. Speakers and microphone connected to the radio should be automatically installed on your operating system when you install the USB drivers.
There is support within Pycom for a local RC-28 controller and you can run doppler tracking or other software on the same computer; however the software comes into its own when you want to start to operate remotely.
Remote Setup
Once you have the software installed on your shack computer, you can use tools such as Microsoft Windows App or MacOS Screen Sharing to view the display and control the computer remotely. Audio can be streamed over the network both to and from the shack computer using tools like Sonobus. There is also support for a remotely connected RC-28 controller. Using a combination of these tools (or alternatives if you prefer) you can have full operational capabilities when you're away from your shack.
Remote Audio Chain
Connecting remote audio involves configuring levels at each component in the chain, including within the Pycom software. In addition to the components documented in the diagram I also pass audio out of the local SonoBus to Blackhole Audio which allows me to record audio for playback later. I have a wired ethernet network between the two computers however it is possible to reduce the audio quality without too much impact for streaming over the Internet.
Development Environment My Specific Configuration
| Component | Detail |
|---|---|
| Shack Computer | HP EliteDesk 800 G3 Small Form Factor Business PC 4 x Intel(R) Core(TM) i5-7600 CPU @ 3.50GHz (1 Socket) 46 GB DDR4 RAM Proxmox Virtual Environment 8.4.1 |
| Operating systems | Window 10 virtual machine with 2 virtual CPUs and 16GB RAM macOS Monterey (Intel) virtual machine with 2 virtual CPUs and 4GB RAM macOS Sonoma (Silicon) Apple M1 with 16GB RAM |
| USB Drivers | Icom USB Drivers installed. For MacOS I used CP210x VCP Mac OSX Driver |
| Remote control software | Windows App macOS Screen Sharing Sonobus RC-28 Server |
| Doppler tracking | CSN Technologies S.A.T (preference) Gpredict SatPC32 |
| Antenna rotation | PstRotator Gpredict Both underpinned by my own custom rotctld implementation |
Making Amateur Radio Accessible
Although there are many reasons why you might want remote control, the motivation for creating this software was a desire to operate satellites specifically linear satellite and finding a lack of support from currently existing software on the market.
In 2018 I had a surfing accident and was pulled out of the sea by a lifeguard from RNLI. I was left paralysed with a spinal cord injury from the neck downwards. I've recovered sufficiently to be able to use a trackpad awkwardly with the middle finger on my left hand however turning dials and pushing buttons on a radio is a little bit beyond me. Using Pycom Radio Controller remotely allows me to operate successfully without limitations.
You can find out more about the origins of the software and Making Amateur Radio Accessible on the RSGB Tonight@8 episode and information about spinal cord injuries from the London Spinal Cord Injury Centre .