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.

TeensyMaestro

189101113

Comments

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    A huge thank you to Lasse, SM5GLC for designing and testing a PC Board for the TeensyMaestro!

    If you didn't want to tackle the point-to-point version of the project, here is your opportunity to build a really nice looking one using one of Lasse's boards.

    On the main page of my TeensyMaestro GitHub, (see link above), download Teensy_Maestro_PCB.zip. Start by reading TeenysMaestroPCB.pdf. Here Lasse explains how to order the boards and gives tips on placing the components. He also included a Bill Of Materials (BOM) in csv format for the components specific to the PC Board version.

    If you decide to take the plunge and build this project, please post your progress here; we would love to see what you do with it. While this is still probably not a beginner's project, it is by no means advanced. If you don't want to build the front panel yourself, Front Panel Express makes beautiful, engraved anodized aluminum front panels. Depending on what you have them do, they can get pricey, but they look great.


  • WX7Y
    WX7Y Member ✭✭✭✭

    Lasse, I am online to see how much and how long it would take to have it assembled and I am stuck at the "Bill of Materials" it has a error when I try to use the Tennsey_MaestroComponants.cvs file.

    Is there BOM files I am not seeing on the Download by chance? Or possibility you can send them to me, So far the complete built boards are About $12.00US which is cheep enough.

    Thanks a lot

    Bret WX7Y


  • WX7Y
    WX7Y Member ✭✭✭✭

    Oh thanks a lot Len for the heads up

  • WX7Y
    WX7Y Member ✭✭✭✭

    Lasse, Here is the BOM format they need


    Thanks

    Bret

    WX7Y




  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Bret,

    good information!

    I should have been a bit more clear regarding the BOM. This is what KiCad generates as default, and I had this merely to list all components that were used. As I wrote, I have not (yet) tried the assembly service, but I will for sure try it in the future. And my choice of components may be suboptimal considering assembly. It was more than enogh for me to just create the board, not having to consider JLCPCB do the assembly.

    If you do opt for assembly, please let us know how things proceed :)

    73

    Lasse SM5GLC

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Just a short update on creating assembly files... KiCad does not produce the needed files right out of the box, but there are scripts that would ease the job. First the BOM should speicfy the very component that JLCPCB do stock, or it will cause production delays and a higher cost. A compoent placement file can be generated from KiCad, but the columns need to be massaged to keep JLCPCB happy. It seems there is a script for this too!

    And finally a small caveat, I used 0805 pads slightly enlarged i.e. intended for Hand soldering. Not sure how happy JLCPCB would be.

    Right now I do not think I will try to generate the proper files for JLC, but encourage anyone to do so. The pcb-file will open in KiCad, and if there is some libraries or additional files needed just give me a shout.

    Lasse SM5GLC

  • WX7Y
    WX7Y Member ✭✭✭✭

    Thanks Lasse, I have a coupon and just wanted to use all of it so no problem, I can surely build my own.

    I'll get the parts and the boards ordered so I can get the project started.

    Thanks for the Reply and thank you so VERY much for the board design and sharing it.

    73 and thanks again

  • DenS
    DenS Member ✭✭
    edited November 2023
    Hi,
    I just found this group and the Teensy Maestro looks like a project I could use. I operate a 6500 remote on my local network and could use the two VFO knobs and the CW keyer portions only. The rest would be redundant for me. I have Teensy experience, the project is within my capabilities.
    Can someone help with a list of the parts needed for the screen, two VFO knobs and the CW keyer with the memories and the display screen.
    I've tried software / serial CW solutions without resulting in a really viable remote keyer. The T-Maestro looks like it will solve my CW issues and give me tuning knobs for contesting which I enjoy dabbling in.
    Thanks for reading this and hopefully some help.
    73
    Den W2DEN
    Rincon Ga.
  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Den,

    You will have a blast first building then using the TeensyMaestro! You find BOM and design ideas at: https://github.com/KD0RC/Teensy-Maestro-for-Flex-6000-radios And if you need more help, I'm sure Len KD0RC will chime in :)

    This is not a "kit" but if you read the earlier posts here, and the information at Github, you should have no problems get going.

    /Lasse SM5GLC

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    edited November 2023

    Hi Den, Welcome to the club! All you need for your described setup:

    Teensy 4.1 with the ethernet jack and cable.
    Display.
    Touch controller (optional).
    Enclosure.  Can be much smaller that the one in the BOM given the limited controls that you plan on using.
    2 optical encoders with knobs for VFO A and B.
    1 mechanical encoder with switch for CW Speed and the menu system.
    1 switch for power on/off (optional, but recommended).
    4 switches for menu up/down, VFO step up/down, RIT/XIT.
    6 buttons for 12 CW messages.
    1 button for PTT (optional, but recommended for remote operation).
    Small SD card for options and CW messages.
    Speaker for CW sidetone.  Really needs an amp that I have not yet integrated.
    Connectors for paddles, straight key, keyer output.
    Connector for PTT footswitch (recommended for remote operation).
    .01 caps to bypass the switches and encoder connections.
    1K resistors to add pull-up strength to the optical encoders (not everyone needs these, some need pull-ups on the mechanical encoders).
    

    If you have a Teensy 4.1 board handy, load the latest firmware (beta version a few posts back) and it should connect to your Flex. You will see a small SmartSDR pop-up window in the lower right-hand corner of your computer screen. This important first step verifies that you got the firmware loaded properly. I am guessing this part is already obvious to you!

    To make this work remotely, I use the SoftEther VPN. To test it before building, I recommend setting up SoftEther and just the Teensy with Ethernet and the TeensyMaestro firmware loaded. If you can see it connect across the WAN, you are in business and can safely buy the rest of the components.

    On the link that Lasse provided, above, you will find a BOM, User Manual and Builder's Guide. There is also a schematic in Word and KiCad format. Take a look at these and you will get a sense of what you need, where to get the parts and generally how to proceed.

    What is not in the BOM or schematic is the switch and connectors for automagically changing the Mic Profile when you select a different mic. Back a few pages (Page 6) on this thread is a hand-drawn schematic and directions for adding that capability. It won't be useful remotely, but I use it all the time at home.

    Always feel free to ask questions and make suggestions here. We would love to see your progress as you go, so don't hesitate to post plenty of pics.

  • DenS
    DenS Member ✭✭
    Thanks X 2.... I will start to put together my parts list. I have a couple of Teensies packed in boxes as I am between 'permanent' QTHs. May be easier to order one... I'll see.
    Can't wait to actually use my key again.
    I'll post as progress is made.
  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Sounds good, I look forward to seeing what you do with the project!

    The BOM on the GitHub site has links to the components on the various vendor sites, so it should be fairly easy to locate the parts. The prices have probably changed, but should still be in the ballpark.

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    TeensyMaestro V1.040 is now available on GitHub:

    *****************************V 1.040 * **************************
      Fixed bug where the red transmit indicator did not work properly when sending CW messages (Thanks Lasse, SM5GLC for finding this).
      Fixed Adafruit STMPE610 library to clear up conflict with the TSC2007 library (TS_Point ==> TS_Point610).
      Recompiled with Adafruit library updates to HX8357, STMPE610, TSC2007 and many others.
      Added automatic power off when the rig is powered down.  Stand alone mode still works if the rig is off when TM is powered up.
    

    Thanks to Lasse, SM5GLC for spotting a bug (and verifying the fix) with the transmit indicator when using the CW memories.

    Thanks to Dave, W4WKU for testing the new power-off feature. Now, when you power off your Flex, any connected TeensyMaestros will power off as well. If you power up the TM when the rig is off (and/or not connected), the TM will go into standalone keyer mode so that it can be used to key a non-Flex rig. Note that shutting down SmartSDR will not cause a TeensyMaestro power-down; it is powering down the rig itself that causes the TM to shut down.

    Adafruit changed the STMPE610 and TSC2007 resistive touch controller libraries to be more consistent with one another. I was relying on the inconsistently named classes to have both controllers available in the code simultaneously. This allowed me to have one version of the code that works with either controller without re-compiling.

    To get around the issue, I made a minor name change in the Adafruit_STMPE610.h and Adafruit_STMPE610.cpp files (TS_Point is now TS_Point610). If you plan on experimenting with the code, you will need to replace the Adafruit_STMPE610 folder in your Arduino library with the one found in the release in GitHub. I doubt that any more updates to the Adafruit_STMPE610 library as this component is no longer manufactured (in other words, this should be a safe change to make).

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    David, CT1DRB sent me some nice pics of his progress with his TeensyMaestro. He is using the PC board that Lasse, SM5GLC designed. He still needs to cut and drill the front panel and install the jacks for CW operations, but it looks like all of the wiring is done. The jacks are problematic because the case walls are so thick.

    David, one thought on the jacks - cut a square or rectangular hole in the back of the case and put an aluminum panel over it. Then you can mount the jacks on the aluminum panel.

    So far, this build looks great and I am glad to see everything working well. Nicely done David!


  • ct1drb
    ct1drb Member ✭✭

    Hello Len,

    Well, I have to thank you, it is indeed a nice idea.

    The CW memories are missing yet, but will be a question to install them after jacks installation.

    Best 73 all es tks.

    CT1DRB/OK8RB

    David Quental

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Great David,

    looking good! Now the hardest part is left, getting it into a nice box! I am still trying to find the "best" box here :)


    73

    /Lasse SM5GLC

  • ct1drb
    ct1drb Member ✭✭

    Hello Len,

    just to tell you that maybe I have found a bug in TeensyMaestro, or possible a problem with the SmartSDR to macOS.

    With SmartSDR on Windows NB and NR work fine and I can see sliders on application working well.

    However, with SmartSDR to macOS they do not work well. I can change values of NB and NR on Teensy but on application sliders of booth do not move. If I move NB and NR on application it is replicated on Teensy but not vice-versa.

    If you want more tests let me know.

    Best 73.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Hi David, I think that must be an error in the SmartSDR for Mac API. I don't have a Mac, so I can't do any testing myself.

    I would suggest reaching out to Marcus, the author of SmartSDR for Mac. He should be able to look into it.

  • ct1drb
    ct1drb Member ✭✭

    Hello Len,

    ok, I will do it, no problem at all.

    Best 73 es tks.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Another TeensyMaestro is on the air... David, CT1DRB has his working and in the box. Looks great David!

    He had a bad SD card which caused the unit to reboot periodically. A new SD card resolved the issue.


  • KD0RC
    KD0RC Member, Super Elmer Moderator

    TeensyMaestro V1.041 is now available on GitHub:

    *****************************V 1.041 * **************************
      Fixed bug where the red transmit indicator did not work properly when sending CW messages when Breakin is off.
      Fixed several compiler warnings in FlexRigTeesny.cpp.
    

    Minor bug fix. Currently using Arduino V2.2.1 and TeensyDuino V1.58.1 for those who are looking to experiment with the software.

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Finally boxed my Teensy... Took what I could find to make a box, and it keeps the wires tuced away. Will have to do for now. But have to get some labels though :)

    73 and HNY

    /Lasse


  • ct1drb
    ct1drb Member ✭✭

    Hello all,

    I hope you had a fine XMAS with your families as well.

    Nice box indeed Lasse and my thanks and congratulations too.

    My TeensyMaestro is almost ready only missing labels too :) ;) .

    Morse works too but I find it a bit weird, it seems not perfect, but maybe bad configurations in my side.

    Here you can see my TeensyMaestro, again a huge thanks to Lasse and to Len for this excellent tool to our Flex radios.

    To all of you my best HNY 2024 with plenty of health.

    CT1DRB/OK8RB

    David Quental



  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Congratulations guys, these look great! I hope that you enjoy them as much as I enjoy mine.

    David, what issue are you having with CW? If I can recreate it, I will look for a solution.

    Lasse, I got your message about stopping a CQ with the paddles. I'm not quite sure that I understand the problem, but I will experiment with it today to see if I can replicate it.

  • ct1drb
    ct1drb Member ✭✭

    Hello Len,

    how are you doing?

    Tks for your congratulations.

    About my CW issues it seems now they are gone, maybe just my impression but now CW is working well. In case of problems I will let you know.

    Tks all.

    Best 73 all.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Ok David, sounds good.

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    I discovered a minor TeensyMaestro debounce issue with the CW paddles and straight key. When operating in IAMBIC mode, I could not detect it although it may have been happening all along. When operating in mode C (Cootie/Sideswiper), I would occasionally get one of the paddles to stop operating until I released it. In my case it was almost always the dash paddle. It was happening without hitting the dot paddle simultaneously.

    The issue was reading a paddle state during a contact bounce. This made the software think I was releasing instead of closing the paddle. To fix it, I now do a loop of 20 reads with a 50 us delay. If it finds a paddle closure, I exit the loop and execute the paddle closure logic. If it doesn't find a paddle closure, it falls out of the loop and executes the paddle release logic.

    I also found another more serious problem with the Cootie key mode. If both paddles were pressed together by accident, releasing one of them would stop the other, even if the other paddle was still held down. I simply added a read of both paddles to the dit and dah cootie routines and keep keying if either or both are pressed.

    I would have never discovered this, but am trying to learn to key cootie (sideswiper) style with my dual-paddle key. I am hoping to be practiced enough to use it during Straight Key Night. I apologize in advance if you stumble across me using this setup on the CW bands...

    Can someone load this new code and let me know if it works OK in your environment? It has been working great for me all day today, but different keys and paddles bounce differently... If it works well for a week or so, I will release it to GitHub.

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Spent some time with 1.042 and concentrating on the CW issue. Did the same "testing" as with 41, and it seems that the debounce issue really was causing my problems as I have yet to notice any hang-ups with 42B

    Thanks for the fix!

    HNY

    Lasse SM5GLC

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Excellent! Thanks for testing this Lasse, I really appreciate it.

    The way my contacts bounce didn't cause me many problems, so this went unnoticed for quite a while. I will put the final version out to GitHub sometime today.

    I did try my Cootie Key mode, but am just too entrenched with squeeze keying to make the switch. During Straight Key Night, I had to move to my good old Nye Speed-X key.

    There is nothing like SKN to remind you how nice a good set of paddles is to use!

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    TeensyMaestro V1.042 is now available on GitHub:

    *****************************V 1.042 ****************************
      Fixed minor key and paddle debounce problem.
      Fixed Cootie key problem where hitting both paddles unkeys the opposite paddle under certain conditions.
    

    Thanks for testing this Lasse!

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.