27 December 2020

I'm back!

It's been a while, over three years in fact, since I wrote to this Blog and in truth I had considered that the FlexRadio controller project was finished. But my projects are never really finished and the intervening years have seen more or less continual minor software changes, adding new features, fixing the odd bug and adapting to new versions of the Smart SDR software.

I've decided to resurrect the Blog because I have started on a completely new hardware development, which unlike the changes of the past few years is a significant body of work that changes the user interface somewhat. 

What am I up to?

The Mk II controller in use
(note the lack of labels!)
Old hands at this Blog will recall that one of the huge benefits of the controller was the ability to have a "virtual" front panel implemented in hardware. That means a proper physical front panel for the radio, with tuning knobs, rotary controls and push-buttons but with the ability to map any control function to any physical control. So, for example you could have a panel configuration for contests that is tailored to contesting, another for DXpeditions and yet another for DXing or rag-chewing,

In practice, although feasible, there is never any point in reassigning the VFO controls to anything other than VFOs (although one might swap them around, say for a left-handed operator). Rotary controls (volume, bandwidth, etc.) certainly can change: a control that is useful for contesting might be less so for DXing and so it would come or go on the physical panel as required. All of this is driven by a "profile" and there can be as many profiles as your operational needs might wish.

Problems and solutions

OLED

There is a problem! Because each control can do different things depending on the profile, it is not possible to label the controls with their function. That's not really an issue with the VFO knobs - pretty obvious what they do - and it's a fairly easy problem with the rotary controls because they can be arranged around the large screen that their functions can be displayed there.

A 3.5" LED touch-screen

Push-buttons are a different matter. OLED push-buttons are available that let you dynamically display the function but they are physically large and extremely expensive. After a lot of research and soul-searching, I rejected this approach. Which left... touch screens.

With a touch screen it is simple to add text on the screen to describe the push-button function. As most push-buttons have dual functionality (short press, long press) it makes sense to put the short press function label inside the switch outline and the secondary, long press function label below. 

A touch screen-based controller

The touch-screen controller PCB
I was, to be honest, nervous of going the touch screen route. There is something satisfying about the tactile feel of a proper switch that is lost with touch screens. But, I guess we've all become used to them these days, what with smart phones and iPads and the like, so I decided to experiment. I now have a trial implementation, using a pair of small touch screens to replace the 20 or so push-buttons of the old Maxi Controller. I've designed a PCB and had it produced. The software has been updated to provide a basic implementation. 

In short, I have a new FlexRadio Controller project on the go! Over the next few weeks/months I'll describe in more detail the hardware and software work that I am doing to make it happen.