Thursday, June 4, 2020

Releasing xKEY - a Remote Keying Interface for the Flexradio 6000 series

Hi there,

finally I've got my act together and can announce the release of xKEY, a Remote Keying Interface for the Flex running on macOS.

I have written a bit about this project in the previous two blog posts so I don't want to repeat myself here again.

Just to reiterate the app has two main purposes:

  • Connecting a key (straight key or paddle) or an external keyer remotely to the radio
  • Providing a low latency local sidetone to the operator.


This time I skipped writing a "manual" but made a video instead where you can see the app in action with some explanations about setting it up and using it:



I hope this video explains everything. And it is also showing Dougs amazing work creating xSDR6000, a GUI client for the Flex running on macOS.

Many thanks for all the support, especially Doug, K3TZR for his excellent Library which makes accessing the radio so easy.

As usual xKEY is available on my Downloads page.

Happy remote CW keying!

Thanks and 73
Mario, DL3LSM

Wednesday, June 3, 2020

Using a Teensy as a CW keying interface

Hi there,

this blog post belongs to my latest project, a Remote Keying Interface for the Flex 6000 series radios running on macOS.

I have written an introduction to this project in another post.

This post is about interfacing a straight key or an external keyer (like a Winkeyer) to the Mac computer.

There is a Remote Keyer Interface project for Windows computers from Matt, NQ6N which uses a serial port for the keyer interface. Maybe I was to lazy to build that simple interface so I looked for another solution. And I discovered the Teensy family of micro controllers which sparked my interest as the USB interface on these controllers can present themselves as a MIDI device to the computer. And the Mac has low latency MIDI "on board".

This post is not about installing the development environment (Teensyduino) on the Mac. For this you'll find a lot of information on the Teensy pages.

So as a start I bought a Teensy 2.0 board and wired a simple interface on a breadboard (just KEY/PTT or left/right paddle and GND to the controller):



It's just the Teensy and a 3.5-mm stereo socket with the following connections:
  • Ground connects to GND on the Teensy
  • the Dah paddle contact (or PTT for the simple interface) to input pin 0 on the Teensy
  • the Dit paddle contact (or KEY for the simple interface) to input pin 1 on the Teensy

Then I programmed a simple Sketch for using the Teensy as a simple interface for connecting a straight key or an external keyer. Later I added a simple Iambic keyer to the sketch so I could toggle between these two modes.

You can find the sketch on GitHub here. It uses the Bounce2 library which you have to install in the Library Manager of Teensyduino.

Please make sure that you select your Teensy board in the Teensyduino IDE (Tools - Board) and that you select "MIDI" as the USB-Type (Tools - USB-Type).

After this was working I came across the information that on the "bigger" Teensy boards the USB-Type "Serial + MIDI" was possible and the idea was born if I could use the USB interface as a serial interface as a Winkeyer connection to a logging program and a MIDI interface for connecting to xKEY at the same time.

To try this out I bought a Teensy 3.2 board and wired the same simple connections like above:



I used the Teensy 3.2 but there are other Teensy boards which have this feature as well (but the Teensy 2.0 has not). These are just the boards I have tested and it is sufficient to buy the "bigger" board which can run both sketches. So I wasted some money buying the Teensy 2.0... 😃

Looking for a place to start I remembered the work of Goody, K3NG who implemented an Arduino based CW keyer which can interface to logging and contest programs via K1EL Winkey 1.0 and 2.0 interface protocol emulation. As Goody made the source code of his keyer available on GitHub I started to added code for the MIDI interface to this keyer creating a version you can find on GitHub here. In this archive I have deleted I lot of the files/headers for specific hardware or configurations which can be found on the original GitHub page. Most of the Libraries are still included (but not used at the moment) so that future enhancements of the keyer (speed potentiometer, display etc.) will be possible.

When you compile and load the sketch again make sure that you select your Teensy board in the Teensyduino IDE (Tools - Board) and that you select "Serial + MIDI" as the USB-Type (Tools - USB-Type).

The xKEY application detects which kind of MIDI keyer is connected (which sketch is running on the board) and behaves accordingly.

All in all it was fun to play with these kind of boards for the first time and create the possibility to use CW remotely at the same time.

More to follow...

Thanks and 73
Mario, DL3LSM



Tuesday, April 28, 2020

Introducing xKEY - Remote Keying Interface for the Flex

Hi there,

today I want to write about my latest project, a Remote Keying Interface for the Flex 6000 series radios running on macOS.

After having the radio with me for a year now to update xCAT and xDAX for multiFLEX and not being able to operate (no antennas here) I want to bring the radio to its remote location as soon as possible and start operating again. But the prospect of going nearly 100% FT8 again like the time before was really not exciting. I really want to operate CW again...

But there are no good solutions for remote CW for the Flex if you don't want to restrict yourself to CWX.. And buying a Maestro is out of budget.. But the API commands and features the Maestro uses for its CW operation are there and I decided to use them in a client application for the Mac called xKEY, a Remote Keying Interface.

The app has two purposes:
  1. Connecting a key (straight key or paddle) or an external keyer remotely to the radio
  2. Providing a low latency local sidetone to the operator.

Communicating with the radio was the easier part of the project. More thoughts went into interfacing the key or a keyer (like a Winkeyer) to the Mac computer.

There is a similar project for Windows computers from Matt, NQ6N (https://groups.io/g/RemoteKeyerInterface) which uses a serial port for the keyer interface. Maybe I was to lazy to build that simple interface so I looked for another solution. And I discovered the Teensy family of micro controllers (https://www.pjrc.com/teensy/). What has sparked my interest is that the USB interface on these controllers can be configured to show up as a MIDI interface on the computer. And the Mac has low latency MIDI "on board".

The project needs some more finishing touches before I can release it (especially writing the setup guide) but I wanted to give a little video teaser for the project (to see if there is interest). And here it is, my first video:




Thanks and 73
Mario, DL3LSM

Friday, February 28, 2020

New versions of xCAT and xDAX with multiFLEX support

Hi there,

it's been awhile since the last update..

A lot of things happened during the last 2 years (health, job and family wise) which took not only my time away but also my motivation to do any coding.. In this situation I could not even justify shelling out the money for the v3 upgrade as it would have been only for updating the apps..

I'm still not back to normal but I have slowly started again..

With a very positive result - I can now release the updated versions of xCAT and xDAX (versions 2.0) which do work with SmartSDR versions 2.5.1 and newer. When Flexradio switched to multiFLEX there was a significant change in the API so my existing applications did not work anymore.

So if your are running SmartSDR version 2.4.9 and lower on your radio please continue to use xCAT/xDAX version 1.0. If you are running SmartSDR 2.5.1 and higher on your radio you have to use xCAT/xDAX version 2.0.

Many thanks for all the support, especially Doug, K3TZR for his excellent Library which makes accessing the radio so easy and all the testers which helped me to find the bugs in the apps.

You can see the new versions in action in these videos of W1MSG and K3SF.

The new versions are as always available on the Downloads page.

I want to thank all members of the community for their patience in waiting for this update.

Thanks and 73
Mario, DL3LSM

Tuesday, April 9, 2019

Existing versions of xCAT and xDAX do not work with SmartSDR V3

Hi there,

today FlexRadio did release V3 of SmartSDR but xDAX and xCAT will not work with V3.

I did not expect such a big change at this time. My Flex is at my parents place since Xmas (I don't have any antennas where I live so I can either develop or operate remotely) and only after the Easter holidays I will be able to bring it here to do something with the apps. And I don't know how long it will take as my life is more than busy at the moment.

So if you need xDAX and xCAT for your operating you might have to stay with V2.4.9. Even V2.5.1 will not work as it uses the same changed API like V3.

Sorry about that..

73, Mario DL3LSM

Monday, June 4, 2018

New versions of xCAT and xDAX with SmartLink support

Hi there,

this post should have come 3 months ago but a long unplanned stay in hospital and the following regeneration delayed this release.

There are new versions of my apps available. The main addition to the apps is that they now support remote operation via SmartLink.



There are minor bug fixes as well but I did not keep a change log.

You can find the details about how to use SmartLink in the updated documentation.

The new versions are as always available on the Downloads page.

Thanks and 73
Mario, DL3LSM

Wednesday, February 7, 2018

New versions of xCAT and xDAX for the new radio models

Hi there,

as the new radio models are shipping I tried to anticipate what changes are needed to make xCAT and xDAX usable with these models (FLEX-6400(M), FLEX-6600(M)). As I don't have one of these models and I don't know someone who has and is a Mac user I could not test these changes.

So if you are using one of the existing models there is no need to change but if you've got one of the new models it is worth a try (and please report your success/failure to me). As there are no real changes I have also not updated the documentation (there is a major change in the works).

There were some reports in the community that existing versions of WSJT-X (on Windows) would not work with the new models. I guess this will be the case on macOS as well as the Hamlib version used in WSJT-X 1.8.0 does not recognize the IDs of the new models. In xCAT you can work around this if you set "Mask Flex-6300" in the "Setup" menu. With this your Flex will id as a FLEX-6500 to an asking CAT client application.

The new versions are as always available on the Downloads page.

Thanks and 73
Mario, DL3LSM