uBITx FMSOS – Another new firmware branch for the uBITx!

Bob GM4CID placed a comment on our article “Ubitx modders are hard at work”  about another very interesting Raduino solution from BG1REN.   This can be found here:  https://github.com/qiwenmin/ubitx-fsm

The objective of BG1REN’s code (taken from the Readme) is “to implement a new firmware for ubitx, based on FSMOS. I am trying the FSM modal in this project, to verify that FsmOs is useful or useless.”

FSMOS is “a tiny and simple finite-state machine based embedded operating system. Currently, it supports Arduino and Linux/macOS platforms.”

Bob notes, “CAT commands use an Icom protocol and are well featured and Google translate does a good job with the Chinese documentation.”

Google  Translate says that the FSMOS implementation of the µBITx:

  • Supports LSB, USB, CW, CWR mode reception and transmission
  • Support VFO mode and channel (MEM) mode
  • Supports A and B dual channels
  • Support SPLIT, can operate in different modes
  • There are 20 memory channels, each channel can store the mode and frequency of A/B two channels, Split status and currently active channel
  • Supports manual keying (both mono and stereo plugs are supported) and paddles (optional Iambic A or B mode, and left and right hand modes)
  • Adjustable CW sidetone frequency, auto key speed, CW stop delay, key mode
  • You can set ITU zones (1, 2, or 3) to limit the frequency range that can be transmitted according to different zone settings
  • Support ICOM CI-V command, can use common software to operate radio, support Ham Radio Deluxe v5.24.0.38, WSJT-X, OmniRig, FlDigi, etc.
  • Supports automatic transmission from PC software
  • Supports the display of your call sign
  • Oscillator calibration function (10MHz transmit mode calibration or Zero Beat receive mode calibration) to ensure accurate frequency
  • Provides BFO calibration (CW and SSB calibration separately) to ensure optimal signal quality

The developer has drawn heavily on Ian Lee’s (KD8CEC) code and implementation concepts and acknowledges this. 

The screen display

After the boot information is displayed, the radio enters the home screen.  Ubitx-main

As you can see from  above, the main interface information mainly includes:

  • The most important information is displayed on the second line, including:
    • Channel mode: VFO mode or MEM mode. If VFO mode, V is displayed, and if channel mode, M is displayed.
    • Channel: The current job is A channel or B channel. The VA  (above) indicates that the VFO mode and A channel are currently selected.
    • Working mode: CW, CWR, LSB or USB. The CW mode is shown above.
    • Frequency: The frequency in the figure above is 7.023 MHz.
  • Status information and information for the other VFO are displayed on the first line, including:
    • Locked state: When the lock state is turned on, the frequency or channel remains unchanged when the knob is rotated, preventing accidental changes to the frequency or channel due to accidental touch of the knob. When lock is turned on, a lock icon is displayed in the upper left corner of the screen.
    • Split mode: The S character is displayed when split mode is on.
    • The middle and right sides show the mode and frequency of the other VFO.

If you start transmitting, the radio changes as shown below:


In the main interface, the available operations are:

  • Rotate the knob: If the lock is not turned on, turn the knob to adjust the frequency (VFO mode) or change the channel (channel mode).
  • Short press the F button (press duration is less than 0.8 seconds): Enter menu mode.
  • Press and hold the F button (press for longer than 0.8 seconds, less than 1.6 seconds): Enter frequency adjustment accuracy mode.
  • Press and hold the F button (for more than 1.6 seconds): Turn lock mode on or turn off lock mode.

This new software option looks really interesting and many will probably be downloading the sketch to have a look at what it does!