Nextion Display and KD8CEC firmware

Ian KD8CEC is working on a protocol to allow Nextion LCD touch displays to communicate with the µBITx.

He is implementing this a little differently to most support for Nextion LCDs.

The firmware will handle communication between the uBITX arduino and Nextion LCD using template files.

There are quite a few variables in the Nextion LCD. If the status of any parameters in the uBITX changes, the variables sent to the Nextion LCD will also be changed at the same time (and vice-versa).  This should allow any Nextion display and any configuration of the display’s User Interface to interact with the µBITx.  This means constructors can customise their µBITx display using the Windows GUI used with the Nextion to configure the “look and feel”.

For example, when uBITX’s frequency changes, it is transferred to a specific variable on Nextion LCD.

Example code

 

Below is an example of simple frequency and mode display changes

 

//Frequency

if(vc.val!=-1)

{

nFreq.val=vc.val

vc.val=-1

}

//Mode

if(cc.val!=-1)

{

if(cc.val==2)

{

tMainMode.txt=”LSB”

}

else

{

    tMainMode.txt=”USB”

}

cc.val=-1

}

Reference

Using the CW keyer as a morse practice oscillator

A member of the BITX20 list asks, “How can I use the keyer in my µBITX for CW exercises with a paddle?

The answers include:

  1.  Remove the power to the finals (this is the centre pin of the power connector)
  2. Use the KD8CEC software, which has a menu setting to turn off TX
  3. Modify the supplied manufacturer’s software to disable  TX
Reference

 

Spurs found in uBITx that present issues for operation above 18 MHz

Alison KB1GMX has been exploring ways to flatten the TX output across bands over the last couple of weeks, but  says,

“Here is the problem…  Improving the amp leads to acknowledging other issues.   In particular … the spurs!”

When transmitting on 15m and 10m the LPF has a cutoff frequency over 30 MHz, so effectively the amp will pass everything through below 30 MHz.

If you overdrive the mixers especially the 45mhz output mixer you get more than one product from the mixer.  For a desired output at 28 MHz, you actually get two other outputs, one at 11.995 MHz (that is 50 to 60db down on the desired output) and another at about 17 MHz, which if the mixer is not over-driven is around 40dB down.  However, if the audio is pushed a bit harder, it may be only 25db down from the desired frequency.  The amplifier has no filtering below 30MHz and will gladly amplify all of the signals through the pre-driver, driver and finals stages and pass them out to your antenna.

This  is not an issue until you hit around 18 MHz as the output low pass filters that are switched in help attenuate the spurs.

The Maths!

Output is IF(about 45mhz) + LO (48 to 75mhz)= 3 to 30 mhz
The spur case is IF(45mhz) – Output frequency (42 to 15mhz) Its going down while the dial frequency is going up.

For up to 18mhz the output lo pass filters and the inside 33mhz low pass filter are at work doing the job.

However for 21 and 28 MHz both filters are roughly 33-35 MHz cutoff and the spur is now down around 24 and 17 MHz respectively. They will be about 40-50db down until the point where the 45mhz mixer overloads and then the spurs get very much stronger at a frequency well below the cutoff of the low pass filters.   Since power output is low on 10M people will likely push the audio and the spur will get significantly worse.

The is due to the nature of Double Balanced Mixers: they are three port devices and all three can receive input or deliver outputs.   Also inside the mixer all possible sums and differences for the base frequencies and their harmonics will exist.

This was determined, without the amp operating, by breaking the circuit at C200 to allow a spectrum analyzer to be inserted.   We can’t blame the amplifier chain for this as it would just do its designed duty and amplify everything.

There is no obvious solution at present

Right now Allison has no obvious solution to present.

Commercial radios implement a switched filter at the point were L1 though L4 (and C200 to C204) are present and a filter would be switched in for 15M, 12M and 10M.   Allison is investigating other ideas.

This issue does not show up in CW mode as the radio is keyed in a different manner and there is no 45 MHz contribution.

Additional comment

Jerry KE7ER comments that the spur is not a problem from 3.5 MHz up to 18MHz.  So for operators that never use the 15, 12 and 10 meter bands on SSB, this should not of concern.  For many of us, a $129 rig that covers 80-17 meters is still a very good deal.

For those wishing to use the rig above 18 MHz, perhaps some sort of external band-pass or high-pass filter is in order between the µBitx and the antenna.
Some (but not all) antenna tuners might be sufficient.

If the audio from the mike amp is kept reasonable, Allison reports that the spur is 40+ dB down.  Jerry assumes it should be 43 dB below the primary signal to be compliant in the US, so it’s marginal at best.  The worst of this problem could be avoided by somehow monitoring the transmit signal level  at the mixers. Allison has found that gain with the 2n3904’s can vary on the upper bands depending on your particular device characteristics, so it currently is not sufficient to just check the level at one point in the chain. However, if gains can be made more predictable,  perhaps monitoring at the top of RV1 using a diode RF probe would be sufficient?

The µBitx has a 30 MHz low pass filter between the mixers and the power amp.  As Allison says, most multiband rigs would have switched bandpass filters in that position.  Signals are quite low level, so this could probably be done with analog switches rather than relays. So yet another possibility is to add a daughterboard with switched bandpass filters to replace the filter at L1,2,3,4. We only need 3 or 4 filters there and parts can be small and cheap, so not so bad.

The spur is at the first IF frequency of 45 MHz minus the operating frequency. If the first IF is raised from 45 MHz to 70 MHz or more, that should remove the spur for all frequencies from 3.5 to 30 MHz.  That 70MHz IF strip would definitely require something better than the 2n3904’s that are in the µBITx!

Reference

Attenuation on TX to flatten the curve (Phone only)

John VK2ETA has uploaded his latest version of a variation on Ian KD8CEC’s software with a default of “stock standard” which means it should run on units “factory” wired.

It includes the “OPTION_ALC” which use a table and interpolation to set the attenuation for 3 levels (Low, High, Max) for SSB power output.

Not a complex code at all (just search for the “option_alc” keywork). This should give up to 50dB of attenuation. This should be plenty to control the power even for WSPR low power users.

You will probably need to attenuate the signal for “Max” power on 40 and 80m otherwise you will get well past the targeted 16-17W on the lower frequencies.

Note that on 10m, you will not get 10w out.   You will need to follow Allison’s work on the power chain to see if a solution can be found to the fall-off in power out on 10m.

John’s software can be found here.

Reference

Fan shroud to help cool your finals

Dave K0MBT has been working to keep his power transistors cooler.  Initally he added a 80mm fan to blow across the transistors and board.

When doing ft8 he would get significant heating of the power transistors running on a 13.8v linear power supply.  The transistors would heat up enough  to make them too hot to keep his fingers against the surface.

He has, therefore, added a shroud similar to the one shown covering the stock heatsinks. It did not help that much.  He had a fairly small but 1″ tall computer heat sink, cut it in half and tapped in mounting holes. The shroud had to be redesigned to fit them but now he can only feel a very slight degree of heating wile running the FT8 tuning feature. 

This worked so well, he has added a similar heatsink to his BITx40.

Reference

Another board from Nik VK4PLN that does several things at once

Nick VK4PLN has been working on a new board that will give a few extra features to a stock uBitx and plugs into the audio loom socket.

Its an Audio board providing easy access to Audio I/O pins. (add in your own AGC board, External amplifier…)  It includes an area for adding an SSM2167 Mic Pre-amp module (with filtering for feedback and shutdown on TX).    It also includes the simple 4 component PTT POP fix. (BS170) and a switchable 200hz CW filter. (LM324) that Nick already produces as a board for purchase.
The board has a bonus “snap off” section with a 3.5MHZ BCI filter for the RX chain.

Here is a pre-view, NOTE this is a WORK-IN-PROGRESS.

Reference

G3EJS add on board including a different anti-pop mod

G3EJS has used a PIC processor to sequence the mute of the RX and change to TX.  The PIC responds to the PTT going low by muting the audio amp, and 100ms later, passing the PTT low state to the raduino.   When the PTT is released, it stops the PTT to the raduino, then 100ms later un-mutes the AF amp.   He then made a breadboard version, which resulted in a silent transition.

G3EJS then made some boards and finally integrated a number of mods onto a single circuit board.   Check out his pop mod circuit below:

Reference

New version of uBITx

HF Signals has rolled out the new (r4) version of the PCBs.

Changes to board design

Ashhar Farhan VU2ESE has indicated the main changes to the circuit board:

1. A new, low distortion audio amplifier made from discrete transistors. This is one is optimised for head-phones and connecting to PCs for digital modes. It will continue to work with speakers as well. Builders with the earlier versions can try this audio amplifier as an outboard amplifier.

2. The audio thump issue during T/R switching has been fixed.

3. At 28 MHz, the output is about 4 watts. (this involves a single capacitor change from the earlier PCB –  C81 was changed to 470pf – this is located on the base of Q90 being the first driver stage).

4.  ‘Jumper’ points have been included on the board to make it easier to add interesting stuff like CW filters or S meters to the board. There are a large number of test points now to help you debug and understand the board.

All in all, the changes are ‘backward compatible’ . That is, you can hack these changes to the previous boards to get in the new functionality.   Ashhar Farhan (the designer of the µBITx) has updated the circuit diargrams on www.hfsignals.com.

Note that the earlier production board’s circuit diagram has moved to:

http://www.hfsignals.com/index.php/ubitx-r3-archived/

In a separate post VU2ESE has indicated that the Nano will be socketed (on the reverse side of the Raduino board).   This is a bonus, as many constructors have brought their nano to an abrupt end by accident, and it can be difficult to remove the nano from the Raduino.

Price increase

The bad news is that HF Signals has had to bump up the price of the board by US$20.  Ashhar’s personal ambition was to keep the price inside of US$100.  As constructors will be aware, the release price was in fact US$109 (including standard shipping).

The new boards cost $129 USD with shipping. $139 USB with the DHL shipping option.

This price rise is the result of :

  • recent changes in the Indian import duty and sales tax
  • Increasing costs to preorder parts.
  • An increased payout to the women’s collective who wind the coils, and assemble and test the boards.

The good news is that from now on, these boards will be available within a few days of order. The backlog of orders has now been dealt to.

Reference

Display your callsign a bit longer in KD8CEC Firmware

 Jack W8TEE tells you how to make the callsign/version number appear for longer on boot up of KD8CEC firmware:
Near line 1200 in setup(), you will find code similar to:
 
  if (userCallsignLength > 0 && ((userCallsignLength & 0x80) == 0x80)) {
userCallsignLength = userCallsignLength & 0x7F;
printLineFromEEPRom(0, 0, 0, userCallsignLength -1, 0); //eeprom to lcd use offset (USER_CALLSIGN_DAT)
    delay(2000UL);        // Increase from 500
}
else {
printLineF(0, F(“uBITX v0.20”));
delay(2000UL);        // Increase from 500
clearLine2();
}
The line in blue text will increase the delay time from a half second to two seconds.
Reference