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 refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

PTT - CAT interface with Arduino Board

After having a lot of problems typing my Flex-6600 via my Com-port, I have made a .INO file which sends a PTT-Cat command (ZZTX1; ZZTX0;) every time that Pin-8 is connected to GND. on the Pin-9 there is an output that goes high so you can connect an LED to show the status of your PTT.

Now we can only hope that Flexradio does not remove the latest CAT protocols in the next version of Smartsdr (works on v.3.2.39)

Many thanks to G0ORX / N6LYT John for making this code :-)

73 "OZ1CT Ben


  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin

    Thanks Ben

    We are pretty good about not removing things.

    ZZTXx is a pretty popular command. :)


  • HI Mike

    I am trying to send this CAT command ZZSB or ZZSA but nothing happened ( moving the VFO up/down), it work on my Anan-100d Powersdr

    but nothing is happened in SmartSDR.... so that is why I write that "Flexradio remove the latest CAT protocols"

    OZ1CT Ben

  • Mike-VA3MW
    Mike-VA3MW Administrator, FlexRadio Employee, Community Manager, Super Elmer, Moderator admin
  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Hi Ben, CAT commands are great for certain things, but are limited in their functionality. The Flex API has the ability to control ALL functions of the radio. Enzo, IW7DMH wrote a Flex API library for the Arduino and created a shell program to make it easy to use. It uses TCP/IP, not USB.

    I modified the library very slightly to get it to work with V2 and V3 of SmartSDR. I also created a version to work with the Teensy 4.1 board from PJRC.com. The Teensy 4.1 is much more powerful than an Arduino Due, is much smaller than a Due, has built in Ethernet and is much cheaper than the Due with an Ethernet Shield (about $30 USD).

    With the Teensy 4.1 you can get the same effect as the ZZSA/ZZSB CAT commands. The API lets you get the step size and frequency of the 0 and 1 slices (A and B) and write back a new frequency. A little addition or subtraction and you can have your up/down button based on step size.

    I was intimidated at first (I had absolutely NO network coding experience and no C, or C++ experience when I started), but as I experimented with the API, I gained knowledge and confidence.

    Here is a link to my GitHub where my version of Enzo's library is stored:

    KD0RC/Teensy-Maestro-for-Flex-6000-radios: TeensyMaestro - a Teensy-based set of controls for Flex 6000 series radios. (github.com)

    FlexSignature works with the Arduino Due and FlexSignatureTeensy works with the Teensy 4.1 board.

    There is also the Node Red solution. Dave, WO2X and Alan, WA9WUD have built an impressive array of Node Red applications and tools that use the Flex API.

    If you (or anyone following along...) want to jump into the Arduino/Teensy API world, I would be happy to help you to get started. If Node Red is your interest, Dave and Alan have been very responsive to questions and requests for help on this forum.

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.