Nextion Touch Screen Display for the F40
Hi all -
I've been working steadily on the revising the Arduino code for the Furlough 40 Homebrew 40 meter SSB phone transceiver that I built earlier this year based N6QW, Pete Juliano's Simple SSB. Last time I described the code for a color TFT module to use as a replacement for the 4x20 LCD that I originally used and I promised to upload additional modules. The code for a fully functional ham radio control program is complete. I need to finish documenting it and will post it to my github page. In addition to the display module already posted I plan to post on each of the remaining modules required to produce a fully functional SSB control program including the SI-5351 produced LO and BFO clocks. This control program should be straightforward to adapt to a variety of homebrew radio projects. The modules that I will be provide and document are:
- Display Modules
- TFT Display
- Nextion Touch Screen Display
- 4x20 LCD Display
- Button Handler (hardware buttons and switches)
- Encoder - handles the rotary encoder and push button
- VFO / BFO - controls the SI 5351 clock generator
- CAT Control
Each posting will follow the format of Furlough 40 Goes Color
But that is all is in the future....
Very Touching - Nextion Display
While I was putting the final touches on the CAT control code for the F40 I received an email from Pete asking me about programming a Nextion Touch Screen display. I had a spare in the junk box. I had purchased two when I upgraded my uBix V6 to the wonderful uBitX Nextion module provided by KD8CEC, Ian Lee. That upgrade was plug and play since KD8CEC provided all the code. When I got Pete's email I loaded up the Nextion IDE and cobbled together a "LED On, LED Off" sketch which is the Arduino version of "Hello World." The Nextion IDE and programming library are available for free on the Nextion web site. It requires a bit of fiddling and a learning curve to get it going and I will fully describe in a future post. I sent off the code to Pete and he asked about how to include a frequency display. I did that in about five minutes and that inspired me to try to build the F40 user interface. Since I had recently completed the TFT Display Module I already knew what functions I needed to implement for display side of the interface. As a reminder, the display functions are things like:
- DisplaySetup
- DisplayActVFO
- DisplayAltVFO
- DisplayVFOAB
- DisplayTxRx
- DisplayMode
- DisplayIncr
- DisplayTune
One of the cool things about the Nextion IDE is that it allows you to build and simulate what you will eventually see on the screen - and it is all drag and drop with very little programming is required. The Nextion communicates with Arduino Sketch via a simple protocol running over a serial interface.
Since I already had two working display modules built (for the 4x20 LCD, and for the color TFT) I already knew what I needed. Within about two hours I had fully reproduced the functions of the color TFT display. Buttons and switches are also easy to implement; a couple of hours later I had reproduced the front panels switches from the F40 - VFO A/B, LSB/USB, and TUNE. That was another couple of hours. So in about half a day I had created a fully functional touch screen display for the F40. The only physical change to the F40 was disconnecting the LCD and connecting two wires to the Arduino plus power. Not bad at all!
Based on that success I began work on extra features that I had put off adding to the F40 because they would require either complicated menus or a bunch of other hardware buttons. The first thing I added was the ability to work Split (transmit on one frequency and receive on a different frequency). One button (five minutes) - and about 30 minutes to write the code on the Nano to switch the clock frequencies on the SI5351. I previously described my approach to modular programming and since I had already written the VFO/BFO control module it was a matter of a few minutes to code that up. I then added a Scan button to scan through frequencies and this was interesting - I was able to add that function by just making changes on the Nextion - no Arduino programming required.
More on Nextion programming later - but for now, please take a look at the video and let me know what you think in the comments.
APRS and the International Space Station
KM4HRR Talks to the ISS |
On Sunday, my friend KM4HRR Brendan invited me to see the progress he has made in contacting the ISS using APRS. His setup is the following:
- Kenwood TH-D74 Transceiver, with an ISS profile that he created
- Arrow II Portable Antenna
- iPhone (or Android) running the ISS Detector app
At about five minutes before the pass, ISS Detector sent an alert. Then, using the iPhone camera, also controlled by ISS Detector, he pointed the antenna at the horizon. Right on time, he received an APRS beacon from ISS and over the next few minutes Brendan sent and received several APRS messages. He had added several macros to his ISS profile on the TH-D74 to make it easy to send messages during the 5-6 minute pass.
All in all, a pleasant way to to spend and hour. I now may have to invest in an APRS capable HT!
Farewell Neowise, we barely knew ye....
In keeping with the space theme, when I am not playing radio, I play photographer - and here are two of my favorite captures of comet Neowise at nearly its closest approach to earth.
73 from Great Falls,
Dean
KK4DAS
Very impressive work.
ReplyDeleteThank you!
ReplyDeleteLove your work will you by any chance be releasing the files required for the nextion ?
ReplyDeleteThe files for the entire SSB radio control sketch - including the Nextion files are available on GitHub -
ReplyDeletehttps://github.com/kk4das/SSB_Radio_Control