Aug 12, 2022 – v1.05.00: Added the ability to tune in ‘half’ steps

Update Recommendation: For all users.


One of the huge advantages of using the Wio Terminal for CTR2-Mini is that Seeed Studios provided an extremely easy way to load new firmware into the Wio Terminal.

I cover the basics of updating the Wio Terminal’s firmware in my CTR2-Mini Introduction video here. You can scroll to 2:38 to review the process I’m describing next. You can find other videos on CTR2-Mini on my YouTube channel at https://youtube.com/lynovation


Load CTR2-Mini’s Firmware in Four Easy Steps

  1. Connect the Wio Terminal to your PC. This can be a Windows, Linux, or Mac PC.
  2. Quickly double-click the power button (pushing it down past the ‘On’ position twice) on the Wio to put it into programming mode.
  3. Your PC’s file browser should open with the Arduino folder selected. If not, navigate to it. It will be with your removable drives.
  4. Copy and paste the CURRENT.UF2 file in the CTR2-Mini_v10xxxx.zip link below into the Arduino folder, replacing the original CURRENT.UF2 file.

That’s it! The Wio will immediately reboot and run the new firmware. No Arduino IDE, no trying to find libraries, no compiling, no figuring out what serial port on your PC is assigned to the Wio. Just copy and paste the firmware below and you have the latest version of CTR2-Mini.

This makes it extremely easy to update CTR2-Mini as it continues to evolve. I’ll post new videos on YouTube to demonstrate updated firmware features so there’s another reason to subscribe to my channel 🙂


Click the link below to download the latest CTR2-Mini Firmware.

For those more adventurous and would like to compile the CURRENT.UF2 file from source code, or if you’re just interested in seeing what makes the Wio a Mini, you can download the source code from the next link. You’ll need the Arduino IDE to compile the files. You’ll also need to install the Seeed Studio Wio Terminal board and the Seeed eRPC libraries. Seriously, it’s easier to just install the CURRENT.UF2 file as directed above 🙂 The source code will always be a version or two behind the executable firmware. If you’d like a bleeding-edge version, contact me.


WARNING: Out of the box the Wio Terminal cannot run CTR2-Mini firmware. The Wio must be updated to the latest eRPC firmware. This firmware runs the WiFi and Bluetooth interfaces on the Wio. Why this update isn’t factory installed is a mystery to me.

It takes a little time to update your Wio, but it will thank you for it. The eRPC firmware greatly increases the flexibility of the Wio allowing it to run both the WiFi and Bluetooth stacks at the same time. This will become more important as I follow my CTR2-Mini roadmap for future enhancements.

To install the eRPC firmware, follow the steps here. Luckily, you only have to do this once!

One recommendation I have when following the instructions to install the eRPC firmware…

Copy the RTL8720 Firmware and Flash Tool files in Steps 2 and 3 to a temporary folder (i.e. C:\temp\ if you’re using Windows). This will make it easier to enter the firmware file name when you flash the firmware in Step 5. Just navigate to the temporary folder and enter the name of the firmware zip file after .\ambd_flash_tool.exe flash -d

If you have problems updating the eRPC firmware, contact me and I’ll walk you through the process.

NOTE: The Wio Terminals I supply with the assembled and tested Minis and the CTR2-Mini ASCs already have this update installed.


REVISIONS

August 12, 2022 – v1.05.00 – Recommended for all users

  1. Added the ability to tune in ‘half’ steps
    • Press and hold the encoder then turn it to select a tuning digit as normal
    • Every other step will select the ‘half’ digit (half way between the two, i.e. the half digit between 1 KHz and 100 Hz is 500 Hz)
    • Normal ‘full’ digit tuning will tune the selected (red) digit in increments of 1
    • When the half digit is selected the digit before the red tuning digit will be violet and tuning will step the red digit in increments of 5 as seen in the video below.

August 11, 2022 – v1.04.02 – Recommended for all users

  1. Found and fixed a couple of very minor bugs in the user interface

August 7, 2022 – v1.04.01 – Recommended for all users

  1. 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.
    • You may need to recalibrate if you build a function button keypad using values slightly different from those shown here, or when you use two Mini’s with the CTR2-Mini SO2R Controller.
    • After recalibration the new values are saved in the initialization file

August 4, 2022 – v1.04.00 – Recommended for Yaesu FTdx101 users

  1. Added enhanced support for the Yaesu FTdx101 radio.
    • A new FTdx101 menu will appear on the main menu when you select the FTdx101 Radio CAT. This menu allows you to control many of the radio’s features similar to what I did with the Flex and PCR1000 radios.
    • A new Dual VFO control mode has been added. This mode allows you to use two Minis to simultaneously control both the Main and Sub VFOs. Mini-A connects to the CAT port on the radio and Mini-B uses Mini-A’s CAT connection to control the SUB receiver. To engage this mode:
      • Select the FTdx101 Radio CAT on both Minis
      • Connect Mini-A to the FTdx101’s serial CAT port using the Radio I/O module
      • Connect both Minis to your WiFi network
      • Use the Link menu to setup a Sync: Basic Settings link on Mini-A
      • In the Link -> Sync: menu on Mini-A toggle the Each Mini Controls a Radio option to Mini-B Controls the SUB VFO
    • In the Dual VFO mode, enabling the Main or Sub VFO to transmit (i.e. by pressing top-left button of either Mini) automatically switches the transmitter to that VFO and unmutes the Rx if was muted.

July 15, 2022 – v1.03.04 – Recommended for all users

  1. Fixed bug in the SendASCCmd() that was blocking sending the swap, op mode, and switch mode commands to the antenna switch controller
  2. Released this version to QST for inclusion on their QST In Depth web page to support the CTR2-Mini article in the September 2022 issue.

July 9, 2022 – v1.03.03 – Recommended for users using the Xiegu X6100 or Link modes

  1. Added support for Hamlib rigctld IP CAT control. This allows you to control any rig over WiFi that supports rigctld. I specifically added it so to provide a WiFi CAT interface to the Xiegu X6100. The X6100 doesn’t support serial CAT control. Instead, CAT control is done on one of two virtual USB serial ports on the radio. The Wio Terminal doesn’t recognize these ports. To use rigctld, add an SD card to your X6100 with an Armbian on it as explained in this video. Once this is done, select NET.rigctld in the Config->Radio CAT menu. Once this is done, enter the IP address for your X6100. Boot the X6100 and start Armbian (press and hold the first menu button on the radio while it boots). Once this is done, enable WiFi on the X6100 then enable WiFi on the Mini.
  2. I added new Push and Pull options to the Basic Link mode. These options allow you to push or pull the frequency and mode information from one Mini to the other while they are linked together using the Basic Link mode. You’ll find these options in the VFO menu. They can also be assigned to the [C] button on the Wio.

June 16, 2022 – v1.03.02 – Recommended for all users

  1. Fixed bug that blocked WiFi Auto-Connect from working properly if BLE was selected as the connection method in the Link menu.
  2. Made Zero Low Digits in the Frequency menu an active On/Off option. Enabling it will automatically zero the digits below the step digit as you tune the Mini or your radio (when the Mini is connected to it). When this mode is ON the zeroed digits will be smaller and grayed out on the frequency display as shown below.
    • When moving the step digit to the right (decreasing the step) the next small 0 will become the step digit and will be displayed in red.
    • When moving the step digit to the left (increasing the step) the frequency will be rounded up. For example, if the frequency was 24.916.5oo and you move the step to the 1 kHz digit, the Mini’s frequency and the radio’s frequency will change to 24.917.ooo.
    • NOTE: When Zero Low Digits is enabled the radio dial will also tune in step increments. This can be disconcerting if you have the step digit set above 1 kHz as the radio will appear to jump frequency as you tune it. To smooth out the radio’s tuning, reduce the step digit or turn off the Zero Low Digits option.

June 2, 2022 – v1.03.01 – Recommended for Flex-only Mini users

  1. This version fixes a problem that caused a Flex-only (i.e. a Mini with just an encoder) to lock up on the initial boot. The Tx Enable button would continually toggle on and off. The problem was caused by the weak pull-up provided by the Wio Terminal. If the input used to sense the function button keypad is not pulled up with a strong pull-up the Mini would detect it as having a button pressed. This version will lockout and ignore the input used for the remote keypad option since it can’t be used on the Flex-only Mini anyway.

May 30, 2022 – v1.03.00 – Recommended for all users (beta software)

IMPORTANT!!

Starting with v1.03.00 I moved the INIT.TXT (initialization) file from the /MENU/ folder to the root (/) of the SD card plugged into the Wio Terminal. I found that when starting the program with a fresh SD card the program would crash when it checked for the INIT.TXT file in /MENU/.

If you update your Mini from a firmware version below v1.03.00 you will need to reset your settings. The affected settings include the WiFi SSID, password, and WiFi auto-connect, function keys, theme color, tag line text, your call and contest SN.

If your PC has a socket for SD cards you can remove the SD card from the Wio Terminal, insert it into your PC, and move the INIT.TXT file from /MENU/ to the root folder.

Additional changes to v1.03.00:

  1. This is the initial release of the new CTR2-Mini firmware that supports Linking and the new CTR2-Antenna Switch Controller.
  2. It is beta software so let me know if you find any issues using it.
  3. A new Link menu has been added. To use the Link modes, select the Mini (A or B) then select either Bluetooth LE or WiFi UDP for the link. If using WiFi, enter the WiFi IP address of the other Mini. One Mini must be set as A (server) and the other must be set a B (client). Next select the Link mode:
    • Basic synchronizes just the Tx Enable, keyer speed, and Farnsworth speed.
    • Basic+Frequency synchronizes the basic parameters plus the frequency. On Mini-B you can fine-tune the frequency on radio B in the Link menu. Frequency sync is temporarily disabled while Tx mode is enabled and the other radio’s frequency is set 10 MHz above or below the active transmit frequency.
    • Basic+Tracking allows you to track two radios on different bands. This allows you to tune both bands simultaneously. Tracking is temporarily disabled while Tx mode is enabled.
    • Remote allows Mini-A to act as a remote controller for Mini-B. Only one radio is controlled, the one connected to Mini-B.
  4. This version also supports remote control of the CTR2-Mini Antenna Switch Controller.

May 24, 2022 – v1.02.11 – Recommended for all users

  1. While working on the code for my new CTR2-Mini Antenna Switch Controller I ran into a subtle bug in the base code that caused the program to lock up for no apparent reason. I located the problem in an errant pointer in the text editor code. I don’t know if this was causing problems in CTR2-Mini but it certainly could.

April 19, 2022 – v1.02.10 – Recommended for Flex and PCR1000 users

  1. Fixed a bug that was causing the C-button selection to change to Tx Msg on reboot if you had selected the Flex or PCR1000 menu.

March 22, 2022 – v1.02.09 – Recommended for all users

  1. The program will now boot with the 10 Hz step selected if in CW mode and the 100 Hz step for all other modes.
  2. Changed the way the Value window works (i.e. for setting values). For many values (like RIT, volume, and DSP filters), short-pressing the encoder will set the value to 0 and short-pressing it again will restore the value. This allows you to temporarily or permanently 0 the value. Just long-press the encoder or press the [Ok] button to exit the window.

March 21, 2022 – v1.02.08 – Recommended for all users

  1. Changed the ‘*’ character in the message buffer from ‘Tx pause’ to auto-increase the keying speed by 50%. Add another ‘*’ to return to normal. This is handy for contesters who send ‘599’ repeatably. Just add *599* to the message to send the RST report faster. Speed automatically returns to normal after the buffer has been sent.
  2. Added Keyer Speed to the [C] Button menu
  3. Leave all Value Setting windows open until the user closes them
  4. Improved the Value Setting window – it’s now larger and has a title

March 20, 2022 – v1.02.07 – Recommended for Flex Users

  1. Added RIT to the [C] Button menu
  2. Leave RIT window up until user closes it – suggested by VA3AR
  3. Inc/Dec RIT by 10 Hz per click and 100 Hz per click for fast encoder spin.

March 19, 2022 – Version 1.02.06 – Recommended for all users

  1. Fixed a major bug introduced in v1.02.05 – continually trying to connect to WiFi and Flex radio :{
  2. Moved more code from Flex comm in CTR2 over to the Mini
  3. Refined encoder speedup code
    • Don’t speed up when setting Keyer Speeds
    • Inc/Dec by 20 counts in RIT
    • Inc/Dec by 10 counts in all other modes
  4. v1.02.06a has Flex debug turned off

March 18, 2022 – Version 1.02.05 – Recommended for Flex users

  1. This version has a major bug in it, use v1.02.06 instead!
  2. Minor code updates to keep the Mini synced with the FlexRadio fixes added to the CTR2 code base.

March 12, 2022 – Version 1.02.04 – Recommended for all users

  1. Holding down the encoder switch then booting the Mini inverts the WiFi Auto-Connect setting. If it’s OFF the Mini will try to connect to WiFi. If it’s ON, the Mini won’t try to connect.
  2. Added Flex radio connection status, slice, antenna, and volume information to the Options line (just above the bottom status line).

March 11, 2022 – Version 1.02.03a – Recommended for all users

  1. When connecting to a Flex radio that doesn’t have an active GUI running (i.e. SmartSDR) automatically register as a GUI controller.
    • This allows you to use your radio in standalone mode and allows network based CW keying
  2. Added speed sensitive tuning and value changes. If you spin the encoder fast the tuning or value change will increment or decrement by a factor of 10.

March 10, 2022 – Version 1.02.01/1.02.02 – beta test version for Flex users

This update includes support for CW keying your Flex radio over the WiFi connection. A huge THANK YOU to Len, KD0RC, for sharing his knowledge on setting up the Flex API calls to accomplish this. He figured out how to do it on his TeensyMaestro and was happy to help me through the process. I really couldn’t have done it without his help.

Don’t expect perfect CW timing when using the network keying mode! The break-in delay can help a lot but your signal will have a ‘straight key’ sound to it (i.e. imperfect timing). There’s not a lot that can be done to fix this as every WiFi network is different. My hope is that you’ll find this mode useful.

NOTE: This version is a beta version as I’m sure there are bugs that need to be worked out and optimizations that need to be done. It has the following changes since v1.01.06:

  1. Support for network real-time CW keying on Flex radios. To set this mode up:
    • Open the Flex menu and find the Key(HW) (key with hardware) option. Toggle it to Key (Net) (key using Flex network API).
    • While still on the Flex menu adjust the CW Delay (CW break-in delay) for a value above 100 milliseconds. You may need more or less depending on your network latency. I use about 250 mSec on my network.
    • Open the Keyer menu and make sure Sidetone is turned ON. The radio won’t generate sidetone in this mode because it would be delayed by network timing. You’d be surprised what a few 10s of milliseconds does to your code!
    • Connect to your Flex
    • Set your Flex to CW mode
    • Enable Tx by pressing the [A] button. You should see the Delay setting update and the Breakin button lit up. TxEnab will be displayed in green on the Mini. You’re ready to start transmitting CW!
    • Pressing button [A] again will disable transmit. The Breakin button on your Flex will turn gray.
  2. A new Auto Connect option has been added to the WiFi menu. Turing this option ON will cause the Mini to automatically connect to your WiFi (and Flex if it’s the selected radio CAT) when you power on the Mini.
  3. You can use your straight key along with your paddles. To enable this mode, open the Keyer menu and select the PTT( ) menu item until it shows PTT (Key). In this mode, the PTT Input to the Mini will key the Key Output instead of the PTT Output. If you have Key (Net) selected when using a Flex radio, the key down and key up signals will be sent to your radio over the WiFi connection.

NOTE: If you have extreme latency issues (like I do – too many cameras in the house) you can program an old router to just be a WiFi access point (disable DHCP) and plug one of it’s ports into the same switch your radio is plugged into. Connect the Mini to your radio through this access point. Since it will be the only device on the network the latency will be minimized.

March 6, 2022 – Version 1.01.05 & 1.01.06: recommended for all users

  1. Added Copy, Rename, and Erase options to the Radio Port menu
    • All radio settings including radio CAT, baud, favorite frequency list, Tx message buffers, and band stacking registers are copied to another port with Copy option.
    • All settings including favorite frequencies, Tx message buffers and band stacking registers are reset to default with Erase option.
    • A ‘~’ will be added to the Radio Port Name when you copy a port and the Mini will switch to the new port automatically. Use the Rename option to change the name of the new port.
  2. Debugged [C] button PTT mode – working properly now

March 5, 2022 – Version 1.01.03 & v1.01.04: recommended for all users

  1. Fixed a minor bug that was keeping the bottom status line from updating properly when returning to the Home page.
  2. Added automatic conversions for frequencies that are manually entered in the vfoFreq .csv files using a spreadsheet. The following rules apply:
    • If the frequency has no decimal points and is above 100000 Hz it will be accepted as Hz
      (this is the Mini’s default method of saving frequencies).
    • If the frequency has no decimal point and is below 100000 Hz it will be converted to kHz.
      (Example: 14034 will be converted to 14034000 Hz (14.034 MHz)
    • If the frequency has a decimal point it will be converted to MHz.
      (Example: 14.034 will be converted to 14034000 Hz)
    • If the frequency has a decimal point and converting it to MHz will cause it to be above 1 GHz (the upper limit of the Mini), the frequency will be converted to kHz
      (Example 14034.1 will be converted to 14034100 (14.0341 MHz)
  3. Fixed bugs in loading frequency lists
  4. Refactored VFO/Memory arrays
    • Memory A and B settings are now separate from VFO-A and VFO-B settings.
    • Use the Copy M>VFO option in the VFO menu (or long-press the [B] button) to copy the current memory settings to the VFOs.

March 3, 2022 – Version 1.01.02: recommended for all users

  1. A new PTT feature has been added to the [C] Button menu. This feature allows you to assign PTT to the [C] button instead of a menu. When [C] is used for PTT the PTT output is latched, meaning you press [C] once to enable PTT on your radio and push it again to disable PTT. There is a watchdog time that will drop PTT after three minutes.
  2. A new IP Port option has been added to the Flex 6000 menu. This option allows you to change the default IP port from 4992 to another port number. This will allow the Mini to connect to your Flex from the public Internet using port forwarding. You may want to consider additional security options if you decide to use port forwarding.
  3. A new PTT option has been added to the Flex 6000 menu. This option allows you to choose between keying the radio’s PTT by using the Radio I/O module (i.e. hardware PTT), or by using the Flex API ‘xmit’ command to key the PTT from the network connection. This feature works with the new [C] button PTT option (#1 above) and allows you to remote key your radio. An audio server such as SonoBus allows you to use your Flex remotely without using SmartLink.
  4. I also fixed a few bugs in the Flex ATU control.

February 27, 2022 – Version 1.01.01: recommended for users using the Terminal Interface

  1. Add a new menu structure to Terminal mode. Menus in terminal display now looks just like menus on the Mini now.
  2. Changed the PgUp and PgDown keys in Terminal mode. Now instead of changing the band (dangerous!), PgUp opens the Frequency menu and PgDown opens the User menu (programmed for the [C] button on the Mini).

February 26, 2022 – Version 1.01.00: recommended for all users

  1. Added RIT (or clarifier) control to the Frequency menu.
    • I haven’t been able to test the FT100, FT1000, or Icom RIT code – if you have one of these radios try it out an let me know if it works
    • The Kenwood code on my trusty old TS-680 enables and disables RIT on the radio but does not change the Rx offset. The commands are properly formatted so I’m thinking it’s my radio’s problem.

February 22, 2022 – Version 1.00.12: Critical update – recommended for all users

  1. Revised Flex Rx routine
  2. Move to selected frequency when enabling Tx on that slice
  3. Worked on bugs in Terminal mode – Shift+F3 to Shift+F7 were locking up the program
  4. Fixed bug that was incrementing contest SN twice when F11 was pressed

February 21, 2022 – Version 1.00.10: Minor update – recommended for Flex users

  1. Continued fine-tuning the FlexRadio implementation so it plays will with multiple CTR2 and CTR2-Mini connections.

February 19, 2022 – Version 1.00.09: Minor update – recommended for all users

  1. Added a new ‘latching’ mode to Remote PTT. In this mode just click the PTT switch wired to the Remote jack once to send PTT to your radio and click it again to drop PTT. No need to click and hold PTT during your transmission. There is a three minute timer associated with Remote PTT in all modes.
  2. Fixed another minor bug in the FlexRadio implementation.

February 17, 2022 – Version 1.00.08: Minor update – recommended for Flex and Icom users

  1. Fixed bug in Icom mode decoding code
  2. Fixed usability issues with Auto Peaking Filter and Auto Notch Filter control settings

February 15, 2022 – Version 1.00.07: Major update – recommended for all users

  1. Fixed bugs in FT2000 emulation on serial port – WSJT-X is connecting properly now
  2. Added a slice volume control to the Flex 6000 page – this allows you to adjust the slice volume before it goes to the mixer.
  3. Modified the menu to display current settings in parenthesis
  4. Updated Terminal mode and changed Page Up/Page Down to increment and decrement the Band.

February 13, 2022 – Version 1.00.05

  1. Added code to detect if the micro-SD card is working – alert user to failure (we can’t run the Mini without it).
  2. Fixed a bug in the FlexRadio code that wasn’t setting the WNB level correctly on connect.
  3. Fixed a bug that caused some of the main menus to return with the wrong menu selected.

February 11, 2022 – Version 1.00.04

  1. Started using version # system – starting with 1.00.01 on this release
  2. Clear Tx Msg array before loading new array
  3. Fixed bugs in VFO tuning
  4. Added Copy A>B, Copy B>A, Swap A/B, and Copy M>A to VFO menu
  5. Added long-press [B] when in memory mode to copy memory to A
  6. Added VFO menu to [C] Button menu
  7. Display offline VFO freq & mode under Band & Mode on Home page
  8. Return to Home page when selecting a new menu for the [C] button

February 9, 2022

  1. Removed Lock Freq & Mode from Frequency menu and added Toggle Lock to VFO menu.
  2. Added help screens to VFO menu.
  3. Only reinitialize the Flex radio when enabling Tx. Don’t do it when disabling Tx.

February 7, 2022

  1. Updated the user interface and added context sensitive help to all menus.
  2. Moved the Edit Tx Msg, Keyer, and WiFi menus from the Config menu to the Main menu to make the easier to access.
  3. New long-press button features added:
    • Long-press [B] on the Home page to toggle Frequency and Mode Lock
    • Long press [B] on any menu to back up to the previous menu. If on the main menu it returns you to the Home page.
    • Long-press [C] in any menu to open a help screen for that menu option. Help goes away when you release the button.

January 31, 2022

  1. Added additional functions for Flex 6000 series radios
    • You can now connect the Mini to any available slice on your radio
    • You can create a new slice and/or panadapter when you connect
    • You can connect two (maybe more) Mini’s simultaneously to different slices on the same radio
    • You can use the Wio Terminal in standalone mode (with no CTR2-Mini hardware) as a pocket Flex controller
    • You can operate your Flex radio without having SmartSDR running
  2. I added context sensitive help to all of the menus. Just press and hold the right button to bring up help for the selected menu.
  3. Click the photo to view the YouTube video

January 23, 2022

Initial firmware release.