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.

NOTE: This firmware is compatible with the original CTR2-Mini, however, you will need to add an external Function Keypad to take advantage of the new function button features.


January 11, 2023: v1.13.02 – Minor bug fix

  • Removed check for rPC firmware version #. This was locking up some Wio Terminals.

January 10, 2023: v1.13.01 – This version has many bug fixes and upgrades.

  • A lot of changes have been made to the Elecraft protocol implementation so the Mini should play better with these radios now.
  • The program now automatically reconnects to your Flex radio when you toggle the GUI/Non-GUI option.
  • Added the Radio menu back into the [C] button menu. It went missing after the last update.
  • Expanded the FTdx, Elecraft, and Icom menus to allow space for future functionality.
  • Added the option to use hardwire or CAT controlled PTT to the FTdx, Elecraft, and Icom radio.
  • The Mini no longer enforces Zero Low Digits when you tune the radio’s dial. Previously it would force the radio to jump to the zeroed frequency setting on the Mini. This allows you to use the Mini to tune major steps and then use your radio’s dial to fine tune if needed.
  • Fixed issues in the Mini’s Split VFO operation mode.
  • Fixed bugs in the code that supports using your paddles to enter text in the text editor window.
  • Fixed bugs in the function button mapping code. You may need to remap your function buttons with this update due to changes in the code.

December 31, 2022: v1.13.00 – This version has many small changes, bug fixes and additions.

  • Added a new CTR2-Mini 101 – Basic Training section to the Operation Manual. This section includes 20 new lessons to help you get started with the Mini. Let me know if you have suggestions for other lessons. Changes in the manual since the v1.12 release are highlighted in yellow.
  • Added support for the Xiegu protocol
  • Changed the [A] button in all menus from [Ok] to [Esc]. Short-press this button to return to the calling menu, long-press it to return to the Home page
  • Standardized the ‘look and feel’ of the Icom, Elecraft, and FTdx, menus
  • The expanded Radio menu is now ‘sticky’ and will stay visible until you press the [Esc] button. It will also automatically refresh the radio settings every 3 seconds while it’s visible.
  • Tx Enable is now ‘sticky’ through power cycles
  • Added a new Calibration menu to the Config menu so you can adjust the meter indications to match your radio’s indications
  • The Mini now respects the radio’s frequency and mode settings when you connect
  • —‘ will be displayed in the the radio Mode text box when you select a mode on your radio that the Mini doesn’t support. Previously the Mini would overwrite unsupported modes with USB.
  • Numerous bug fixes in the different protocols. Most notably the DIG-H, NR, and NB modes now works on the FTdx protocol and the Mini’s VFO management works better now.

December 19, 2022: v1.12.01 – This update includes a few stability improvements for the Flex protocol
December 16, 2022: v1.12.00

This version includes some critical bug fixes for the Flex protocol along with adding initial support for the Elecraft protocol. In addition, the FTdx protocol has been updated to include Bandwidth, AGC, NB, NR, and Notch controls for both the Main and Sub receivers. I’ve also removed the protocols for the Yaesu FT-757, FT-890, and FT-1000 radios because they are old radios and nobody is using the Mini with them. I left the FT-100 and FT-8×7 protocols because the Mini adds significantly to the operation of these radios.


December 6, 2022: v1.11.00

This version includes man firmware refinements and the ability to connect to any radio using a network connection. Some radio’s like the Elecraft K4 include built-in network CAT control so you’ll be able to connect to these radios without a wired CAT connection. For other radios you can use a serial terminal server to connect to the radio’s RS232 port with an Ethernet connection. Here’s the full list of updates in this version:

  1. A new menu called CAT Connection has replaced the old Radio Baud menu in the Config menu. This menu allows you to select a serial port baud rate or an IP address and TCP port number for a network connection.
  2. A new GUI/Non-GUI client option has been added to the Flex 6000 menu. This option allows you to choose how you want to connect the Mini to your Flex radio. Normally you would use the Non-GUI client and just connect to an existing slice on SmartSDR. Choose the GUI client if want to connect to your radio in place of SmartSDR. The GUI client mode includes the new mini-panadapter and a 10 kHz bandwidth option has been added to the mini-panadapter menu.
  3. New Rx Ant, Tx Ant, Bandwidth, AGC and AGC-Threshold controls have been added to the Flex 6000 menu and to the Config->Function Btn menu.
  4. Three additional functions have been added to the Function Btn menu for each radio protocol and new radio functions have been added to the function button option list.
  5. A Reset IP Connection option has been added to the WiFi menu. This option allows you to reset the current IP connection without resetting the WiFi connection.
  6. The Operation Manual has been updated with these changes highlighted in yellow. The Operation Manual’s version number also now follows the firmware release version number.

November 21, 2022: v1.10.04

This version adds additional functionality to Flex radio control including a new RF Gain control, a new Rx Bandwidth control, and a new Connection Re-Initialization control and is recommended for all FlexRadio users.


v1.10.03 – November 17, 2022

The main feature of this update is a new ‘mini’ panadapter that is available for the Flex radio when running in GUI client mode. On Flex radios running v2.xx firmware this happens only when you connect to the Mini without SmartSDR running. Flex v3.xx firmware supports multiple clients so you can connect in GUI client mode with SmartSDR running by selecting a slice that isn’t being managed by SmartSDR.

This new mode displays a small panadapter on the Home page. It’s not fast, it only updates maybe once a second, partially because the Wio Terminal is slow (120 MHz) and its display uses SPI which makes it even slower. It won’t replace the panadapter in SmartSDR but it does give you an idea of band activity when running your Flex with the Mini in POR (Plain Old Radio mode without SmartSDR running).

A new Pan Menu shown above has been added to the Flex 6000 menu that allows you show and hide or change the settings of the panadapter.

This version also optimizes the new Meter code added in v1.10.01 so it doesn’t block the program when the radio is not connected to the Mini. In addition, the problem with scrolling the frequency tuning digit off screen has been fixed.


v1.10.01 – November 11, 2022: This version includes several new updates including:

  • Changed the Meter page to display all five meters at the same time
  • Added markers to all meters to show their previous level before the current reading
  • Fixed the Icom Noise Reduction Level control so it works correctly. Also added support for Rx Mute and the Tuner on this radio.
  • Changed the [A], [B], and [C] button layouts in the Meter and External Tuner pages so they are consistent.
  • Added a KEY function to the [C] button in the Meter page if the radio is in CW mode. Also, the PTT button on the keypad keys the CW carrier in this mode too. If you’re not in CW mode the PTT on the function button keypad keys PTT on the radio. This allows you to key the radio while in the Meter page.
  • Fixed a bug that caused WiFi auto-connect to fail. This was caused by the Link mode being set to use Bluetooth. It works properly now.
  • Added code to temporarily change the tuning digit 10x when the encoder is turned faster than normal. This allows you to quickly move the around the band.

v1.10.00 – November 7, 2022 – Added a new Meter Mode and expanded support for Icom radios.

This update has many new features!

  • A new Meter mode that displays S-meter and Power bar graphs on the Home page and three large meters on the Meter page. Meter mode is a ‘sticky’ mode meaning the Meter page will remain open until you close it. This allows you to use the Mini as a remote metering panel for your radio.
  • Expanded Icom support has been added giving you to ability to map specific Icom functions to the function buttons.
  • Per user request, the Mini Keyer Speed setting also sets the keyer speed on the radio it’s controlling. This allows you to use your radio’s keyer and still control it with the Mini.
  • Per user request I added the underscore (‘_’) character to the character set. It sends BT in Morse just like the ‘=’ character does.
  • Per user request I modified the External Tuner mode to use CW instead of AM. Pressing the [C] button latches KEY OUT on or off. Pressing the PTT switch on the function keypad or a foot switch plugged into the Remote PTT/Key In jack will momentarily key the radio. You can also adjust tune power from 5 to 100 watts (instead of 5 to 15 as in v1.09.03). The power is displayed with red background if you set it above 15 watts just to remind you that the power is higher than normal tune power. I also fixed several bugs in this mode’s code so now it works!

v1.09.00 – October 22, 2022 – Added Code Practice mode and External Antenna Tuner support

This update adds a new code practice mode to the Keyer menu and support for external antenna tuners to the Mode menu.


v1.08.00 – October 17, 2022 – Added enhanced function button support

This update adds enhancements to the function buttons that are standard on the new CTR2-Mini+.

  • Function buttons and the blue 5-way switch on the Wio Terminal can be assigned two different functions.
    • Normal – executes when you press the button
    • Shift – assign the SHIFT function to one of the normal buttons (I use F5). Pressing this button changes the functions on the other buttons to their shift function.
    • To view the Normal functions, press and hold the encoder for > 2 seconds.
    • To view the Shift functions, press the button assigned to the SHIFT function.
    • Radio specific expanded functions such as volume and power settings can be assigned to function buttons or the 5-way switch.
  • Added a new Encoder option to the Config menu. This option allows you to change the sensitivity of the encoder. This allows you to use a smooth encoder by reducing the sensitivity to encoder movement.

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.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.