I had not realized that Santa traded in his Sleigh for a yellow cargo van, but he must have. After seeing that the new uBitx was available for sale last Saturday, I thought about ordering it. Then about 2 AM Sunday morning I couldn't resist much more and pushed the button at Paypal.
Just sitting around Thursday afternoon when the door bell rang, and there disguised as a DHL deliver driver was Santa. I couldn't wait to see what the new toy looked like. So after letting Santa get on his way to his next delivery, I tore into the box. Inside the sturdy cardboard box was a plastic box with a couple of bubble wrapped boards, and a bag of parts. The uBitx board and Raduino are each wrapped in bubble wrap, and I could not see any shipping damage on either one.
I plan on replacing the 2 x 16 LCD display with a small TFT display, so I took a look at the wiring diagram of the display connector. I checked the pins and they contain all pins to use hardware SPI on the Arduino to drive a TFT display. I wired up a 1.8" display I had from other projects, and could not get it working with the pin combination I choose. Playing around with some other wiring combinations, I was able to get it working. Still wondering about that, because I have always been able to map anything but 11 and 13 to anything I wanted to use. I realized that pin 12 is also used by the hardware SPI, and after changing to pin 10 everything worked as expected. First thing I had to do was disable the LCD driver software and include the Adafruit libraries for the ST7735 and the graphics routines. After that I replaced the LCD display routines with ones written for TFT display. Luckily the uBITX routines map everything related to the display to a couple of simple functions. It took very little to change these over to the TFT display.
The only problem I found was that with the 1.8" display I only had a x resolution of 160 pixels, and that limited me to using a small size font, without the text wrapping around to the next line. But everything should work after I redesign a display screen layout to replace the default two line layout used in the stock uBitx. The 1.8" display could be wired in directly, but for a 2.4" or 2.8" I will need to converted from 5 to 3.3 volts on the control lines. I have found that simple voltage dividers work well for this, as the data flow is only one way. At last something to keep me busy for the holidays
To make things a little easier to work with on converting the uBITX display to a TFT display, I wired up a Nano, display, encoder, and a couple other parts on a wireless breadboard. This will allow me to take everything along when I go to spend the holidays with relatives. So far it has been fairly easy to come up with a screen layout that fits well on the 1.8" display. I am trying to limit any code changes to the ubitx_ui module, and mainly to the updateDisplay() function. This should make it possible to easily switch back to the LCD by just loading in a different version of the ubitx_ui module, or possibly use of #ifdef depending on how complicated the whole thing turns out.
With the limited size on the 1.8" display I am trying to keep everything as simple as possible. It looks like I will probably have to switch toa separate screen display when I switch to setup mode. When I move to a 2.4" or 2.8" with higher resolution, I will have room for information to be displayed at one time, and may be able to add a pop-up sub menu.
As of now I have the FREQUENCY, VFO, and MODE display finished. Just now trying to add the RIT status display to the empty red box on the right of the screen. Also plan on having the command prompts from pushbutton work as a pop-up item. Don't know how much I will get done before I have to pack it up and go visit relatives, but will keep you informed.