KD8CEC releases CEC Beta firmware to support Nextion display

Ian Lee KD8CEC has released Beta firmware for the µBITx that supports Nextion colour touch screens .  He has also released matching files for installing firmware in the Nextion displays for 2.4″ and 2.8″ screen sizes.   No programming is required to use these displays.

The photo above shows the touch panel display.  Pressing on the screen will perform functions like changing band (up/down), changing frequency, adjusting the Attentuator (ATT), IF Shift and RIT, and going into Split mode.

See Ian’s webpage for details about downloading the various firmware options along with detailed instructions.

Buy your Nextion display now!

If this display looks like it is from a commercial rig, then you are wrong!  It is  the Nextion display mounted on a µBITx!

Ian KD8CEC will shortly release his newest enhancement to CEC firmware.  His latest modification to the CEC firmware supports Nextion screens. This was foreshadowed recently on the BITX20 list.


If you want further proof, check out Ian’s recently prepared youtube video of the Nextion screen in operation.  His release is imminent.

Get your order in for a Nextion display immediately, as they are likely to sell out when 6000 µBITx owners twig that they really do NEED a Nextion display.  [Note that ubitx.net has no relationship with ITEAD – who make the Nextion!]

Why Nextion?

There are some very good reasons why the Nextion display is the way to go:

  • Nextion screens make it quicker for developers to provide a user-friendly interface to their product:  a separate processor controls graphics on the screen, and a Windows WSYWIG emulator can be developed for free to whip up a User Interface for the Nextion display.   The processor in the Nextion has its own control language and coding that is similar to C++
  • Users can easily hack their own display’s look and feel, by plugging into a standardised protocol between the screen processor and main processor that are connected via a standard serial port.
  • Screens come in a variety of sizes from 2.4″ to 7″.  Resizing of images and buttons is all that is required to make firmware work on a different screen size. No coding is required.  Software required is simply the Nextion Windows software and a graphics programme (MS Paint is adequate).
  • The screens come in two varieties:  a BASIC model and an ENHANCED model.  The ENHANCED model has GPIO lines controlled by the display processor and a Real Time Clock (RTC).

Nextion display units cost more than other displays for a reason.  The independent processor removes most of the burden for screen manipulation from the main processor, and it is much quicker and easier to develop the user interface and to customise it for different sized screens and to add/subtract features.   Nextion displays also include a microSD card reader.  They run on +5v DC and include a serial port.   Note that the Enhanced Model contains a battery mount for the RTC, but does not include the battery (CR1220) itself.  This is not required until you want to use the RTC.

How easy will it be to use the Nextion Display?

It will be VERY EASY to add a Nextion display to your µBITx.  Watch the video!

No hardware modifications are required to your µBITx, but you will of course  need enough front panel space to install your colour touch display of choice.  You may even need a bigger case if you want to install the 7″ Nextion display!

You will also need to download two new files:

  1. an updated version of KD8CEC’s firmware, that incorporates the interfacing protocol to the Nextion for installation in your Raduino.
  2. an image file (firmware) for insertion in the Nextion display unit.

The downloaded firmware for the Nextion needs to match with your screen size.  There are two variants for each screen size:  a BASIC or ENHANCED version of the Nextion display unit (see the discussion on which version to buy below).

This firmware needs to be saved to a microSD card (a 2GB or larger card is required).  Insert the card in the Nextion display and in powering up the Nextion display will automatically load the firmware from the microSD card into the Nextion flash storage.   Remove the microSD card when the upload is complete.

Four wires connect the Nextion display to the Raduino.  Two lines are for power, and the other two are serial RX and TX that connect to standard IO ports on the µBITx that were used for the 16×2 standard display.

Reboot your µBITx and your Nextion display should be working!

What to look out for when buying a Nextion Display

There are two versions of the Nextion Display – one developed for the Chinese market and an English language version that supports the Nextion Windows development environment.  Make sure you don’t get the cheaper, but incompatible Chinese version.  Look out for “English Version” in the marketing blurb.  This won’t be an issue if you buy from the developer (ITEAD).

 I understand a downloadable hex file will be available that works the same as the English version, for those of us who purchased the wrong model in error!  Thanks to Ian, who did it blind (also not being able to read Chinese)!

Any size will work with the CEC firmware on the Raduino end.  However, Nextion firmware is specific to  either the BASIC or ENHANCED version of the screen and to the resolution of the screen.   That said, any version can be modified to work with any other screen size with just a little bit of work on the part of the user.   You can also fully customise your screen to meet your own requirements.  Change the colours, or change the entire look and feel.  No coding is required to do this, just cut and paste the code from the supplied CEC version for each tool.

Purchase the ENHANCED model of the Nextion (for a few more dollars) if you think you will use the GPIO or RTC features in future.  The RTC could be useful for digital modes that require precise timing, or for satellite work, etc.  Additional GPIO lines could solve one of the problems with the Raduino:  a lack of spare digital ports to support customised add-ons.  For example, if you want to add 160m and switch in an additional LPF, or  if you are worried about potential spurs, you will be able to pull in bandpass filters for the high bands. In these instances you may want to spend a little more to get the ENHANCED version.

If you don’t want to wait until firmware is available for your screen size, then purchase a 2.4″ or 2.8″ BASIC or ENHANCED Nextion Display now.   These two screens have the exact same resolution, and the default version of the Nextion Firmware from Ian KD8CEC will work on both screen sizes without modification.

If you already have a different sized screen, or want to buy a bigger screen, right from the outset, don’t panic.  You may need to make some adjustments to the firmware yourself.  This is not difficult – but involves resizing graphics and moving around objects to suit the larger screen area/resolution.  Some of us are working on modifications to the Nextion firmware to accommodate 3.2″ and 3.5″ screens. Firmware for these screens is likely to be available quickly.

Screen sizes and resolutions for the BASIC models available on ITEAD’s website are as follows:

The ENHANCED versions available from ITEAD are as follows:

Most of us will choose to buy our Nextion displays from Aliexpress or eBay.

They are available in all sizes and in either BASIC or ENHANCED versions.  It is unclear which are OEM versions and which are clones.  It probably doesn’t matter.

Look for highly rated suppliers and those with higher shipping volumes.  The biggest risks are that your screen arrives cracked, or simply never arrives.  You will need some form of redress when goods arrive in a damaged state or simply never arrive, and this is where the intermediaries in eBAY, Aliexpress or Paypal can assist.


Latest release of the TFT Colour Touch Control from VU2SPF and VE1BWV

VU2SPF and Joe VE1BWV have released the latest version of their TFT Colour Touch Control.

Low cost, standard easy to get parts, Colour, Touch Control and any combination of Touch Control or physical buttons.

TFT (Touch) Display module, Atmega 2650, Si5351 DDS, 1 UBITX and a few wires = All Band rig with Computer / Radio Touch Control Colour Display.

Some new features:

  1. Automatic Scanning – up to band edges in both the directions is now added in V2.9bU of software. The scanning allows one to find signals of interest across the band. Two small buttons labeled ‘U’ and ‘D’ scan in up and down directions from the currently set frequency. The scanning can be stopped by touching the frequency display area.
  2. CAT Control  – the software now has new code to emulate FT817 Cat commands… This provides radio and computer control for the digital modes.
  3. User Manual   A new comprehensive user manual has also been added. Various users and new builders have been looking for this for quite a while.The new version is available on Github at : https://github.com/sprakashb/TFT_TouchScreen_for_uBitxInfo also available at:

(UBITX ver2.9bu Installation Results)

Note that at present the firmware doesn’t support CW.


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






















JackAl is here!

Jack W8TEE and Al AC8GY have  released details of the JackAl board following FDIM (preceding Dayton Hamvention).

Friday night is a sort of Show-and-Tell at FDIM and they used that opportunity to show their JackAl board in action. The photo above shows a little more about what it is and does.

At the show, Al hooked up a noise generator to the µBITX to show how the filters work. (There are 4 preset filters for CW and 4 for SSB.) In addition, you can customise one CW and SSB filter to the bandwidth you desire. You might be able to see that the skirts are pretty steep for the filters on the scope in the background. The setting of the CW custom skirts are set differently, in that you pick a centre frequency (e.g., 700Hz in the shot below), press the encoder, and then you see this:

In this case, turning the encoder CCW increases the bandspread (i.e., the 440 red number above, although it looks orange in the photo) by simultaneously moving the skirts (480Hz and 920Hz) further apart. If you turn the encoder CW, you narrow the bandspread. Most CW users will probably center the bandpass on their favorite sidetone frequency, which centers the bandpass on that frequency.

The demo used a 5″ display, although a 7″ display is also available. The third knob on the front is for a second encoder that we use for everything from setting the CW keyer speed to adjusting the filter skirts. You can see some of the plots on the panel at the rear of the picture above for some of the board’s features (e.g., filter responses, compression, etc.) Those will be included in the documentation when the (downloadable) manual is finished.

The JackAl board has the following features:

  • 5″ or 7” touch screen 800×480 TFT color display
  • Dual VFO’s
  • RIT
  • S meter
  • RTC
  • CW keyer, 5 to 50wpm (we could go up to 100wpm, but…really?)
  • Up to 50 CW preset messages, selectable at runtime…perfect for contest messages
  • Touch screen function and control selection (e.g., band changes, RIT, mode, VFO, VFO increment, LSB/USB, etc.)
  • Automatic LSB/USB selection based on frequency (overrideable)
  • One touch frequency increment changes (1Hz to 1MHz in multiples of 10…the white underscore in the frequency window)
  • Dual encoders (frequency, features)
  • EEPROM storage of user preferences (one-click reset to “factory” defaults)
  • Uses Teensy 3.6 processor (1Mb flash @180MHz) and companion audio board
  • Support for 3 external CW push button switches (NO) for sending stored CW messages (e.g., contesting)
  • Hardware AGC using IF take-off
  • Audio AGC with adjustable threshold
  • Mic compressor with adjustable threshold
  • 8 band audio equalizer
  • Receive audio filter: 48dB/octave (8 pole equivalent DSP filters)
  • 4 CW presets (150, 300, 400, 600, [or none] Hz 3dB bandwidth) + 1 user-defined knee frequencies (at runtime!) filter
  • 4 SSB presets (1500, 1800, 2200, 3000, [or none] Hz 3dB bandwidth) + 1 user-defined knee frequencies (at runtime!) filter’
  • Variable Notch filter, encoder adjustable, use specified Q
  • 7 watt power amplifier

The board will be distributed with all (surface mounted) parts in place. The user must supply the Teensy 3.6 ($30), its supporting audio board ($15), and the 5″ ($34) or 7″ ($44) touch screen displaying (using the RA8875 controller chip, BuyDisplay.com).

We expect the JackAl board to sell for $50.

We may need to adjust this price as we have only received “ballpark” cost estimates for the board since we only have the Gerber files for the Beta board.

Currently, we are using less than 20% of the available flash memory (out of 1Mb) and less than 15% of the SRAM (256K), so there is plenty of memory resources available for adding “stuff”. The board also brings out a number of I/O pins to help your experimentation. With the exception of removing one SMD resistor on the µBITX board and soldering two wires to those pads, all interconnections are via existing connectors.

Our best guess is that after finishing the modified Gerber files, production, Beta testing, and writing support manuals, it will be probably two months before we begin distribution. We will announce its availability here as soon as we can. BTW, if anyone knows a high-quality PCB manufacturer who also does pick-and-place at reasonable prices, we are getting quotes and would like to know about them.


Simulated S-Meter and SWR meter on small OLED display





Duwayne KV4QB has been playing with an Arduino Pro Mini and a small OLED display to use as a stand alone replacement for a analog meter.  The existing Raduino in the µBITx does not have sufficinet spare analog input pins to provide everything that Duwayne wanted to measure.

More information can be found on his blog at:

He is also working on a small board to provide forward and reflected power readings for SWR metering and power measurement.

This has created a bit of interest on the list, and represents an interesting idea that is potentially adaptable to other projects and use cases.


Poor man’s panadapter

Bruce KC1FSZ has been experimenting with a panadapter for his µBITx that is likely to be of interest to constructors, especially to anyone thinking about one of those fancy ICOM 7300s.

The goal was to build a crude panadapter into his BITX rig without resorting to external PCs, SDR dongles, etc.  He used a few cheats in his scratch-build BITX that may make this a bit more tricky on a stock unit.  However,  Bruce is sure that someone in the group can figure out how to expand this into the mainstream.

It’s a bit like a Sweeperino.  Bruce has built his firmware to quickly sweep the VFO across the band of interest (40m phone in Bruce’s case) and then to look at the AF spectrum at each point and display the result in a simplistic spectrum display. Obviously, this interrupts the receive for a brief instant when it is happening, but he has also set things up with an extra MOSFET so that the audio output can be suppressed during the sweep to hide the annoying sounds. This mod may already be in your rig if you’ve added an AGC.

The more sophisticated way to go is to do some DSP fiddling of the overlapping 3 kHz segments of the spectrum that are sampled during the sweep. At the moment Bruce sweeps in 500 Hz steps so there is overlap in the samples of the audio. This needs some more experimentation to get the optimal sweep speed, the cleanest way to stitch things together, averaging, etc. but even something basic is good enough to show the activity on the band.

Bruce also uses a cheap 128×64 OLED display, which makes these simple graphics possible.  Be aware that these displays can be noisy.

The picture at the top of this news items shows what the initial display looks like. The caret at the very bottom is pointing to where the VFO is currently set. You know it’s working because you can always see the signature 7199 BITX birdie!

Bruce has produced a video with the sweep slowed and the audio on so you can hear how it works.  It sounds like a strange SSTV mode, but it’s actually the entire 40m phone band being analyzed for activity.


Separating your display from the main board

Gordon W2TTT asked on the BITX20 Group list, “Does anyone have some links to the display/ Raduino extension cable parts?  I want to remote the display from the main board.”

If you want to separate your display from the main board, you should separate the display from the rest of the raduino and plug the “arduino nano” bit into the connector on the main board.  The reason for this is that you don’t want long leads spraying RF around from the oscillator outputs from the si5351a.  This is a sure recipe for birdies in your RX.

Use Dupont connectors (Male to Female) to do this.  Most will find either 10cm or 20cm connectors are suitable.

Jack W8TEE  comments “Jumper wires (aka Dupont wires) are great for breadboarding and experimenting, but my experience is that some of them don’t make a solid connection after recycling (connect/disconnect) a few times. We were getting a lot of noise on a TFT display line and finally tracked it to a faulty Dupont. The Chinese imports seem especially susceptible. If you experience noise or hashing on a display or in the audio, this would be one of the first places I’d look.”


Converting to an I2C display and other developments

Ian KD8CEC is busy opening up the possibilities for including different code sections in his new version 1.07 under development.  This will include the ability to readily shift to an I2C display in order to reclaim digital I/O ports needed for other features.

In the mean time, Bill K9HZ provides a succinct code listing required to get an I2C display to work

The following TWO things need to be done in Ian’s version 1.07 code (BETA):

1. Change Display models in “ubitx_20” :

From this:

#define UBITX_DISPLAY_LCD1602P      //LCD mounted on unmodified uBITX

//#define UBITX_DISPLAY_LCD1602I    //I2C type 16 x 02 LCD

//#define UBITX_DISPLAY_LCD2404P    //24 x 04 LCD

//#define UBITX_DISPLAY_LCD2404I    //I2C type 24 x 04 LCD

To this:

//#define UBITX_DISPLAY_LCD1602P    //LCD mounted on unmodified uBITX

#define UBITX_DISPLAY_LCD1602I        //I2C type 16 x 02 LCD

//#define UBITX_DISPLAY_LCD2404P    //24 x 04 LCD

//#define UBITX_DISPLAY_LCD2404I    //I2C type 24 x 04 LCD

2. Update Ian’s code to use the I2C libraries in “ubitx_lcd_1602i” :

From this:

#include <LiquidCrystal.h>

LiquidCrystal lcd(8,9,10,11,12,13);

To this:

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  //


in the instance above the add-on board on the back of the display is set to address “3F”.  You can use the scanner to find the correct address.