CTR2-Mini is an evolving radio controller. As such, new features are being added and old features refined to make them easier to use. Users are intimately involved in CTR2-Mini’s evolution and they’re helping to make CTR2-Mini into a great radio controller that does what they want it to.

To track these changes I’ve decided to add a new page to the blog detailing the user interface changes as they come with each firmware revision. Items on this page will be in chronological order with the latest updates on top. I’ll add some of the older updates to this blog post as time permits.

You can download the latest CTR2-Mini firmware here.


v1.07.00 – September 19, 2022 – Added support for newer Kenwood radios such as the TS-480 and TS-2000

A new Kenwood menu will appear on the Main menu when connected to a radio that supports the enhanced features listed below:

  • Main and Sub Rx volume control
  • RF Gain and RF Attenuation settings
  • Antenna 1 & 2 port selection
  • Transmit Power Out adjustment
  • Noise Blanker, Noise Reduction, and Notch Filter settings
  • Antenna Tuner control

NOTE: This menu is in ‘Alpha’ stage because I don’t have a newer Kenwood to test with. If you have one, let me know if you have any problems using the new menu.

I also added a new Encoder: Normal/Slow option. The Slow option allows you to use a smooth (no-detent) encoder instead of one with detents by slowing the encoder response to encoder movement while in Menu mode.


v1.06.00 – September 11, 2022 – Added the 23cm band and a new Swap VFO option to the VFO menu

Prior to this update the top frequency on the Mini was limited to 999.999999 MHz. This was primarily due to the space available for the frequency display. A new user wanted to use his PCR-1000 radio to monitor beacons in the 23cm band (1296 MHz) so I shoehorned a GHz digit into the frequency display. It turned out just fine.

I also added a new Swap VFO option to the VFO menu. This option appears when you have two Minis linked using the Basic link mode. Selecting this options swaps the VFO settings on each Mini (and their radios) similar to the Swap A/B option does for the Mini’s VFOs. This allows you to swap which Mini/Radio is your ‘primary’ radio when operating in SO2R mode or using the dual VFO option in the FTdx radio menu.


v1.05.00 – August 12, 2022 – New ‘half’ frequency steps

I had another twinge of inspiration last night… I’ve always wished for a way to have more granular frequency steps (1, 5, 10, 50, 100, 500, 1k, 5k, 10k, etc.) but struggled with how to present this option to the user. It occurred to me that using color was a good way so I added a few lines of code and here it is! This new feature was added in v1.05.00 and is available now on the download page.

When you change the frequency tuning digit (press and hold the encoder then turn it) you’ll step through the frequency steps available. Full steps will highlight the tuning digit in red. When you select a 1/2 step (i.e. between full steps) the color of the leading digit turns violet. The red digit will now step in increments of 5 as shown in this video.


v1.04.02 – August 11, 2022 – Found and fixed a couple of minor bugs in the user interface.


v1.04.01 – August 7, 2022 – Added a new Recalibrate Buttons option to the Config->Function Btns menu

This option allows you to to recalibrate the ADC values detected by the Wio when you press each button on the Function Button keypad. These values may vary from the default values if you use slightly different resistor values when you build your function button keypad, or when two Mini’s are used with the CTR2-Mini SO2R Controller. Recalibrate if you notice erratic responses from function button key presses. New calibration values are saved in the initialization file.


v1.04.00 – August 4, 2022 – Expanded Yaesu FTdx101 control and a new Dual VFO control feature

This update adds expanded functionality for the Yaesu FTdx101 radio and includes the ability to use two Minis to control each receiver radio simultaneously. You can read more about it in this post or view the demonstration on YouTube.


v1.03.04 – July 15, 2022 – Push/Pull Freq & Mode in Basic Link mode and HamLib rigctld support

Push/Pull options

You can link two CTR2-Mini’s together via WiFi to create a fully diversified SO2R station. Each Mini controls one radio connected to its own antenna. There are several linking options you can choose from. The Basic linking mode just synchronizes the basic settings on each Mini such as keyer type, speed, and Farnsworth timing. Other modes allow you to simultaneously tune both radios on the same frequency, or different bands, with either Mini or either radio dial. You can also use one Mini to remotely control the other Mini and its radio. More Information on SO2R and linking options can be found here.

Beginning with v1.03.03, two new options have been added to the Basic link mode: Pushing or Pulling frequency and mode information from one Mini/Radio setup to the other. This allows you to have one Mini/Radio/Ant (Mini-A) setup as the main radio and another Mini/Radio/Ant (Mini-B) setup as a band monitor radio. Mini-B doesn’t even have to control a full transceiver. An old receiver like an Icom PCR-1000 can be used. All of your contacts are made on the Mini-A/Radio setup and you use Mini-B to quickly scan the any band looking for your next contact without disrupting the tuning on the A radio. When you find another contact on B simply push the new frequency and mode from Mini-B to Mini-A and make the contact. Or Mini-A can pull the frequency and mode from Mini-B.

While having the CTR2-Mini SO2R Controller greatly simplifies creating an SO2R station by allowing you to easily share mics, headphone, keys, and function buttons, you really don’t need it if you always use one transmitter. Just two Minis can link your radios virtually and give you access to a separate diversity receiver. Just build an adapter to bring both receivers to your headset.

You’ll find the new Push and Pull options in the VFO menu. You can also assign either option to the [C] button for quick access.

Hamlib rigctld support

v1.03.03 also brings support for Hamlib rigctld. What is rigctld and why should you care? rigctld is a generic radio CAT protocol developed by Hamlib. It provides a generic CAT feature set that can be used on any radio that supports rigctld.

The main reason I added it to CTR2-Mini is because I own a Xiegu X6100 radio (I’m a sucker for a pretty SDR face). Unfortunately, the X6100 doesn’t support serial CAT control. Instead it uses one of two virtual USB serial ports (the other one is for USB audio). This works fine if you’re controlling the X6100 from a PC but it doesn’t work so well with a small micro-controller such as the Wio Terminal. However, hams above my pay grade rooted the X6100 and found a way to install Armbian on the X6100. Armbian is a small Linux distro optimized for the Arm processor used in the X6100. It allows you to run Linux on your X6100 and opens up all kinds of possibilities, such as creating a fully integrated WSJT-X radio (just add a keyboard and mouse)! The Armbian distro also includes rigctld support. This allows me to connect to and control the X6100 via WiFi. To use it, select the NET.rigctrld in the Config->Radio CAT menu then enter the IP address of the X6100 radio. Enable WiFi on the X6100 and then on the Mini and you’re in control!


v1.03.02 – June 16, 2022 – Active Zero Low Digits option

The Zero Low Digits option in the Frequency menu allows you to zero the frequency digits below the step digit. This is handy when you want to turn to an exact frequency, say 7.074.000 MHz for FT8.

This version allows you to enable this option so that the lower digits are always zeroed out. For instance, if the step digit is set to 1 kHz, and your Mini (and radio) are tuned to 7.074.400 MHz, when you enable Zero Low Digits the Mini and the radio would automatically change to exactly 7.074.000 MHz. Any tuning changes on the Mini or the radio would be in exact 1 kHz steps.

The frequency display will indicate when this mode is enable by displaying the zeroed digits as small gray zeros as shown below.

To change the step digit press and hold the encoder then turn the encoder knob. While Zero Low Digits is enabled, moving the step digit to the right will move the red digit to the next small zero and tuning will increment by that digit’s weighted value.

Moving the step digit to the left will round the frequency up to the closest value. For example, if the step digit was 100 Hz and the frequency was 24.916.5oo, moving the step digit to 1 kHz would change the frequency to 24.917.ooo. Tuning the Mini or the radio would keep the frequency on exact 1 kHz boundaries.

NOTE: If the step frequency is greater than 100 Hz you may notice that tuning the radio dial causes ‘choppy’ frequency changes. This is because the radio is trying to tune to its step (usually 10 or 100 Hz) and the Mini keeps pulling it back to the exact frequency of it’s step. To eliminate this interaction, either reduce the step frequency on the Mini or disable the Zero Low Digit option.


v1.03.00 – June 2, 2022 – New Link Mode

This update brings support for the new CTR2-SO2R Controller and CTR2-Antenna Switch Controller.

In this update a new Link menu has been added that allows you to enable and disable a virtual link between two Minis and the antenna switch controller (referred to as the ASC). This link allows two Minis to function as one controller while controlling two different radios. When used in conjunction with the SO2R controller and the ASC either Mini can control both radios and selected from multiple antennas for each radio. This is great for contesters but also fun for just casual operating.

Link communications can be setup to use either WiFi UDP or Bluetooth LE depending on your preference. However, the ASC only supports WiFi UDP at this time so if you want to use two Minis and the ASC you’ll need a WiFi network.

In Link mode one Mini is assigned as the server (Mini-A) and the other as the client (Mini-B). There are four operating modes in Link mode:

Basic Mode

In Basic mode, the basic settings of each Mini are shared. These include the Tx Enable setting and the keyer settings. In this mode, when one Mini has it’s transmitter enabled the other Mini automatically disables it’s transmitter.

Basic + Frequency Mode

In this mode the basic link features are supported along with frequency synchronization. You can lock both radios on the same frequency and tune them together with either Mini or either radio. This allows you to have true receive diversity because you can listen on two receivers on two different antennas on the same frequency. With the SO2R controller you can listen to both transceivers and instantly select one to transmit with. When you enable the transmitter on one radio the frequency of the other radio is automatically tuned 10 MHz away from the transmit frequency.

This mode also includes a fine-tuning feature for the radio on Mini-B. This allows you to zero-beat both receivers.

Basic + Tracking Mode

In this mode the basic link features are supported along with frequency tracking. This allows you to have each Mini controlling its radio on a different band but have them locked together so that as you tune one Mini or its radio the other Mini and its radio follow, but in a different band. The net result is that you can tune and work two bands simultaneously.

Remote Mode

This last mode simply makes Mini-A a remote controller for Mini-B and its radio. Mini-B would be located in your shack, connected to your radio. Mini-A can be located anywhere. It is connected to Mini-B through the Internet. Audio can be sent from your shack to your cell phone using any of the available audio streaming servers. I like Sonobus for its flexibility and low latency. Others like Mumble.

As mentioned above, this firmware update also supports the new ASC. More information on this interface can be found here.


v1.02.03 – March 11, 2022 – GUI Support for Flex Radios

Added GUI support for the Flex radio. Normally SmartSDR provides the GUI (Graphical User Interface) to operate the radio. This allows you to connect to, and control your Flex radio without having SmartSDR running. This comes in handy if you just want to operate your Flex radio like a normal radio, you know, without running your PC.

If SmartSDR is running when you connect the Mini the Mini will connect as a Non-GUI client meaning that it will rely on SmartSDR for many of the services it needs. If SmartSDR is not running the Mini connects as a GUI client.

NOTE: If you’re running SmartSDR v2.xx.xx your Flex will not support multiple GUI clients. In this case, if you connect the Mini before you start SmartSDR (i.e. it connects as a GUI client), SmartSDR will not be able to connect to your radio. Simply disconnect Mini from WiFi, connect SmartSDR to your radio, then reconnect the Mini to WiFi.


v1.02.01 – March 10, 2022 – IP Network Keying for Flex Radios

This version includes many enhancements for FlexRadio control on CTR2-Mini.

Perhaps the biggest improvement is providing real CW keying over an IP network. Those of you that are familiar with the Flex radio know that this has been a problem for a long time which is one of the reasons they provide CWX. While CWX has many advantages it’s a compromise if you prefer sending CW the old fashioned way.

Len, KD0RC pioneered getting real CW keying over IP working. He was kind enough to share his knowledge with me so I could include it in CTR2-Mini.

To enable IP keying do the following:

  • Go to the Flex 6000 menu on the main menu (it’s only available when you have the Flex radio CAT protocol selected) and change the Key: HW (key via hardware) to Key: Net (key via IP network).
  • Adjust the CW Delay parameter on the Flex 6000 menu to around 250 milliseconds. You can experiment with this value to see what works best for your network. Networks with high latency may required more delay.
  • Open the Keyer menu and make sure Sidetone is ON. The radio doesn’t generate sidetone in this mode so you’ll need this to properly key your radio.
  • Set your Flex to CW mode.
  • Enable Tx on the Mini by pressing the [A] button. The Delay and Breakin buttons should light up on SmartSDR indicating the radio is ready to transmit.
  • Operate your paddles to key the radio.
  • To disable Tx, press the [A] button on the Mini again.