Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

The DIY controller and a question for designers

IW7DMH, EnzoIW7DMH, Enzo Member ✭✭
edited November 2018 in New Ideas
Now that my controller is completed I am thinking about the best way to key the rig in remote mode.

Probably my idea is ****, but I am wondering if the CWX APIs will provide, in the next future, two new commands like KEY_LEFT_UP/KEY_LEFT_DOWN and KEY_RIGHT_UP/KEY_RIGHT_DOW. In this way a client could use this two commands to key the Flex rig using either a straight key or a paddle connected in some way to a PC or tablet. I only have some doubts about possible delays but it could works.

In the meanwhile, if you are interested in a DIY project, here is a link where you can find all the building notes http://iw7dmh.jimdo.com/arduino-flex-controller/

Below are some pictures and a list of the functions I have already implemented.






The encoder functions I mostly prefer are:

E3-E4 filter bandwidth - they works toghether in HIGH/LOW - SHIFT/WIDTH mode. A long click on one of the two knobs can normalize (reset) the bandwidth to a default value (400 Hz for cw, 2700 fro SSB, etc.).


E7-E8 in display mode: they can set panadapter zoom and min/max magnitude. Much better then equivalent mouse functionality.

VFO in display mode: it set the panadapter center frequency but doesn't change the current VFO frequency. In this way you can go up and down the band without loosing the current qso frequency. I hope this function will be implemented in the new Maestro as I find it really helpful.

I used my it in the last WPX contest and in some DX contacts and, really, it changes the way you can interact with the rig.
Thank you Flex for giving us a great open Api system. 

73 'Enzo


  • edited June 2015
    Enzo, it is very impressive the work you have done. Thank you for sharing with the community.

  • Lee - N2LEELee - N2LEE Member
    edited February 2017
    Excellent Work !!!
  • Lyndy BrannenLyndy Brannen Member
    edited June 2015
    Thank you Enzo  
    Gathering the parts  to build my own. 
    You have answered so many questions in just a few pages.
    Thank you for sharing your work. 
  • Kevin LaFataKevin LaFata Member
    edited January 2017
    Wow, that is VERY impressive. I love the look and design of the display too. And great job on finding the parts (like the encoder knob).  It's nice to know where to get one of those for projects like this!
  • IW7DMH, EnzoIW7DMH, Enzo Member ✭✭
    edited December 2016
    You'll find infos on each component I have used in the hardware page.
    The main knob is a weighted aluminium one like this http://www.audioselection.it/product.php~idx~~~3008~~4421ALUB~.html

    73' Enzo

  • Barry N1EUBarry N1EU Member ✭✭
    edited February 2017
    Beautiful.  Somebody should make a kit out of this and sell it to the rest of us, perhaps also providing a way to customize which settings are accessible.

    Barry N1EU
  • edited January 2017
    Enzo, any chance that you would release the source code for the controller?  Maybe I missed it somewhere, but all I could find is the bin file.

  • IW7DMH, EnzoIW7DMH, Enzo Member ✭✭
    edited December 2016
    Hello Steve,

    I'll release new updates of my libraries I refactored in the last weeks. Mostly after the WPX constest, when I tested on the field the controller.
    With the new libraries you can attach an event handler for each property in the main objects (Radio, Transmit, Slices, etc.) and you'll find the whole method set I used to send commands to the rig.
    You'll find also an array of "ready to use" meters (only 5 implemented) so you could display each value whithout having to deal with metering protocol. In my code it happens about 10 times per second.
    Libraries are about 50% of the entire project and the remaining code is specific to graphic display and knobs event handlers. Really I am not very "proud" of it. Even if it works I am sure you'll find better code around the web.

    I hope this can help you and other friends the would like to experiment with Flexrig and microcontrollers.

    73' Enzo

    Edit: Steve can you send me an email? I can't find your address anywhere.
            Thank you very much.
  • EduardoCarvalhoEduardoCarvalho Member ✭✭
    edited July 2018
    Enzo, Great design work here. Thank you so much for sharing it with the community. This is a great DYI project. Has anybody else ordered the parts and have an approximate cost for the project? Thank you, Eduardo Carvalho, KC8R
  • IW7DMH, EnzoIW7DMH, Enzo Member ✭✭
    edited December 2016
    Really I don't know, as I am non involved in any commercial activity.
    I don't sell anything and I am only interested in technology.
    You have to look at the hardware page to have an idea of parts you need and find related costs on the web.

    73' Enzo

  • IW7DMH, EnzoIW7DMH, Enzo Member ✭✭
    edited January 2017

    in the meanwhile, my tests go on and I would like to show you a (not full planned) feature offered by Windows 7 (and later os).
    As you can see in the pictures below I created a bridged network between wired and wi-fi ethernet cards.

    In this way the controller is connected to the pc via the ethernet cable and can connect the Flex 6300 through its wi-fi connection.


    An additional bonus is offered by the USB port that can power the whole Arduino set. In this way you can have and hybrid, portable and no-compromise ham station.
    Anyway I have to redesign the startup procedure, because, it seems that the controller can't get the IP address from the DHCP server when it uses a bridged connection. For the moment I solved this issue setting a fixed IP via software.
    73' Enzo

  • IW7DMH, EnzoIW7DMH, Enzo Member ✭✭
    edited January 2017
    Another little addition.

    Waiting for the official "remote cw" release I got from the junk an unused Arduino UNO board and an ethernet  Enc28j60 shield. I used both in my very first attempts to build my controller.
    So I implemented a client/server cw key using some kind of UDP protocol.
    Looking at the result I am still a bit astonished as now I have a real "take away" station and I am wondering if it could work over an Internet connection as well.

    Anyway the key parts are:

    - on remote side I used an optocoupler 4N35 to key, in a safe way, my 6300.


    - on client side I used an hacked RS232 connector following the schema you can see below. I also wrote a simple piece of code that can monitor com port status and sends UDP packets over the network.


    - on both sides I used the UDP protocol and I am wondering if it is reasonable. I run other tests using a tcp/ip connection but had no success, even in my small intranet. 

    Here is video where you can see my semi-serious remote station at work.

    73' Enzo

  • AivarsAivars Member
    edited September 2015
     Hello Enzo! Very nice project. Is it going to work with PowerSDR soft? Any plans on bigger screen(7" TFT) or more powerfull board?

     73!                                                                                          Aivars.YL2GVC
  • N3NERN3NER Member
    edited November 2018
    I know this is a old post but it would be great to get one of these.  Any thoughts about selling them?
  • IW7DMH, EnzoIW7DMH, Enzo Member ✭✭
    edited June 2018
    When I developed it, nobody was aware of Maestro.
    Now it doesn't make sense doing it and, if you don't have junk components, I find it a bit pricey for a DIY project. It is only a proof of concept and it helped me a lot to learn the Ethernet API and how these new rigs actually work (I could say think).
    Anyway I cans send you the whole source code if you like to do experiments.

    Best regards
  • John G3WGVJohn G3WGV Member ✭✭
    edited June 2018
    I don't agree that there is no sense in these controller projects now that we have the Maestro. Maestro is just one, albeit very good, idea for physical implementation - there are other opinions on what constitutes an ideal controller and it is very much an individual thing. Personally I am happier chasing the DX and contesting with my homebrew controller than I am with my Maestro but I would say that, wouldn't I!

    The great thing with the Flex API is that we have the choice. And, like you, Enzo, I have learned so much from designing and building my controller. I get a kick out of it every time I am on the air.

    73, John, G3WGV

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.