tag:blogger.com,1999:blog-53398224184422682102024-03-29T03:29:42.609+00:00 G3WGV's Flex radio controllerJohn Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.comBlogger103125tag:blogger.com,1999:blog-5339822418442268210.post-4698600665606929422020-12-27T12:55:00.010+00:002020-12-27T13:37:10.122+00:00I'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.<p>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. </p><h4 style="text-align: left;">What am I up to? <br /></h4><p></p><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2oFAzChe57cP5e4AWjN_t6tU22giSKrbRC52xdRMogSk00UNKsi5Drfp8bwwztfv-KBAvO6dp5X3uxvxQI_WBcPitTtL7FTAGJLNhOPCjNEFlLNT075gp9UfKlTJRPbmZyjwOgqBnPgc/s1024/Maxi+in+station+2.jpg" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="768" data-original-width="1024" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2oFAzChe57cP5e4AWjN_t6tU22giSKrbRC52xdRMogSk00UNKsi5Drfp8bwwztfv-KBAvO6dp5X3uxvxQI_WBcPitTtL7FTAGJLNhOPCjNEFlLNT075gp9UfKlTJRPbmZyjwOgqBnPgc/w209-h157/Maxi+in+station+2.jpg" width="209" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">The Mk II controller in use<br />(note the lack of labels!)<br /></td></tr></tbody></table>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,<p></p><p></p><p style="text-align: left;">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.</p><h4 style="text-align: left;">Problems and solutions<br /></h4><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB8vBExVHkdooL09x3csvKyvwaBJbKR8rGD__vRPs0jRzA1YOD6EghJ8fH9wQ0MQ36VKJLUA3jltKJMzO6d6-wYbTapx7mgm_XzShBPWAQ8GkxpYQ_RB2c-uqSH2FvOq3jrWou4R7kd1s/s600/OLED+button.png" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="600" data-original-width="520" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB8vBExVHkdooL09x3csvKyvwaBJbKR8rGD__vRPs0jRzA1YOD6EghJ8fH9wQ0MQ36VKJLUA3jltKJMzO6d6-wYbTapx7mgm_XzShBPWAQ8GkxpYQ_RB2c-uqSH2FvOq3jrWou4R7kd1s/w127-h147/OLED+button.png" width="127" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">OLED</td></tr></tbody></table><p style="text-align: left;">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. </p><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinsEB49sDELgo54h17iBMuFfo3j-i6usSEc7v3VrXIJj18vJ8fPQiYmVlfRD2kjHhK49HDX91JmBk-ayPgAlsgTi1-b4zLeKv1k6jFdHGo487jLWn_4q35KJrCRE1e478zKW62Kw-Fy4o/s600/113973354_Adafruit_FeatherWing35TFTDisplay.webp" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="436" data-original-width="600" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinsEB49sDELgo54h17iBMuFfo3j-i6usSEc7v3VrXIJj18vJ8fPQiYmVlfRD2kjHhK49HDX91JmBk-ayPgAlsgTi1-b4zLeKv1k6jFdHGo487jLWn_4q35KJrCRE1e478zKW62Kw-Fy4o/w222-h162/113973354_Adafruit_FeatherWing35TFTDisplay.webp" width="222" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">A 3.5" LED touch-screen<br /></td></tr></tbody></table><p style="text-align: left;">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.</p><p style="text-align: left;">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. <br /></p><h4 style="text-align: left;">A touch screen-based controller</h4><p style="text-align: left;"></p><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkHFlGGTALIZJLLtuQvbIghw1RFY1ktD5ZPAFaeLDeAJ-NobJ2R0QLpW7KutjQM8JvJpSqaFmMA9QDK6sPnHTvo17KdMB37UWR8iTwUqzt4Ce6dGhebdX2LBocq3NhK1N43-v1OPYfruA/s1193/Touchscreen+PCB.png" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="428" data-original-width="1193" height="91" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkHFlGGTALIZJLLtuQvbIghw1RFY1ktD5ZPAFaeLDeAJ-NobJ2R0QLpW7KutjQM8JvJpSqaFmMA9QDK6sPnHTvo17KdMB37UWR8iTwUqzt4Ce6dGhebdX2LBocq3NhK1N43-v1OPYfruA/w252-h91/Touchscreen+PCB.png" title="The touch-screen controller PCB" width="252" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">The touch-screen controller PCB<br /></td></tr></tbody></table>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. <p></p><p style="text-align: left;">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.<br /></p>John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com2tag:blogger.com,1999:blog-5339822418442268210.post-58405147524833532392017-10-11T10:33:00.002+01:002017-10-11T10:33:45.541+01:00RSGB Convention<div class="separator" style="clear: both; text-align: left;">
</div>
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<a href="http://rsgb.org/main/files/2017/04/RSGB_convention_logo_2017-150x140.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://rsgb.org/main/files/2017/04/RSGB_convention_logo_2017-150x140.jpg" data-original-height="140" data-original-width="150" /></a>I will once again be presenting a paper at the RSGB Convention this coming weekend. My presentation, <i><b>SDR - The station of the future </b></i>is at 11:45am on Sunday in Lecture Room 4. <br /><br />This is a completely new presentation that reviews the history of SDR and looks at the way the amateur radio offerings have changed over time.<br /><br /> I then discuss operational aspects of having an SDR in the shack, looking at issues such as performance, ergonomics, value proposition, applications and the API, etc. </div>
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
See you there?</div>
<br />
John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-39660998212639268282017-10-04T12:42:00.000+01:002017-10-04T12:49:04.193+01:00More station integrationA while back, <a href="http://g3wgvflex.blogspot.co.uk/2017/06/the-integrated-maxi.html">here</a> and <a href="http://g3wgvflex.blogspot.co.uk/2017/08/integrated-maxi-update.html">here</a>, I discussed the idea of the integrated controller and mused that the single board computer therein could take on all applications associated with station operation.<br />
<br />
Well, it's taken a while but I've finally achieved that objective. Yesterday I prised my logging program out of the venerable laptop it has run on for several years and transplanted it into the Udoo X86 Ultra that is built into the Maxi-controller. This was not without its problems, in particular, the need to support a USB to RS232 interface which wouldn't work under Windows 10 (eventually fixed).<br />
<br />
The application line up on the Maxi-controller PC is thus:<br />
<ul>
<li>SmartSDR</li>
<li>My FlexRadio Host controller</li>
<li>DX Atlas</li>
<li>IonoProbe</li>
<li>StarLog</li>
</ul>
Of these, SmartSDR is by far the most CPU intensive, requiring around 25% of available processing power. The host controller is next up but only around 3% and the others are <3% most of the time.<br />
<br />
There is still a little work to do. At the moment my antenna switching control is via a Velleman P8055 USB to parallel interface. This works OK but is an external unit that is now unnecessary. My plan is to use the Arduino functionality of the Udoo X.86 SBC to take over this function. That requires new code in StarLog and, of course, code for the Arduino. I'll also need to make a "shield" to fit onto the Arduino headers to hold the line driver IC that sends the switching signals out to the antenna switch at the base of the tower. Coming soon(ish).John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-27642112494052888502017-10-02T10:10:00.000+01:002017-10-02T18:03:00.976+01:00Belated updateIt's all been a bit quiet on the project front recently, in part because I have been busy with other things. I'm still waiting for the FlexRadio white paper on remote operation, so there has been no progress on that aspect of the project. As I received no feedback as to whether I should wait until this work was completed before making the project publicly available, I have chosen not to release it for now.<br />
<br />
Of course the Maxi-controller has been in operation as my main station for <a href="http://g3wgvflex.blogspot.co.uk/2017/03/maxi-controller-qrv.html">around six months</a> now and, by and large, it has proven highly satisfactory. I've discovered, and fixed, a few minor bugs, as is the way with these things - but no show stoppers. Just as well: apart from the Icom IC-7300 I have no other options, chez 'WGV.<br />
<br />
There has been progress elsewhere.<br />
<br />
I've started on documentation for the project. This is in the form of a Windows HTML help file, so it can be opened from within the controller program or directly. This will, in time, become the main repository for information specific to the controller and will complement this Blog. Effectively the Blog will be, as it is now, for discussion about the project and the help file will document the actual implementation.<br />
<br />
The Profile Manager had got a bit behind the controller development cycle, so I spent quite a bit of time updating that. In so doing I realised that there were some inconsistencies in the structure of both the Profile Manager and, by association, the controller itself.<br />
<ul>
<li>The Profile Manager didn't always properly differentiate between logical functions and physical controls. This showed up in the layout of some forms and, importantly, in the naming of certain coding variables. </li>
<li>The profile files, similarly, used protocol language that could cause confusion.</li>
</ul>
This created quite a lot of coding work that has no real effect on the functional capabilities of the controller or the Profile Manager. I felt it was important though, especially as it is my eventual intention to make the code publicly available.<br />
<br />
There have been some functionality changes too. A while ago I introduced the idea of <a href="http://g3wgvflex.blogspot.co.uk/2017/07/new-features.html">long and short switch press functions</a> but this enhanced functionality didn't extend to the encoder switches. It does now.<br />
<br />
When controls are changed a pop-up message displays what the change was, which is mostly a good thing. Sometimes the pop-up would obscure the thing the switch had selected, for example, the band/mode form. That's not so good, and now each control function can be individually tailored to show/not show the pop-up as required.<br />
<br />
Finally, as <a href="http://g3wgvflex.blogspot.co.uk/2017/08/slice-management.html">discussed last month</a>, I have implemented the ability to fix by configuration the relationship between slices and VFOs. This has resulted in a big improvement in station integration, as everyday actions such as split selection from the logging program now work perfectly. As I discussed before, this is not an ideal solution but with the current Flex API it is the best I can do.<br />
<br />
As we head into the winter I hope to have a bit more time to spend on the project.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-88066768076578626532017-08-26T13:20:00.000+01:002017-08-26T13:20:40.391+01:00Slice managementWhile I am waiting for the white paper on SmartLink, I've been giving some more thought to slice management strategy. The nub of the problem is twofold:<br />
<ol>
<li>Slices are allocated from a pool on an as required basis, so there is no fixed relationship between a slice and its function. For example, if one opens a new slice for split working, you'll just get whatever the next free slice is. It might be slice 1 (slices are counted from 0) or it might not be, if slice 1 is already in use somewhere else.</li>
<li>There is no way to relate a slice to a particular function. So it's not possible to say that slices 0 and 1 "belong" to a specific controller/logging program combination.</li>
</ol>
These two factors make it nearly impossible to implement a proper SO2R using two controllers and a single Flex 6xxx radio. It would be possible if we were certain that both the controllers would always use a fixed number of slices - in that case we'd just open those slices as part of the setting up of the station and allocate them accordingly. To my mind that is too constricting a solution.<br />
<br />
There isn't a solution to this at present. I have a proposal in with FlexRadio that introduces the concept of logical slices. Each logical slice can be allocated an identification string that is <i>persistent</i>, that is it survives physical slice creation and destruction and also survives radio power down. When that logical slice is instantiated as a physical slice then we know the logical mapping to controllers, logging program or whatever. All that is then needed is that the clients associated with a logical slice are aware of its identification - a simple configuration matter.<br />
<br />
I have no time scale for implementation, nor, indeed, any indication that it will be implemented, although this is a definite, known problem that FlexRadio acknowledges and some sort of fix will surely be necessary in due course.<br />
<br />
At a more parochial level, the way I have currently implemented slice management is that the user manually sets the relationship between slices and VFOs at run time. This is OK when the radio is in simplex mode - most likely slice 0 becomes allocated to VFO-A. There is no problem either, if split mode is in operation at that time. Simply allocate the VFOs as needed - most likely Slice 0 = VFO-A and slice 1 = VFO-B.<br />
<br />
The problem comes when, say, you're in simplex mode and click on a spot with the logging program that shows split operation. My logging software interprets split information in the comments field. For example, if it sees "Up 2" in the spot comments then it starts a new slice and sets the transmit slice to that slice so you're all set to call the DX on the correct split. All well and good but the controller (which does see the new physical slice being created) doesn't know that the new slice is part of its bailiwick. So you then have to manually tell the controller that yes, this new slice is indeed, for now, its VFO-B.<br />
<br />
You see the problem?<br />
<br />
I need to think about this some more but I am coming to the conclusion that I need to implement an optional mapping system that permits me to map physical slices to virtual VFOs. That's a nuisance and it would mean that a multi-controller system working on different slices (e.g. an SO2R station) would not work but it's the only way I can think to handle the lack of virtual slice identifiers.<br />
<br />
I'm planning to write some test code in the next few days.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-61975307139532407182017-08-10T11:32:00.000+01:002017-08-10T11:41:42.506+01:00Remote update IIThings are moving on. I now have two Internet accounts with different static IP addresses, so I can test remote access.<br />
<br />
As earlier tests suggested, my controller code doesn't work remotely, even if it is running on the same PC that has negotiated a remote connection. That was somewhat disappointing but now I think about it, it would have been surprising (and probably not a good thing from a security perspective) had it worked.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIVqkkKphzmc9BaRfviXa7ht0M8_8rjf2U2QGCFSl-eKZxGSt5FqNpuoHKG1OqHZYTgyHu-Uu4orx1CCT8yGsguhIAB5PVEDuxGbSL97d8e7RX_aXEfLIw_mcdPFW82Ns0zhpsAtgVom0/s1600/Smartlink+login.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="560" data-original-width="410" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIVqkkKphzmc9BaRfviXa7ht0M8_8rjf2U2QGCFSl-eKZxGSt5FqNpuoHKG1OqHZYTgyHu-Uu4orx1CCT8yGsguhIAB5PVEDuxGbSL97d8e7RX_aXEfLIw_mcdPFW82Ns0zhpsAtgVom0/s200/Smartlink+login.png" width="146" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The SmartSDR radio<br />connection page for V2</td></tr>
</tbody></table>
The key to remote operation is a new FlexRadio service called SmartLink. SmartLink brokers a one time only, single use connection between the radio (server) and a client application and having done so disconnects and is no longer part of the session. It's quite a neat solution that removes the need for a VPN.<br />
<br />
So I need to understand how SmartLink works. FlexRadio has provided some code in the latest FlexLib API package but there is insufficient detail for me to work out how to code it myself. Or perhaps I'm just not good enough at reading code written in C!<br />
<br />
The technical guys at FlexRadio are, apparently, putting together a white paper that will explain the interface for developers to code to but as yet there is no time scale for publication. Meanwhile, adding remote operation capability to my controller code is on the back burner.<br />
<br />
How important is remote operation to you? If you're thinking about using my code, would you prefer to wait until it's available or should I release a non-remote version sooner?John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-49308026791083413802017-08-07T16:54:00.001+01:002017-08-07T16:54:38.293+01:00Remote updateThe UKSMG presentation seemed to go well but I wasn't able to do any sort of demonstration because, as I discovered when I got away from my own network, my controller code doesn't work with the new remote feature in Smart SDR V2. To be honest I am not surprised.<br />
<br />
So there is new code to write! I have today made arrangements with my Internet Service Provider to get another broadband account set up with its own static IP address. This will enable me to test any new code that I write across the Internet, from one user account to the other. It will be a generally useful thing to have. Fortunately, I run one of the network nodes for our broadband service here at 'WGV Towers, so it's just a case of setting up a new account (already done) and connecting up another router. I should have it all working tomorrow, when the new router arrives.<br />
<br />
I also contacted FlexRadio about the API for the new SmartLink features. Hopefully some documentation will be published soon and I can then see what needs to be done.<br />
<br />
That's the thing with software... there's always something new to play with.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-75182902234398551872017-08-02T20:09:00.002+01:002017-08-02T20:17:59.986+01:00UKSMG talk & demo<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXIi06jGPGYrjNm9gM0L2inzK7pLlx-187uH8gK1WTu_zkKbq-Hqr-itIy4_LhkxcE_TWDZ8Rxywmk3PV8w2hKUES98m0AUjtQWe1etZuzT-o4XLbQumqQxeZSRVgPpCDFRCirRqySWM0/s1600/UKSMG+logo1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span id="goog_1155816732"></span><img border="0" data-original-height="259" data-original-width="275" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXIi06jGPGYrjNm9gM0L2inzK7pLlx-187uH8gK1WTu_zkKbq-Hqr-itIy4_LhkxcE_TWDZ8Rxywmk3PV8w2hKUES98m0AUjtQWe1etZuzT-o4XLbQumqQxeZSRVgPpCDFRCirRqySWM0/s200/UKSMG+logo1.png" width="200" /><span id="goog_1155816733"></span></a></div>
This coming Saturday I'll be giving a presentation at the <a href="http://www.gare.co.uk/bbq2017.htm">UK Six Metre Group AGM & Barbecue</a>.<br />
<br />
Wittily entitled "SDR and the Strange Case of the Disappearing Front Panel" it builds on my earlier presentations, reflecting my recent experiences and the changes that have been taking place in the industry.<br />
<br />
I'll also attempt a remote demonstration back to my 6500 here in Cumbria. That should be, erm, interesting. The presentation is at 12:00 and will be the only thing standing between the audience and the pig roast. Wish me luck! John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-39392285231731439602017-08-01T23:44:00.000+01:002017-08-01T23:44:28.217+01:00Integrated Maxi update<a href="http://g3wgvflex.blogspot.co.uk/2017/06/the-integrated-maxi.html">A while ago</a> I discussed the idea of an integrated Maxi controller, which would include the Windows processing power to run Smart SDR, the Host controller application and other station software such as logging a program.<br />
<br />
My evaluation of the Udoo X86 Ultra concluded that it was man enough for the job, so I set to designing the beast. My friend with the CNC milling machine cut me a new back panel and this evening I managed to get it all constructed and working.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUUFwquqAklL0Uak7GKsS6V7zPb95RFeOX8hC7BtzJzMJtM25XHdXEoderUv2WZQ1Tt2GCFaV7UmLP6RKSkScUlKOHm3HT52dFgKSzlk8banP53__nSWuyKBDWR5G_EoE2AtqvJTolnng/s1600/Integrated+maxi+1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="660" data-original-width="1024" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUUFwquqAklL0Uak7GKsS6V7zPb95RFeOX8hC7BtzJzMJtM25XHdXEoderUv2WZQ1Tt2GCFaV7UmLP6RKSkScUlKOHm3HT52dFgKSzlk8banP53__nSWuyKBDWR5G_EoE2AtqvJTolnng/s200/Integrated+maxi+1.jpg" width="200" /></a></div>
The big advantage of this approach is that it considerably simplified station design. Instead of two or more PCs, with lots of connections to the radio, controller and other peripherals, a large proportion of the station is now in just two boxes - the Flex radio and the integrated controller. Time will tell whether this is a sensible layout but I have a good feeling about it, at least for the sort of station I want to build.<br />
<br />
The additional components, over and above the Maxi controller are:<br />
<ul>
<li>The Udoo X86 ultra single board computer, running W10</li>
<li>A 7-port USB hub for external connections</li>
<li>A built in 12V PSU</li>
</ul>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIBrLJ3ny7rzTx-aFZsNIB02jQftPLz8IoYCEJc98HI79JBDfkgZJ1NqCthniA0e0Jp-e55htRToG0bol28_VWmNDcBFhxl-jGwNEWlseyaGYMlwj_aRujMwoIeJSZdR5-1eFnLNDUDh8/s1600/Integrated+maxi+2.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="774" data-original-width="1024" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIBrLJ3ny7rzTx-aFZsNIB02jQftPLz8IoYCEJc98HI79JBDfkgZJ1NqCthniA0e0Jp-e55htRToG0bol28_VWmNDcBFhxl-jGwNEWlseyaGYMlwj_aRujMwoIeJSZdR5-1eFnLNDUDh8/s200/Integrated+maxi+2.jpg" width="200" /></a>The PSU wasn't really necessary, as the power draw is low enough that a simple 12V 2A "wall wart" PSU unit would suffice but it seemed to me that as I was building an integrated system the PSU should be integrated as well. The USB hub is mounted on the back panel and provides connectivity to peripherals such as mouse, keyboard, sound card, WiFi dongle and so on. I think seven ports will be more than sufficient.<br />
<br />
Other connections on the back panel are two HDMI outputs, each capable of supporting a 1920x1080 display, a wired Ethernet port and, of course, the mains power input socket. <br />
<br />
I plan to take the new controller down to the G3WOS bash this weekend, so if you'll be there you can see it in the flesh. John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-5146125628733235732017-08-01T16:39:00.001+01:002017-08-10T11:02:56.967+01:00Smart SDR V2FlexRadio released its long awaited version 2 of Smart SDR a few days ago and, after a short hiatus while the techies sorted stuff out, I am now running the new version on my 6500.<br />
<br />
V2 has a subtly updated API specification but I had been pre-notified of the small change and had already coded in the new facilities. I was pleased to fine that all my software, including the API library and host controller work just fine with Smart SDR V2.<br />
<br />
I need to get my stuff away from chez 'WGV and onto a different network from the radio, to see how the remote capabilities in V2 work, both with Smart SDR and with my controller. More on that when I've given it a try but I am not expecting any issues *.<br />
<br />
* Update: famous last words. <a href="http://g3wgvflex.blogspot.com/2017/08/remote-update.html">New code required</a>! John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-27130388411457288812017-07-17T10:54:00.001+01:002017-07-17T10:57:08.631+01:00PCB and software update<a href="https://g3wgvflex.blogspot.co.uk/2017/03/pcbs-4-u.html">A while ago</a> I suggested that I would make PCBs available for those who wanted to build their own 'WGV FlexRadio controller. This is still my intention but on reflection I think that it is too soon for me to rush to production. Here's my current thinking:<br />
<ol>
<li>The software really isn't complete yet. It's good enough for my style of operating (HF CW only) but I feel nervous about letting it out into a more general user environment. And, of course, I know where the quirky features are and I'm willing/able to work around them. There are several Flex control functions that I still need to write, mostly to do with modes that I don't really use or functions that I haven't found much personal need for. </li>
<li>The hardware development, including PCB design, appears to be complete but I can't really be sure that there won't be another revision if software advances change the requirements.</li>
<li>There is a pile of documentation that I will need to write to give others a reasonable chance of building to my design. I'm not really ready to start on this yet. </li>
<li>I only have a very few people showing interest so far, certainly far fewer than is needed to justify a PCB production run of either mini or maxi boards.</li>
<li>I don't have a lot of time at the moment! Too many hobbies demanding my retirement time, especially during the summer months. This sort of thing is really a winter project.</li>
</ol>
So my plan is to aim for PCB manufacture and release of the software towards the end of the year, perhaps around RSGB Convention time, although that might be somewhat optimistic. If you are one of those keen to get started, I hope you will understand.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com3tag:blogger.com,1999:blog-5339822418442268210.post-57117368083993418112017-07-16T15:58:00.001+01:002017-07-16T15:58:48.647+01:00New featuresIt's been a bit of a busy time chez WGV recently, so I've not been able to make much progress on the controller project. The last few days has, at last, seen a flurry of activity and there are new features to report!<br />
<br />
Firstly, I had been concerned for some time that the number of switch functions that could be supported, especially on the Mini-controller was insufficient. There is, of course, an easy solution that is fairly common in modern equipment - short and long presses of the same physical switch for differing functions. So that's what we now have. This effectively doubles the number of switch functions for a given number of physical switches and I think that should be adequate.<br />
<br />
This involved quite a few changes! Firstly the I/O controller code had to be changed to recognise different hold times and respond accordingly. It still has no idea what these switch presses mean - it simply passes on the fact that the switch has been pressed for a long or short period. This in turn has created a minor change in the I/O protocol to the Host controller but it's been possible to do this without sacrificing backwards compatibility.<br />
<br />
Of course the Host controller needed quite a fair chunk of new code, as did the Profile Manager. This is all completed and the code is now in use as my main station system, so I should tease out any bugs quite quickly. So far so good!<br />
<br />
Next, I realised that it is quite hard to always know what a switch press has done, a problem that is exacerbated with the new long/short press code. I already had a solution in the way that encoder changes are shown as a pop-up note on the controller screen, so I have adapted that code to also show switch press functions.<br />
<br />
With this work completed, I realised that I could afford the luxury of a few new switch functions, so we now have zeroing functions for the APF, noise blanker, wideband noise blanker and noise reduction functions. These can usefully be the long press functions of the existing, respective on/off switches. That's how I have configured it on my controller and it seems logical enough.<br />
<br />
Finally, I have significantly improved the code around radio connection, detection of radios that have disappeared off the network and reconnection. This is really a tidy up exercise but the code is now much more robust in this area.<br />
<br />
It's nice to be back cutting code!John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-84182435231654357512017-06-19T10:12:00.000+01:002017-08-19T14:29:45.414+01:00The integrated MaxiBriefly 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 <i>heavy lifting</i> work of the controller application.<br />
<br />
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 <i>The Integrated Maxi</i>.<br />
<br />
A typical FlexRadio-based station (mine, as it happens) has the following amateur radio software applications:<br />
<ul>
<li>Logging program</li>
<li>Mapping application (e.g. DXAtlas)</li>
<li>Propagation application (e.g. IonoProbe)</li>
<li>Smart SDR</li>
<li>Maxi Controller application</li>
</ul>
...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?<br />
<br />
The problem is finding a suitable Windows platform. Required attributes are as follows:<br />
<ul>
<li>Sufficient processing power and memory to handle all required applications</li>
<li>Support for up to three screen: one for Smart SDR, one for the logging and support applications and one for the controller display </li>
<li>Low power consumption</li>
<li>Good connectivity (network, USB)</li>
<li>Small physical size</li>
</ul>
That's quite a shopping list. I've started experimenting with the <a href="https://shop.udoo.org/eu/x86/udoo-x86-ultra.html" target="_blank">UDOO X86 Ultra</a>, 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.<br />
<br />
Here are the UDOO X86 Ultra CPU loadings for the above applications:<br />
<ul>
<li>Logging program (StarLog): <b>up to 3%</b></li>
<li>Mapping application (DXAtlas):<b> <1%</b></li>
<li>Propagation application (IonoProbe):<b> <1%</b></li>
<li>Smart SDR: <b>Typically 27% *</b></li>
<li>Maxi Controller application: <b>Up to 4%</b></li>
</ul>
* 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.<br />
<br />
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:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4zgcTzDFCvmFNVAZolrCTNeZmdkp1KOZtMhVAZEReyyozGQz_9z4OqGv1JgvIzv_5VhsRczzZ0Ri1VGGXhr94Hw_raN0IyyL-nvt6bxUWj7rffGuuNOtkS7NodE-_7jGcClDZvFPabA0/s1600/Udoo+test+harness.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4zgcTzDFCvmFNVAZolrCTNeZmdkp1KOZtMhVAZEReyyozGQz_9z4OqGv1JgvIzv_5VhsRczzZ0Ri1VGGXhr94Hw_raN0IyyL-nvt6bxUWj7rffGuuNOtkS7NodE-_7jGcClDZvFPabA0/s320/Udoo+test+harness.jpg" width="320" /></a></div>
<br />
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!<br />
<br />
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.<br />
<br />
So far so good. Testing continues...John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-56447082287726175882017-06-16T12:17:00.000+01:002017-06-16T12:38:11.785+01:00Belated updateI'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.<br />
<br />
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!<br />
<br />
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.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3AJooIylpX6JxOyQn4WA65S5vCKz43drGcjmeVYEHAEAy-EfvK_uN_yghe_95PYnDxRohSr9oSI_D6K7F3JRkwVGx8BtrvZzmX9prnacaO8KXYGkGQZIBJUFhWckyH3Rk8j23Zo-G60o/s1600/Udoo+X86+Ultra.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="685" data-original-width="941" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3AJooIylpX6JxOyQn4WA65S5vCKz43drGcjmeVYEHAEAy-EfvK_uN_yghe_95PYnDxRohSr9oSI_D6K7F3JRkwVGx8BtrvZzmX9prnacaO8KXYGkGQZIBJUFhWckyH3Rk8j23Zo-G60o/s200/Udoo+X86+Ultra.png" width="200" /></a>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 <a href="https://shop.udoo.org/eu/x86/udoo-x86-ultra.html" target="_blank">Udoo X86 Ultra</a> 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.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-19938925339817479702017-04-09T14:17:00.000+01:002017-04-09T14:27:09.213+01:00Going internationalIt was great to see lots of people at the GMDX convention last weekend. My presentation seemed to be well received and generated a good number of in-depth questions. It was the right decision to not do a demonstration as part of the presentation: there wasn't enough time and it would have been too disruptive. Instead I set up a demonstration station in the coffee area and had a large number of interested visitors with often quite technical questions. It is clear that there is a lot of interest in SDR these days.<br />
<br />
<a href="http://www.dxconvention.com/" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img alt="http://www.dxconvention.com" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIbfC9bd30DgFOq84A-64tapxjitseQ_C6k07f0C6YhK5T64oAJEd_43nI1fS35E3dDo7QEX2d8EH6U8sUWgo_ZSZm274ESGXWiohsieAkS5HzlmGRLVObOMpI4jV2kdSvpONRgzPWpks/s1600/2017logo-nb-150.jpg" /></a>My mind now turns to the <a href="http://www.dxconvention.com/" target="_blank">International DX Convention</a>, more commonly known simply as Visalia. I will be giving a broadly similar presentation there on Friday 21st April at 10:30 in Charter Oak, rooms A/B/E. Again there will be no demonstration but the plan is to have my controllers on the FlexRadio booth. If possible I will try to connect one of them up to a Flex radio - I am sure they'll have one or two there!<br />
<br />
If you're a delegate at the convention, please do come by and say hi.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-3855115239827698632017-03-31T11:58:00.001+01:002017-03-31T11:58:28.065+01:00GMDX Convention<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5sZhSVbPK8EfRl9kyoFoZmo3qgMS5UwM3oxq4lSSgzKs0vdeRFmf22tBMaFKt7acIwa6CR4SRanPfoUTf-HNH88Egv7rOP24mLwFQw0eRlnBWD8eS0y6c_1UPxKrvVf2hgu32YdQ1sTM/s1600/gmdx.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5sZhSVbPK8EfRl9kyoFoZmo3qgMS5UwM3oxq4lSSgzKs0vdeRFmf22tBMaFKt7acIwa6CR4SRanPfoUTf-HNH88Egv7rOP24mLwFQw0eRlnBWD8eS0y6c_1UPxKrvVf2hgu32YdQ1sTM/s200/gmdx.png" width="200" /></a>I'm <span id="goog_977460494"></span><span id="goog_977460495"></span>starting to pack up everything ready for the GMDX Convention tomorrow. I'll be presenting my paper at 15:30 but there will not be time to attempt any sort of demonstration during the presentation. Instead, I hope to be able to set up a demonstration in the adjacent room, where coffee is served and I will try to man that during break times.<br />
<br />
I will have both mini and maxi controllers running but as my laptop is somewhat video ports challenged I'll only be able to display either the mini OR the maxi screen actually on the controller's built in display.<br />
<br />
Looking forward to seeing lots of you there.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-73480365249595642612017-03-30T23:55:00.001+01:002017-04-09T14:23:52.205+01:00PCB updateI now have a few requests for PCBs and am planning to place an order for 10 of each board - mini and maxi - in the next few days. The cost difference per board between 10-off and 25-off quantities is under $1, so there is no real advantage in taking the risk with a larger quantity.<br />
<br />
If you think you might want a board or two please do let me know - full details are <a href="http://g3wgvflex.blogspot.co.uk/2017/03/pcbs-4-u.html" target="_blank">a few posts below this one</a>.<br />
<br />
<b>Update 2017-04-09</b>: The PCB order will not now be placed until I return from Visalia.Too many issues to resolve in the time available and it was always going to be tight on delivery time scale, so it's better to wait until I am back from my travels. John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-55223584585694523672017-03-28T22:30:00.002+01:002017-03-28T22:30:41.659+01:00Mini controller finishedThe mini controller is in its box and looks great! This should be a really good form factor for remote operation away from the shack.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgDTJpprGIqiWTImURFTwm9UXkhXQpzV17ggBr1S2scJGVsxMAVrkxW8m1CNEVApOUJJF-Iw2q42i7gh-BaO_0Ho7gj_Qu-HuTAF0_tiEDKJT-L06jAdodMSeBQ1f5J5f1HUMXP5RK8Ik/s1600/Mini+completed.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgDTJpprGIqiWTImURFTwm9UXkhXQpzV17ggBr1S2scJGVsxMAVrkxW8m1CNEVApOUJJF-Iw2q42i7gh-BaO_0Ho7gj_Qu-HuTAF0_tiEDKJT-L06jAdodMSeBQ1f5J5f1HUMXP5RK8Ik/s320/Mini+completed.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Showing VFO-B as the control VFO (note underlined frequency!)</td></tr>
</tbody></table>
I'll be taking both the Mini and the Maxi controller to the GMDX convention this coming weekend. All I have to do now is finish my presentation...<br /><br />John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com1tag:blogger.com,1999:blog-5339822418442268210.post-81227855576559379522017-03-28T22:23:00.000+01:002017-03-28T22:23:01.819+01:00Maxi controller QRVToday I completed construction of the Mk II Maxi Controller and put it into service as my main station radio controller. This involved moving the host controller code over to my station PC - the first time the code has been fully separated from its development environment.<br />
<br />
The development environment is a considerably more powerful system, so I was interesting to see how the controller would work on a less powerful and, perhaps, more commonplace processor. In fact only one problem emerged - it was necessary to add a few lines of code to ensure that the default Windows time slice was set correctly so that the many timers in the code would work reliably. This had not been a problem on the development machine but it was soon readily apparent on the station system!<br />
<br />
So this is a big step forward today. The Mk I controller has been retired and I am now fully operational with the Mk II hybrid architecture. So far it seems to work just fine, although conditions are poor and there's not much to work.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHFU9K-hiANFG0Qm2M0LI0VNdVnNykKKBtwqXtQ59iwlCqhQ3WrAQ5hhQpOh2sCGbE36mWTQ6mMkuiBVGaYtqDQA2QDSWIqcy3u-848YwbVfxNsyaaysZAZ12qGJHIJMvT-tNcS7d8uTg/s1600/Maxi+in+its+chassis.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHFU9K-hiANFG0Qm2M0LI0VNdVnNykKKBtwqXtQ59iwlCqhQ3WrAQ5hhQpOh2sCGbE36mWTQ6mMkuiBVGaYtqDQA2QDSWIqcy3u-848YwbVfxNsyaaysZAZ12qGJHIJMvT-tNcS7d8uTg/s320/Maxi+in+its+chassis.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Big empty box! All the Maxi hardware is on the panel PCB</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi20T472eeWSEjj43heTcVfDFJozzi1gbS9GWz1zbd8vDwS5LyqHrLZW1ROwWac__G3fXlHUDuqbnLFW8Kjl3pk8MOO-CKxpbVUEL5bpdv2tGpUtQVBXSHzsyaXhREZRTj1RBuklRXldhs/s1600/Maxi+in+station+2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi20T472eeWSEjj43heTcVfDFJozzi1gbS9GWz1zbd8vDwS5LyqHrLZW1ROwWac__G3fXlHUDuqbnLFW8Kjl3pk8MOO-CKxpbVUEL5bpdv2tGpUtQVBXSHzsyaXhREZRTj1RBuklRXldhs/s320/Maxi+in+station+2.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">At least the box can be used as a base for the microHAM</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvmUy-KbpPeQUrkkSHv4rQ3xf7sWk5w3yN8S9yzfXiC7Dcc_Dt3sIRjbnG7MLfBivC6CeNOaxFu7diFxdVgAoSIOK3GBMtF8oWTL2fpO2Klf8Z3KAj-03WIMiD7JMotBVTL-QXiIAwl34/s1600/Maxi+in+station+1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvmUy-KbpPeQUrkkSHv4rQ3xf7sWk5w3yN8S9yzfXiC7Dcc_Dt3sIRjbnG7MLfBivC6CeNOaxFu7diFxdVgAoSIOK3GBMtF8oWTL2fpO2Klf8Z3KAj-03WIMiD7JMotBVTL-QXiIAwl34/s320/Maxi+in+station+1.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A general view of the 'WGV station</td></tr>
</tbody></table>
<br />John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com1tag:blogger.com,1999:blog-5339822418442268210.post-88984007252102604142017-03-21T23:06:00.000+00:002017-03-21T23:06:08.384+00:00PCBs 4 U?As long term followers of this Blog will know, I have now designed and prototyped two printed circuit board designs: A single VFO knob mini-controller and a two VFO knob maxi-controller. <br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghH8jrIJwWaRIhQLI1L4dK6l3tYm-mbGWOpDr9bVKaO8bjN28E0gvd9kYzwEtt9i2DL8haOqk1dGC-Nwbd_I90x41Ov2QtjjqswfSfYD9Pz7ZLOSproAKf3TzHp-qa_lFjt-DNM6nn-OE/s1600/Mini+controller+PCB+front.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghH8jrIJwWaRIhQLI1L4dK6l3tYm-mbGWOpDr9bVKaO8bjN28E0gvd9kYzwEtt9i2DL8haOqk1dGC-Nwbd_I90x41Ov2QtjjqswfSfYD9Pz7ZLOSproAKf3TzHp-qa_lFjt-DNM6nn-OE/s200/Mini+controller+PCB+front.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The mini-controller PCB</td></tr>
</tbody></table>
These PCBs work well and the time has come to decide whether to make them available for others to build their own controllers. In some respects it would be nicer for potential builders to come up with their own physical layouts, in pursuit of one of the main objectives of the project: a fully bespoke solution.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWWS-Jc1vdfWcU0gZlaA583ZZ-0WkefRstkevy_HPFLe8oXHZ4-r1vjbu38t-EyYliaQBlBYXTLXoSj_lEnJfZu4bJXh3Wl2Msdq6EW7Rg6nQYS7ibIOs_2TuKrg_g1VBtqXNasyE9mZQ/s1600/MK+II+PCB+front.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="85" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWWS-Jc1vdfWcU0gZlaA583ZZ-0WkefRstkevy_HPFLe8oXHZ4-r1vjbu38t-EyYliaQBlBYXTLXoSj_lEnJfZu4bJXh3Wl2Msdq6EW7Rg6nQYS7ibIOs_2TuKrg_g1VBtqXNasyE9mZQ/s200/MK+II+PCB+front.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The maxi-controller PCB</td></tr>
</tbody></table>
Not everyone will want to do that, of course. For those that want to brew their own I will publish full source code for both the I/O controller and the Host controller. I'll make the PCB "Gerber" files available and I'll also publish DXF files for the panels I have designed, suitable for CNC milling.<br />
<br />
I'm looking into PCB production costs. Perhaps unsurprisingly but disappointing, nonetheless, I can order PCBs from China and have them here inside a week for less than half the cost of an equivalent UK-based service, even after import duties and VAT are accounted for. Costs, landed in the UK, look likely to be in the order of<br />
<br />
Mini controller: £12.00<br />
Maxi-controller: £15.00<br />
<br />
These costs are based on minimum orders of ten of each. The price comes down somewhat at higher volumes.<br />
<br />
Who who wants one (or more)? Contact me via e-mail (see QRZ.com). I'll start putting a list together and see where we get to.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-50735440399774094322017-03-20T15:02:00.000+00:002017-03-22T19:27:32.261+00:00Mini controller builtThings have been a bit hectic at 'WGV Towers recently, so there hasn't been much progress to report on the mini controller. I did get it built and have spent some time playing with the software.<br />
<br />
In fact rather few issues remained and the mini controller works very well indeed. I have a few minor additional functions that I'd like to implement to make the mini controller more flexible but in general I think we're pretty well there.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj05C2Ec6CPJtEu9HXWtNA8Q6_2dBZG2GdMZwO_8WNaEg-fhWKKiqdXJ660dmPO3j9eyqnMSS4BvxuskCPK8Dt_Kes_P7tHo3jukBseSlpbR2P30mjpUPrDP-fB9qvbU36TWqFUp9ACCPM/s1600/Mini+controller+PCB+rear+-+built.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj05C2Ec6CPJtEu9HXWtNA8Q6_2dBZG2GdMZwO_8WNaEg-fhWKKiqdXJ660dmPO3j9eyqnMSS4BvxuskCPK8Dt_Kes_P7tHo3jukBseSlpbR2P30mjpUPrDP-fB9qvbU36TWqFUp9ACCPM/s200/Mini+controller+PCB+rear+-+built.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyBqDca5zhW64YVRnqnTkA93KV01bqejIZ58v3kD0cOKEYbmjbjl2BX-8E5CkJ3lJHOtdMDPpaKmPR5UzQ-DfOQ-SrA8tHcieYwI1CPrYG5mhEGJqPV-EhLNKyEhA-61r4iTP52h4aT48/s1600/Mini+controller+PCB+front+-+built.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyBqDca5zhW64YVRnqnTkA93KV01bqejIZ58v3kD0cOKEYbmjbjl2BX-8E5CkJ3lJHOtdMDPpaKmPR5UzQ-DfOQ-SrA8tHcieYwI1CPrYG5mhEGJqPV-EhLNKyEhA-61r4iTP52h4aT48/s200/Mini+controller+PCB+front+-+built.jpg" width="200" /></a></div>
<br />
I'm just waiting for the mini controller and Mk II maxi controller aluminium panels to come back from CNC milling. I'll then be able to spray them and mount the PCBs, ready for the trip up to Stirling for the GMDX Group presentation at 15:30 on 1st April, A couple of weeks later I'll be heading off to the IDXC at Visalia, where I'm giving a similar presentation on Friday 21st April at 10:30. I'll post more about that in due course.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com2tag:blogger.com,1999:blog-5339822418442268210.post-43469459494066626412017-03-06T14:06:00.003+00:002017-03-06T14:06:46.666+00:00Mini PCBThe PCB for the mini controller has at last arrived! Of course it would turn up when I have a ton of other things to occupy my time but I hope to get around to populating the board in the next couple of days. Meanwhile, some pictures will have to suffice...<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ3Cg96wDUc8PPzBWrTMVrYwpy3EBO5_VH0YsHRYYFI6JbhPaeDuXQoqYA8ngXPZQyFS2b1vexbOZloPJrjWOS8WBkANTC_Dd10eZy5T_N93NjMTOc0PHOqfY4wbWsvS9qRU5SWEdOQrs/s1600/Mini+controller+PCB+rear.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="94" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ3Cg96wDUc8PPzBWrTMVrYwpy3EBO5_VH0YsHRYYFI6JbhPaeDuXQoqYA8ngXPZQyFS2b1vexbOZloPJrjWOS8WBkANTC_Dd10eZy5T_N93NjMTOc0PHOqfY4wbWsvS9qRU5SWEdOQrs/s200/Mini+controller+PCB+rear.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga_SlF15BFDsthYB8ds_kb6KYBrMbSRTxFPLhegqKrSNIyREsDYSenu9n09ZWn-cqgZ04ctK5dS3b5wcOz4eQWbx3aNfOkBHYgYZYjs4GVN3UbrpJUO6stEJlGyF1Eez0Fhj49bVupj24/s1600/Mini+controller+PCB+front.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga_SlF15BFDsthYB8ds_kb6KYBrMbSRTxFPLhegqKrSNIyREsDYSenu9n09ZWn-cqgZ04ctK5dS3b5wcOz4eQWbx3aNfOkBHYgYZYjs4GVN3UbrpJUO6stEJlGyF1Eez0Fhj49bVupj24/s200/Mini+controller+PCB+front.jpg" width="200" /></a></div>
<br />
The new panels are in for CNC milling and should, hopefully, be with me in the next week or so. Not really an urgent thing, as I can do all the software testing I need to do with just the PCB.<br />
<br />
I have three mini controller PCBs and will probably construct two of them, so I can test multi-controller capabilities. John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-67434940748934197592017-02-24T14:09:00.001+00:002017-02-24T14:09:47.142+00:00Mini controller PCB updateI have now finalised the mini controller PCB design and it has gone into production today, so I should have three PCBs by the end of next week. Next up is getting the front panels for the maxi and mini controllers CNC milled, hopefully by no later than the middle of March.<br />
<br />
It won't take long to build the mini controller board but I fully expect to uncover some new software issues once I have it running. The main issues will probably be around the use of a single physical VFO encoder to control two logical VFOs. Watch this space!John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-74634377059962514162017-02-21T23:45:00.000+00:002017-02-21T23:54:02.976+00:00Mini controller PCBThe (hopefully) final design of the mini controller PCB is now completed and should be going into sample production this week. The mini controller has a single VFO control which can be switched between VFO-A and VFO-B, eight push buttons and four encoders with optional push switches. The plan is that it will fit in a small sloping front instrument case and be suitable for remote operation from a hotel room or wherever.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDzPvOVxwFP-UUvomLWRRIMgZ7LJW6RN3501Ft6nZUSi4mhp7qM6N9hBiHquVigFNpfBsfKINNVRF8fP8VDVru4FrYXMK0Pvbi9ogXPhtyfKVraBQzwBONU5CsWHoelF1e9FBT4Md2cbA/s1600/FRCS0301-1-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDzPvOVxwFP-UUvomLWRRIMgZ7LJW6RN3501Ft6nZUSi4mhp7qM6N9hBiHquVigFNpfBsfKINNVRF8fP8VDVru4FrYXMK0Pvbi9ogXPhtyfKVraBQzwBONU5CsWHoelF1e9FBT4Md2cbA/s320/FRCS0301-1-1.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The mini-controller circuit diagram</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhanrmc00EelyRqnEnGvmONt3ATc3PY_9FYzFC1nvHfe1IHDmGW4wDzMnHp4PTUUidoU31DP8zLyKwM9fDDYnAoil5QDkRA7d0w0wUwQVcgDbwTMQlZu7XRbVmG2M3XcU9PEtKTn-jkTLA/s1600/G3WGV_Mini2-2-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhanrmc00EelyRqnEnGvmONt3ATc3PY_9FYzFC1nvHfe1IHDmGW4wDzMnHp4PTUUidoU31DP8zLyKwM9fDDYnAoil5QDkRA7d0w0wUwQVcgDbwTMQlZu7XRbVmG2M3XcU9PEtKTn-jkTLA/s320/G3WGV_Mini2-2-1.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">PCB layout<br />
</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg68JxD7mrB5GE73K-Vux9Y9KHq6DBNao1sFzSUkDwJ6uv1RZTklCkNGCuNcqW25y96DvFrflcFb8xZO86fTHip7oe0k1cP07U9DydX5vwF5QJ_m8nYyDVBBkFRD3VmNbznnFI2XHo6afw/s1600/Mini+controller+panel+outline.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg68JxD7mrB5GE73K-Vux9Y9KHq6DBNao1sFzSUkDwJ6uv1RZTklCkNGCuNcqW25y96DvFrflcFb8xZO86fTHip7oe0k1cP07U9DydX5vwF5QJ_m8nYyDVBBkFRD3VmNbznnFI2XHo6afw/s320/Mini+controller+panel+outline.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Panel layout</td></tr>
</tbody></table>
<br />
My plan is to have examples of both Maxi and Mini controller available for demonstration at the various talks I am giving this year, starting with the GMDX talk on 1st April.John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0tag:blogger.com,1999:blog-5339822418442268210.post-81306116117601867332017-01-23T15:33:00.001+00:002017-01-23T15:33:43.687+00:00G3WOS 6m BBQI've been asked to present on SDR and my controller project at <a href="http://www.gare.co.uk/bbq2017.htm" target="_blank">Chris, G3WOS's 6m BBQ</a> on 5th August 2017. This talk will be somewhat different, with a 6m slant and probably more operational anecdotes, with a little less technical content. Although I've been QRV on 6m for many years and always get on the band for the summer Es season, I wouldn't really consider myself to be a 6m aficionado, so I shall have to watch what I say :)<br />
<br />
See you there?John Linfordhttp://www.blogger.com/profile/08833630135480369122noreply@blogger.com0