¿ªÔÆÌåÓý

RF Output Power ubitx6 FW CEC V1.2 #firmware #ubitxv6-help


 

Hello, I'm IK0XBC and I'm trying to solve a problem with the RF power output of my uBTX6 with FW CEC V1.2. This in order to limit harmonics and spurious without adding other components. As it arrived, the RF output power changed according to the band, from 10W on 80m to about 4W on 10m. I then installed the Display Nextion Base and the already compiled HEX file of KD8CEC V1.2. Now all bands have an output of 10W and in particular 20W in 20m, measurements made with a Wattmeter on an artificial load of 50 Ohm. The adjustment of trimmer R1 does not satisfy the need to vary the power for each band. The question that I ask you, hoping that someone of you can direct me well is: in which part of the sketch of CEC V1. 2 can I vary the values to have an output power trend that decreases as the frequency rises as in the firmware originally contained in the Arduino Nano?
I did some research here on the group with keywords that didn't give me the expected results.
73, of IK0XBC Andrea.


 

Hi Andrea,

What mode (CW, SSB, Digital) are you using to measure the power, and what type of RF power meter (Peak or RMS)?

For CW, the Nano can not change any power settings.? For SSB, there has been some discussion of using the IF shift and the 45MHz roofing filter skirt to reduce power.? This would also apply to digital modes as they use the SSB part of the radio.? For the RV1 adjustment, I use CW as it does not have any interaction with the IF stages.? I would suggest that you run the power tests using CW.

To the best of my knowledge, no code base has implemented the SSB power adjustment.? You could implement it IF you removed some of the functions in the CEC software.? There is not enough room to implement all of the features that have been defined.? What may have happened is that the CEC code uses an IF LO frequency that is better matched to the 45 MHz roofing filter.? There is an adjustment in the Memory Manager that you could set, though that is not by the band, and getting 10 watts on 10 meters is not typical.? The best I have seen is 6 watts.

Here is the current list from the CEC source:

//Recommended for Nextion, TJC LCD 88%
#define FN_BAND ? ? ? ? 1 //600
#define FN_VFO_TOGGLE ? 1 //90
#define FN_MODE ? ? ? ? 1 //318
#define FN_RIT ? ? ? ? ?1 //62
#define FN_SPLIT ? ? ? ?1 //2
#define FN_IFSHIFT ? ? ?1 //358
#define FN_ATT ? ? ? ? ?1 //250
#define FN_CW_SPEED ? ? 0 //286
#define FN_VFOTOMEM ? ? 0 //276
#define FN_MEMTOVFO ? ? 0 //234
#define FN_MEMORYKEYER ?1 //168
#define FN_WSPR ? ? ? ? 1 //1130
#define FN_SDRMODE ? ? ?1 //70
#define FN_CALIBRATION ?0 //790
#define FN_CARRIER ? ? ?0 //500
#define FN_CWCARRIER ? ?0 //464
#define FN_CWTONE ? ? ? 0 //158
#define FN_CWDELAY ? ? ?0 //108
#define FN_TXCWDELAY ? ?0 //106
#define FN_KEYTYPE ? ? ?0 //294
#define FN_ADCMONITOR ? 0 //526 //not available with Nextion or Serial UI
#define FN_TXONOFF ? ? ?1 //70

A value of 1 means it is implemented. A value of 0 is not included. I do not have descriptions for each module.

73
Evan
AC9TU


?


 

Hi Evan, thanks for the reply. I performed the measurement on the wattmeter in CW, USB and LSB under the same conditions as when the uBITX6 arrived with the FW customized by Farhan. Nothing has been changed in HW except the display. How did Farhan make sure that the output powers were different according to the frequency range if not by selectively acting on his FW flash or eeprom?
In the Memory Manager I saw that, in the lower part of the screen, CEC allows you to modify, according to the frequency, the filter to be associated D3-D4-D5; and also the possibility of carefully modifying the state of the D10-D11-D12-D13. I understand for filters D3-D4-D5, but I don't know how to enter the frequency ranges or change the state of the various D10-D11-D12-D13. Maybe this is where action can be taken? I honestly don't know, but Farhan somewhere did.

73, de IK0XBC Andrea


 

Andrea,

The section at the end of the Memory Manager pages is if you develop and add a custom low pass filter for the transmitter.? Since you have not made any hardware changes, you should NOT check the custom box; the programmed defaults will be used.

I understand you see greater than 10 watts on 20 meters on both CW and SSB.? I do not know how that is possible unless you have RF feedback while transmitting, which is getting back into the transmitter.??

If you return to the original code downloaded from here, does the problem disappear?

This is the "stock" code that is loaded into the uBitx.? You must return the original screen, as Ashhar Farhan's code does not work with the Nextion display.

It might be helpful to read the values from your uBitx, save them to a file, and then post the result here.? We can check it for any indication of EEPROM corruption.

73
Evan
AC9TU


 

Evan, that's exactly what I did when I noticed the differences. The result was equal to the current one of CEC. When I decided to switch to Nextion and CEC, I first backed up the installed flash and eeprom, using AVRDUDESS. Those two files in HEX format, the 155KB flash and the 5KB eeprom, it was no longer possible to reload them on the NANO. Always an error message, I go from memory, by size. While a subsequent backup, when the problem already existed, was 78KB for the flash and 3KB for the eeprom. This last backup I could reload when I wanted. I'm not familiar with the Arduino language so I might have made some mistakes with AVRDUDESS on the first backup. I also tried reading them with NOTEPAD++, but they are just a sequence of hexadecimal characters.

73, de IK0XBC


 

The D10-D11-D12-D13 allows you to use these lines to signal something (normally used with the LCD and so only available for Nextion). For example, one could enter in the standard values for D3-D4-D5 and then encode the frequency selected in D10-D11-D12-D13 to drive an external LBF, antenna selector, or something else that you would like to know the frequency. It is a very interesting but forgotten piece of CEC functionality because people focus on the use to select when the various buildin relays click for the band filters.??

But as Evan said, this is not where you should be looking.?


73
Mark

PS: Tooting my own horn, give the Settings Editor (replacment for the original CEC Memory Manager) a try at?

And CEC V2 running on a Teensy 4.0/4.1 or a Pico does eliminate the memory issues of that poor nano...? Once I get this d**n move done, I can get that out...

73
Mark

--
AJ6CU
KD8CEC 2.0, Nextion Screens,? and open source uBITX Raduino boards for Arduino IOT, BLE, RP2040, Teensy 4.0, and Raspberry Pi Pico
https://github.com/aj6cu


 

Andrea,

At this point, you have two choices:
1 - Reload the CEC firmware and recalibrate the uBitx to see if that helps
2 - Reload the stock software from the Github repository and recalibrate.? I would not trust your backup unless you have done that process successfully in the past.? Also, I can not help you with that process.

In both cases, you will need to recalibrate the uBitx.? The process is outlined in this video from Ashhar Farhan:

Both firmware can use this process.? The difference is how you get to the calibration settings.? The video shows the actual controls.? Using the process with CEC requires you to pull up a yellow 2-line display on the Nextion by holding in the tuning knob (encoder).? After the yellow box comes up, you need to rotate the encoder until a "Setup On?" comes up and press the encoder.? This adds more choices at the end of the scrolling for frequency calibration with "Set Calibration?" and "Set the BFO?" for adjusting the BFO.? Values are saved by pressing the PTT button on the mic.? You must also shut down the radio and restart it after each setting is saved.

You must do the three steps:
1 - First, adjust the BFO so that you can hear low tones for zero beating
2 - Do the frequency calibration with the BFO set for low tones.
3 - Adjust the BFO for the best voice response.

Are you sure you have the correct CEC software?? It should be for version 5 uBitx (the RF parts of the v6 are siToe v5).

In order to load the stock firmware, you will need to install the Arduino IDE, compile the sketch from the GitHub, and then load the software.? Arduino.cc has instructions on how to do that.

73
Evan
AC9TU


 

Your first back-up file set is seemingly 2X the size given the rounding error as you posted.? I haven't used the AVRDUDESS GUI.? Perhaps you did 2 back-ups to the same file and the dudess appended the files?? intel HEX as ascii, you should be able to look at the file(s) and see if it was appended.? See if there are 2 EOF records.
Rgds,
Gary


 

Hi Evan and Gary for helping me.
Replying to Evan I can say that what he suggests I have already done and repeated over time, the uBITX6 is perfectly calibrated and verified with a frequency meter and RF generator, both with Farhan's and CEC's FW. I also used an oscilloscope to see if the output waveform is sine or distorted, it's clean. I also used an RTL SDR Receiver to see the trend of harmonics and spurious, but this was not particularly useful to me because the Receiver has no front-end filters and can only display 4 MHz of bandwidth at a time; so I can not consider it attentive.
Per Mark, your hypothesis that AVRDUDES may have merged two backups into one is sound and I will look for the appropriate SW to ascertain this.
I've already tried to ask HF SIGNALS if they could give me a copy of the post-test FW of my board, this is because each board has a number that distinguishes it; they told me that they do not keep this data and to join this group where young and talented minds are confronted. They also directed me to the source of Farhan's project, and for this I also installed ARDUINO IDE on my pc. I did and loaded the executable but everything remained the same.
At this point, having ascertained that I have not modified the HW, that the supply voltages of the various stages do not change, that R1-R2-R3 cannot be modified by SW, that the calibration of the main board is not massive but specific, I reasoned that a variation of output power, by frequency range, can only be obtained with a different drive by range of the RF levels of the mixers.
Then study the RADUINO board and how the FW interfaces with it.
?
73, of IK0XBC


 

Andrea,
I apologize.? I do not understand your questions.? I am also sorry for mentioning the use of the roofing filter to adjust transmitted power in SSB mode.? That has not been implemented that I know.? It is a theory based on what has been done by Dr, Lee (KD9CEC) for receiving adjustments.? Please disregard that direction.


Let me know if this is your problem.
1 - The power output changed when you loaded the CEC software.? This occurred across all bands
2 - The power is higher than it was.
3 - The power does not drop as you increase the frequency
4 - The changes occurred after you downloaded the CEC 1.2 software.

As I have stated before, the stock and the CEC software will not change the power level for CW.? A change in power out would be due to hardware changing, hardware failing, or the calibration settings being changed when you tried to download the EEPROM.? The calibration is stored in the EEPROM of the Nano.? I know of 2 cases where a failure of the Si5351 chp has caused receiver issues.? No transmitter problems have been reported.

You asked us how to regain the same power output per band you had when you first got the radio.? You have already tried to reload the software multiple times.

You may have corrupted the calibration data in trying to load the software and EEPROM data using the AVRDUDESS software.? This is why I asked for a copy of your Memory Manager file.? Invalid values in the data will let us know if the EEPROM data is corrupted.? Memory Manager only works with the CEC software.


The decreasing power you measured when you first got your uBitx is not desired.? It is what is considered acceptable with the RF hardware design.? Putting out the same power on all bands was wanted.? ? Modifications to make the power more uniform require transistors and bias points to be changed.? I DO NOT recommend you start that with a non-functioning radio.? When you are ready, the choices are on the web page:


My recommendation is to start with a fresh program load of the Nano.? Calibrate the rig.? Measure the CW power out on each band and verify that the receiver is working.

73
Evan
AC9TU


 

On Tue, Jun 27, 2023 at 05:43 PM, Evan Hand wrote:
I apologize.? I do not understand your questions.? I am also sorry for mentioning the use of the roofing filter to adjust transmitted power in SSB mode.? That has not been implemented that I know.? It is a theory based on what has been done by Dr, Lee (KD9CEC) for receiving adjustments.? Please disregard that direction
Not to confuse this thread, but to my memory it wasn't KD9CEC.? John VK2ETA is the group member that did the research, did the work to implement on the uBITX and shared with the rest of us.

He even took it a step further and modified the hardware so this technique could be used to lower power on CW TX.? I remember the discussions between John, Jerry et al, but to lazy to find the thread.

Rgds,
Gary


 

Hi Evan, in the list points 1 to 3 are right, while for point 4 it does it also with fw 6.1 reinstalled starting from Farhan's source code. I am sending you the Memory Manager files with CEC 1.2, those saved from the original NANO by Farhan (perhaps jointed), those by Farhan subsequently processed starting from the source code, and those of CEC 1.2 currently in use taken already compiled. I hope that putting the various files on this discussion does not violate any proprietary rights.
?
73, of IK0XBC


 

Andrea,

All of the files are open-source under one of the open-source licenses.? We should be OK.

I do not have a way to inspect the hex files.? I am unfamiliar with AVRDUDES, so I can not comment on the contents or process.

Reviewing the .btx files, only one has valid data:?20230405.btx.? The other two have all zeros.? I suspect that these were taken after loading a b;ank Nano with the CEC code and not doing a calibration.

My suggestion is to load the CEC 1.2 firmware into a Nano and load the 20230405.btx file setpoints using Memory Manager.? That should get you to a point where the radio will receive.? Do a calibration to verify that the values are correct.

After you get the receiver working, start on the transmitter with CW.? If there is a power output problem, use the voltages taken by VU2ZAP in the spreadsheet following the spreadsheet instructions.
/g/BITX20/files/VU2ZAP

73
Evan
AC9TU


 

Andrea,
from your original backups
\Files uBITX6.1 Test IK0XBC\uBITX_6.1_FirmATMega398P_Orig
?
EEPROM.eep:? this is some form of a list.? I don't recognize the format as a normal way to store binary data. It appears to be a long list of address sequential byte dumps.? This is NOT EEPROM data, rather FLASH and not complete.? So confusing to be named EEPROM.
?
EEPROM1.eep: iNTEL hex format.? Quick look, it appears legitament.
?
Flash.hex:? ?same list format as EEPROM.eep.? Not an iNTEL hex file.? Although the data may be complete.
?
Flash1.hex:? iNTEL hex format.? Doesn't match my binary dump of factory V6 firmware.? Didn't data to compare to Flash.hex
?
Although the "list" format has a larger file size, it's not 2 iNTEL hex files concatenated.
Makes sense why you can load EEPROM1.eep and Flash1.hex, but not the other 'back-ups'
You indicate that you were on a learning curve with this. I really can't help much more at this point with the files.
?
Rgds,
Gary


 

Evan,

A nit that unfortunately probably doesn't help the OP...? But I only see all zeros on 20230108.btx.? 20230405.btx and 20230408.btx look valid to me in both the old memory manager and my Settings Editor.? Perhaps you read in 20230108?twice? The calibration data for x405 and x408 are within the "legal" bounds of a V6. (not that this means they are good calibration....)

Andrea, t
The best approach is to follow Evan's suggestion. That would be my first choice if I was in your position.? But if you *really* hit a dead end, another option is to try the calibration wizard that is part of CEC V2 beta/Settings Editor. See the youtube playlist:?

73
Mark
--
AJ6CU
KD8CEC 2.0, Nextion Screens,? and open source uBITX Raduino boards for Arduino IOT, BLE, RP2040, Teensy 4.0, and Raspberry Pi Pico
https://github.com/aj6cu


 

Mark,
Thanks for the catch!? I went back and opened the files again, and you are correct.

Andrea,
I apologize for the miss on my part.? Luckily there is a community of readers that can doublecheck our posts.?

Mark and I agree that a fresh load of the firmware followed by loading one of the non-zero saved Memory Manager files and then a recalibration is the best bet.?

73
Evan
AC9TU


 

Hello everyone, thank you for your willingness to help me. I will follow the last suggestion restarting from CEC 1.2 source code With Memory Manager recalibrating the uBITX. I will also try the CEC V2.0 Beta with the Setting Editor.
I will let you know the results of the new tests.
Just a curiosity, instead of AVRDUDESS which sw do you use ?
Greetings.
?
73, of IK0XBC