Skip to main content

Reducing CW Key Errors in uBITX

Reducing CW Key Errors in uBITX

uBITX uses ADC to distinguish CW Keys.
Unmodified uBITX uses A6 of ADC I / O as CW Key input.
The A6 is connected to 5Volt with a 4.7K ohm resistor.



The Arduino ADC has a value between 0 and 1023.
As shown in the figure above, A6 is connected to 5Volt at 4.7K, so you will get a value of 1023.
1023 / 5 * 5(input) = 1023

If you press the straight key, A6 will have a value close to zero.
1023 / 5 * 0(input) = 0

To use Paddle with uBITX, we need to use 2.2k and 10k resistors.

When press the Dot key of Paddle
5 * 2.2 / (4.7 + 2.2) = 1.594
1023 / 5 * 1.594  = 326

When press the Dash key of Paddle
5 * 10 / (4.7 + 10) = 3.4
1023 / 5 * 3.4 = 695

When both Dot and Dash are pressed
5 * 1.8 / (4.7 + 1.8) = 1.3
1023 / 5 * 1.3 = 265


The above values are ideal values.
In actual use, errors occur in the measured value due to the error rate of the resistance, the length of the wire, and the resistance of the key contact.
Therefore, we use a wide range of values as shown below.


With the above code, can use CW Key in most environments.

However, if for any reason a strange value occurs, it will behave as if the wrong key is pressed.
The video at the bottom of this document deliberately caused the contact to become unstable, resulting in an error.

To reduce these errors, CEC Firmware 1.0 and later versions allow you to optimize the range of ADC values for your environment.
The video made the worst case and minimized the ADC range to avoid the worst unreliable contact errors.



Press the function key


Press the function key, when 'Setup On?' appears.



Press the function key

Press the function key, when 'ADC Line Monitor' appears.



Confirm the position marked A6.


1023 is displayed when no key is pressed.


327 is displayed when 'Dot' key is pressed.


Enter the 'dot' range in uBITX Manager.
Please refer to other documents for basic usage of uBITX Manager.




I made the range of values considerably smaller because I made the worst.
Your CW Key has a better contact point than a screwdriver, so you may want a larger range of values.


698 is displayed when 'Dot' key is pressed.


Input ADC Range for Dash Key


285 is displayed when 'Dot' and 'Dash' key is pressed.



Input ADC Range for both Key

Store the value in uBITX.



Reboot and test uBITX.



Test video


Comments

Post a Comment

Popular posts from this blog

uBITX with Nextion LCD (CEC Firmware) - Installation and Introduction

uBITX with Nextion LCD (CEC Firmware) - Installation and Introduction uBITX CEC Firmware supports various LCD since Version 1.08 (16x02 Parallel, 20x04 Parallel, 16x02  I2C, 20x04 I2C, 16x02 Dual LCD with I2C).
Supports Nextion LCD (Graphic LCD) from Version 1.09, Version 1.09x is primarily aimed at Nextion LCD support. Also 1.09x will continue to be Beta version. If you want a stable version, please use 1.08 or 1.1 version to be released in the future.

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.

uBITX Firmware CEC Version 1.08 Release

uBITX Firmware CEC Version 1.08 Release
Version 1.08 is the first major release since 1.061, I will release it after a 50-day beta test