Skip to main content

Fixed bugs found in uBITX -

I am an embedded programmer, but I first tried arduino. Arduino knew only that it was used for learning purposes. However, it is based on C and it seems to have considerable applicability. In particular, a concise structure makes it easy to write code.

I found some error, but easy fixed because of very small bug.

1.CW Side Tone Configuration - Error

 There is no response when PTT is pressed after CW side tone is set. but this is very simple problem, i fixed code and send information to administrator of uBITX source code

before fixed code

while (digitalRead(PTT) == LOW || !btnDown())
knob = enc_read();
if (knob > 0 && sideTone < 2000)
sideTone += 10;
else if (knob < 0 && sideTone > 100 )
sideTone -= 10;
continue; //don't update the frequency or the display
tone(CW_TONE, sideTone);
itoa(sideTone, b, 10);
//save the setting
if (digitalRead(PTT) == LOW){
printLine2("Sidetone set! ");
EEPROM.put(CW_SIDETONE, usbCarrier);
sideTone = prev_sideTone;

when loop condition is digitalRead(PTT) = LOW but save setting condition is if  (digitalRead(PTT) == LOW)

fixed =>

while (digitalRead(PTT) == HIGH && !btnDown())
knob = enc_read();

2.Alignment and point position problem when displaying frequency

Less than 1Mhz

Original code

if (frequency < 10000000l){
c[6] = ' ';
c[7] = b[0];
strcat(c, ".");
strncat(c, &b[1], 3);
strcat(c, ".");
strncat(c, &b[4], 3);
else {
strncat(c, b, 2);
strcat(c, ".");
strncat(c, &b[2], 3);
strcat(c, ".");
strncat(c, &b[5], 3);
if (inTx)
strcat(c, " TX");
printLine(1, c);

Fixed code

for (int i = 15; i >= 6; i--) {
if (tmpFreq > 0) {
if (i == 12 || i == 8) c[i] = '.';
else {
c[i] = tmpFreq % 10 + 0x30;
tmpFreq /= 10;
c[i] = ' ';
if (inTx)
strcat(c, " TX");
printLine(1, c);

with bug fixes, memory usage was also reduced.

3.Frequency Limit Error
  defined variable frequency has unsigned long type
  when frequency is decrease by dial(Knob), if frequency is less then 0, frequency is overflow

Error when changing frequency in uBITX(Before fixed)

Fixed bug

4.And fixed more bugs...

source code is
Compiled firmware and an easy way to upgrade are coming soon.
You do not have to worry because you can go back to the original firmware at any time.

DE KD8CEC / Ph.D Ian lee


Popular posts from this blog

How to upgrade uBITX Firmware

uBITX is based on Arduino Nano. So uBITX's firmware upgrade method is the same as Arduino.
There are two ways to upgrade the firmware of uBITX.

The first is to compile the source from the Arduino IDE, and the second is to upload the compiled hex file using the Firmware Upgrade Tool.

I'll show you how to upload a compiled hex file as a second method.

1.Connect the uBITX's USB cable to the computer.

2.Run Device Manager on your computer.
  The way to open the Device Manager for each OS Version differs slightly.
  In most Windows, you can easily launch the Device Manager by running.

  On your computer, press the Windows key + R.

 Type devmgmt.msc and press OK Button.

On most operating systems, there will be a serial port named Ports with CH340. If so, the next step is skipped.

If the serial port is not installed as below, you need to install the driver.

Included in uBITX is the Adonano, which uses the CH340 USB To UART part.

Download the latest CH340 driver from the Internet.

CAT Support uBITX Firmware CEC Version 1.06 Release (Added WSPR)

uBITX Firmware CEC Version v1.06 (changed v1.061)

I deployed 1.06 and received feedback from WSPR's beta tester, Philip (G7JUR).
It was a problem that the LPF was not automatically selected according to band selection during WSPR transmission.

Version 1.08 has been released.

I modified it soon and changed uBITX Firmware CEC Version to 1.061.
uBITX Manager also changed Version to 1.01.


I released version 1.06 which added WSPR function to uBITX.
Beta testers have been very helpful when embedding WSPR functionality. WSPR will continue to improve in the future.

By using WSPR before and after QSO, you can check where your uBITX is spreading all over the world.  If uBITX Manager is used to put WSPR information into uBITX, uBITX no longer needs any external device to transmit WSPR.

The uBITX group's excellent tester also shared a …

CAT Support uBITX Firmware CEC Version 1.01 Release(Changed from v1.0)

CAT Support uBITX Firmware CEC Version 1.01  Release (Changed from v1.0)

uBITX Firmware CEC Version 1.06 has been released.
Please click the link below.

This version of the concept is an upgrade without hardware modifications. No hardware modifications are required to use this firmware. Continuous release and testing has been done in the uBITX group. I tried to put only the basic functions that an HF transceiver should have. The features have been upgraded with the advice of people who have great ideas in the uBITX group.
It was a project that started to contribute to the original source in github. The project was intended to fix some simple bugs and request merge to the original source. And I was planning to delete the project. At the beginning of the project there was a bit of discussion about this in the uBITX group.
Since then, I've keeping the original source type to allow code share with any user fork…