If you run the 4O3A “Genius” stack — Power Genius XL, Tuner Genius XL, Antenna Genius XL — next to a FlexRadio, you know how slick the integration is. The amp, tuner, and switch all follow the radio over the network automatically: change bands and the whole stack re-tunes and switches antennas without you touching a thing.
The catch is that the magic is built for FlexRadio. My exciter is an Elecraft K4D. With a non-Flex radio you fall back to serial band-data and CAT, which is clunkier and doesn’t give you that seamless network-following. I wanted the Flex experience without a Flex — so I built one.

virtual-flex is a small daemon that impersonates a FLEX-8600 on my shack LAN. The Genius stack discovers it, connects, and follows it exactly as it would a real Flex. Behind the curtain it reads my K4D directly over its Ethernet CAT port and translates the radio’s frequency, mode, and transmit state into the Flex network protocol. The result: my K4 drives the entire Genius stack over the LAN — band-follow and full keying — with no station wiring and no Flex in sight.
A few things I like about how it turned out:
- It behaves like a real radio, including when it’s off. Power the K4 down and virtual-flex vanishes from the network just like a Flex would. The Genius boxes then revert to whatever antenna I’ve assigned to their “no transceiver” state — I point the Antenna Genius at a dummy load, so shutting off the radio automatically parks the station safely. Nice peace of mind when the weather turns.
- It’s lean. Pure Python, one network connection to the radio, no extra dependencies — which also handed a CAT connection back to my logger.
- It’s quiet. No constant chatter or DNS noise; it talks to the radio by IP and only looks anything up if the address changes.
- It installs turnkey. On a small Debian VM (a Pi or container works too): install the package, run a one-line setup wizard that finds the K4 and writes the config, and it starts itself.
On the air, recovery when I power-cycle the K4 is fast enough that I genuinely can’t tell it apart from a real FLEX-8600 coming back online.
It’s open source (GPL) on GitHub if you’re in the same boat: github.com/gsa700/virtual-flex. Fair warning — it’s built specifically for the K4/K4D right now, though the approach would port to other radios.
73, AB0R