19 June 2017

The integrated Maxi

Briefly recapping, the Flex controller project has two principal components: the I/O controller and the Host controller. The I/O controller is effectively a firmware system that is logically part of the physical hardware. The host controller is any Windows-based system that does all the heavy lifting work of the controller application.

For the Mini controller, it makes sense that the host controller might be something like a laptop, thereby creating a portable package for remote use in hotels and the like. It seems to me that the Maxi controller is more of a base station beast and that is the logic behind the concept of The Integrated Maxi.

A typical FlexRadio-based station (mine, as it happens) has the following amateur radio software applications:
  • Logging program
  • Mapping application (e.g. DXAtlas)
  • Propagation application (e.g. IonoProbe)
  • Smart SDR
  • Maxi Controller application
...and so on. With the exception of Smart SDR, none of these programs are particularly demanding in terms of processor power or memory. It therefore seems reasonable to run all these applications on a single Windows system. And if we are doing that then why not integrate it with the Maxi controller?

The problem is finding a suitable Windows platform. Required attributes are as follows:
  • Sufficient processing power and memory to handle all required applications
  • Support for up to three screen: one for Smart SDR, one for the logging and support applications and one for the controller display
  • Low power consumption
  • Good connectivity (network, USB)
  • Small physical size
That's quite a shopping list. I've started experimenting with the UDOO X86 Ultra, which appears on the face of it to meet all the above requirements. With 8GB of RAM, memory isn't going to be a problem but processing power might be. Connectivity and the other attributes are satisfactory.

Here are the UDOO X86 Ultra CPU loadings for the above applications:
  • Logging program (StarLog): up to 3%
  • Mapping application (DXAtlas): <1%
  • Propagation application (IonoProbe): <1%
  • Smart SDR: Typically 27% *
  • Maxi Controller application: Up to 4%
* The Smart SDR CPU demand is very much dependent on the application's display settings . The figure given is at 20 frames/sec and 70% average, which are values that I seem to like. A reduction in FPS has a corresponding reduction in CPU load and is not really visually noticeable until FPS<14.

With all applications running, total CPU load is around 36% which gives good headroom for peaks. Here's a picture of my test lash-up:

I'm using a SATA III SSD, which has more performance than I'm ever likely to need but rotating discs are so last year and SSDs are getting cheaper all the time. I happened to have an unused copy of Windows 10 Professional lurking in the shack so despite my misgivings about the W10 platform, I have decided to use it here. Needless to say I have turned off every bit of snoopware that I can, disabled Cortana and so on!

Power consumption at average load of 33% is around 0.9A at 12V, which is very satisfactory, given that the PC is likely to be on 24x365. At 33% CPU load the CPU heatsink is not quite sufficient on its own, so a small temperature controlled fan has been added, which only runs about 25% of the time.

So far so good. Testing continues...

16 June 2017

Belated update

I've been rather remiss in updating this Blog over the past couple of months, although the truth is that not much has been happening on the FlexRadio Controller front.

The USA trip went well and it seems that my presentation at Visalia CA was well received. The visit to FlexRadio in Austin TX was somewhat abbreviated due to staff availability and not helped by a configuration c***up on my part which meant that I was unable to demonstrate the controllers properly. It wasn't until I got back to the UK that I realised what I'd done wrong!

Now safely back in Cumbria, I've been gaining some hands-on experience using the controllers to chase DX and on the whole everything seems to work admirably. A few minor problems have been teased out and the code is moving forward as a result but at nowhere near the pace of a couple of months ago.

My mind is now turning to integration of the host processor into the Maxi Controller cabinet. The key component of this is a Windows Single Board Computer (SBC). I have received and am evaluating the Udoo X86 Ultra SBC for this role. Early indications are promising. The idea, if there is sufficient processing power, is that the SBC will run Smart SDR, the controller host program, logging program and any other ancillary programs needed for DXing. I'll write more about this soon.