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

Options
189111314

Comments

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    Options

    Just want to make a "push" for this excellent gadget! Thanks Len for sharing you great work!!

    It's been a long walk for me, and never seems to be finnished enogh to share pictures :) But as I got more used to run KiCad design s/w, I just made a few PCB's which should ease the construction and also make it a lot tidier. The cost of having PCB's made have plummet through the floor, and one can have a PCB made and shipped for $25-30 and that is for 5 pcs :) Right now it will be two PCB holding 4 encoders each, and a larger board for the Teensy, which just holds the CPU, MUX'es and 5V stab. Knowing my ability to mess up things I tried to make the board as flexible as possible :)

    Why use PCB rather than proto boards? First I did not find a suitable proto board to use, and secondly this should look neat, and also speed up the construction, as one can use ready made cables with connectors (JST) to hook up encoders rather than cut-n-****. And finally it is so much fun designing a PCB and a few days later have it in the shack :)

    Hopefully I can post a few "real" pics in a weeks time on the progress. Now just a few screendumps of the PCB will have to do. Notice all the extra spare holes around the Teensy. And the connectors for LCD and keying is just a "place holder" right now. Once I have it all debugged, I will post the Gerber files for anyone who wants to use them.


  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    Wow, nice work Lasse! I'm sure some people who were on the fence about building one will take the plunge now. I have been asked many times if PC boards would be offered, so this is really great!

    I really like the extra holes for the Teensy pins! Any additional features in the future will be much easier to implement. They also provide good test points for debugging or further experimentation.

    Do you plan on including the touch controller board on your main board? The design is such that anyone who doesn't want touch functionality can just leave the controller board off.

    Also, do you plan to have a place for all of the .1 uf bypass capacitors? I would suggest through-hole capacitors for ease of soldering, but 805 sized SMD parts are not too bad to deal with.

    Once you are ready, I would be happy to put your gerber files and ordering instructions on my GitHub site - just let me know.

    I see that Adafruit now has a bunch of the touch displays in stock again so that is good news.

    I am looking forward to seeing pics of your actual boards in action!

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    Options

    I am using SMD for most of the smaller components. The footprints are slightly larger than usual, and are designed for hand soldering, and size 0805. As for the touch display, at first I all forgot about it, but then realized I needed to fit the controller in. But as the one I have on hand is the old one, and felt that trying to fit both styles in would not be worth it. So I just have to wire it up and "glue" it to the back of the display.

    I have other projects using the Teensy and a display, and where the display sits on the opposite side of the Teensy, and it looked pretty neat. But then realized several drawbacks so this time I settle for wires to the display. As for the magjack, I had it on the CPU board, but decided against it, at least for now.

    Knowing myself, this likely do have a few bugs, and it will not be the final design. But it should be flexible enough to try it out and reach a suitable final design.

    It is pretty cool do play with KiCad, beeing a free s/w it's amazing, and beeing able to get PCB done/delivered in under one week for just peanuts is icing on the cake! As an alternative to get the PCB's done in China, I have used Aisler, which are based in Germany. They are sponsors of KiCad, and one cool feature is that one just drops the native KiCad file on their webpage, no need to go via Gerber/Excellon. For us in EU, cost ends up pretty much the same (board+shipping+customs+VAT), but oddly the one from China is delivered way faster. In the US, you do have several options including OSH Park (seems pretty much the same time to produce as Aisler).

    I'll keep you updated on my progress :)

    73

    /Lasse SM5GLC

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    Hey @Phil VK4KW , it was nice to work you in the CQ WW contest this weekend! If you were using your TeensyMaestro (as I was), it will have been my first DX TM to TM QSO...

    I hope all is well with you and that your TeensyMaestro is behaving itself. Did you ever make the changes to personalize it for your use? If so, I would be interested in seeing a pic of your screen. If you need any help with customizing the software, I am happy to do what I can.

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    Options

    Just happened to check Adafruit, they seem to have the display in stock right now, 29 pcs! Hurry to grab one...


  • Phil VK4KW
    Phil VK4KW Member ✭✭
    Options

    I thought I recognised the callsign Len. Sorry for not saying hello. I was going as fast as I could to log callsigns...... 10m opened to NA beautifully and I needed to grab as much oif it as I could.

    The Maestro was not in use as I'm yet to fully integrate the gear into the station. I've not got the front panel layout back to me yet - I need to nag the bloke doing it. Modifications haven't been done yet either - I've been very slack in that respect. I'm still making a shopping list of requirements - once copmpleted I'll start to look at the code. Thanks for the offer of assistance - I'm sure that I'll need it!😁

    73,

    Phil

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    No worries Phil, I was also rushing to get as much as I could while the band was open!

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    edited November 2023
    Options

    Eagerly awaiting the PCB´s. Should show up today, just 5 days after sending in the files! Spent a few hours in the workshop fixing a panel. Layout is abi larger thanothers, but I prefere this. Also wanted a more upright front a la Maestro 😀 Hopefully it will spring to life during the weekend, and I can start to evaluate what is good and what I need to change in this h/w. Defenitely need to improve my drilling skills 😱And The VFO knobs is just what I had on hand today 🤣


  • ct1drb
    ct1drb Member ✭✭
    Options

    Hello Lasse and all,

    it is not bad at all and for certain will work well later on.

    Best 73 all and nice weekend.


    CT1DRB/OK8RB

    David Quental

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    Options

    It didn't take long to spot the few first errors.... **** me :) Still not worse than can do a simple patch, to verify everything is working OK. As the cost for the PCB's is so low I'll order a new set when I have done the debugging :) One of the errors was not noticing that the leg size on the encoder vary between swtich and encoder.

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    Looks good Lasse! I can't wait to see the final product!

  • bsalyers
    bsalyers Member
    Options
    I have all of the parts but have not yet started. You guys have lit the fire! Thanks
  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    Excellent, welcome to the club!

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    Options

    Making progress... still trying to iron out some bugs :)


  • ct1drb
    ct1drb Member ✭✭
    Options

    Hello all,

    Lasse, your TeensyMaestro is going to be very nice, my congratulations.

    Best 73 and have a nice weekend.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    Wow, great progress!

    Lasse pointed out that I did not set up the A and B sides of the encoders consistently (and certainly not in accordance with the schematic). For those of us using point-to-point wiring, it is just a matter of swapping wires if the encoder runs in reverse.

    However, if you use a nice PC board like Lasse's, then it is more difficult to swap wires. I will look into creating a version of the software that will accommodate swapping encoder pins via config file parameters.

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    After looking at the encoder routines, I realized that I don't have a good way to dynamically swap the encoder pins to get reverse operation. So, for now at least, I am not going to pursue this one any further.

    If you build one of these gizmos, check the rotation of the encoders as you build. That way you can more easily swap the wires.

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    As several folks are now building TeensyMaestros, I thought I would clear up the pinouts on the resistive touch controller. Note that the schematic has the I2C lines labeled 610_SCL and 610_SDA. These are the proper pins for the TSC2007 as well.

    The STMPE 610 is no longer available, so any new builders will be using the TSC2007. It uses exactly the same signals, but is not pin compatible with the STMPE610. For those who already have a 610 on hand, these are the connections to use: Note that Mode needs to be grounded to select I2C operation.


    For TSC2007 users, these are the connections:

    The X and Y lines are the same for both boards.

    The software will work equally well with either board. There is no difference in the load image sent to the Teensy board. To detect the touch controller automagically, I just do a begin on each class and look for a good return code (a true condition). Any time I read the touch screen, I just check GotTouch and GotTouchTSC then execute the appropriate class methods. If no touch controller is connected, all of the touch code is bypassed. This means that the TeensyMaestro can be built without a touch controller and it will work without re-compiling.

    // In Setup()  
    if (touch.begin())
      {
        debugln("STMPE610 Touch Controller Detected");
        GotTouch = true;
      }
    
      if (touchTSC.begin())
      {
        debugln("TSC2007 Touch Controller Detected");
        GotTouchTSC = true;
      }
    
    ...
    
    // In main loop
      if (GotTouch)  // GotTouch = true if STMPE610 controller is present
      {
        if (touch.touched())
        {
          if (ScreenSaveActive)
          {
            ResetScreenSaver();
          }
          else
          {
            TouchMenu();
          }
        }
      }
    
      if (GotTouchTSC)  // GotTouchTSC = true if TSC2007 controller is present
      {
        if (touchTSC.read_touch(&TSCX, &TSCY, &TSCZ, &TSCZ1) && TSCZ > 100)
        {
          if (ScreenSaveActive)
          {
            ResetScreenSaver();
          }
          else
          {
            TouchMenuTSC();
          }
        }
      }
    


  • ct1drb
    ct1drb Member ✭✭
    edited November 2023
    Options

    Hello all,

    how are you doing?

    Justo to tell you that today I got first pieces to TeensyMaestro, here you have picture:


    Best 73 all.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    Excellent! Nice to see another TeensyMaestro under way, David.

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    Options

    As I know there are one or two eagerly waiting for me to finalize the PCB, I though I should post an update on the progress. As of yesterday, my TeensyMaestro did pass the full operational test with a lot of help from Len KD0RC, thanks.

    As you can see on the picture there are several "bodge" jobs needed to correct my errors. But building this prototype have helpt me to hopefully design a better V2.0

    Teensy and MUX-boards are mounted in quality IC-sockets, meaning I do not use headers as they will not fit in sockets. I have yet to find a mating to headers that I like. Machined pins like this is perfect for the job:

    And it allows easy removal if there is a problem.

    All wires to the frontpanel will be conectorized on the PCB, I intend to use Molex KK254, there are two currently to be seen on the board. This will allow user to adapt the encoders wireing easily (and work on the front panel w/o having to care for the main PCB). My first idea was to use JST connectors and readymade cables, but JST cost more than Molex, have an odd pin distance (2.5 vs 2.54) and the wires sucks, as they tend to break at solder point. Drawback is to cut and mate all 50 odd wires from the frontpanel, but it may save time in the future! Crimp tools for the Molex can be found cheap on e-bay. But as KK is a 100 mil connector the builder can choose any type of connector using this, or just solder the wires to the board. The choice is yours!

    My plan was to use daugther PCB's fitted with 4 encoders, and run ready-made IDC cable to the main board, which would save both time and money. But as it turned out, this would be a lot more difficult to adapt to various types of encoders and also hinder the builder to have his own frontpanel layout, simple wires from the encoder ending in a KK connector will be used.

    The main PCB will have the option of have a 5v stab, and also reverse polarity protection, and a simple strap to select if the user tend to go for 5V or 9-15V input. Added are pull-up restistors on the MUX input ports, as I hade issues when all inputs had decoupling caps only. With proper pull-up these problems did go away. But the builder can choose what to use.

    Fitting of the touch controller, is not quite finalized, it can either be on the main board or sit piggy back on the display. This should be clear once I get closer to finalizing the layout of the new PCB. If I remember, I'll try to put proper labels on the board to help avoid attaching connectors in the wrong place.

    Finally, I will move the bottom MUX board, as it obstructs the removal of the SD-card, which are quite mechanical fragile (don't ask me how I know).

    Now if everything goes accordingly to the plan, a revised board should be here late next week, and populate the board is done in less than one hour. What takes time is to mount the connectors, but this could be done while QRX for the board to come.

    73

    Lasse SM5GLC

  • WX7Y
    WX7Y Member ✭✭✭✭
    Options

    Great Job for sure, I'm Excited for the final boards.

    You have the "True HAM spirit"

    73

    Bret

    WX7Y

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    Hi Lasse, thanks for the update, this looks great!

    A word of caution on powering the Teensy 4.1 board from a source other than the USB port. From the PJRC website:

    If you elect to cut the trace on the Teensy board, be very careful not to cut too deep. This is a four-layer board, and there is a trace right under the cut point. On another project, I cut the trace using more of a scraping motion to remove the copper without digging down into the substrate. Whatever you do, do not have Vin power connected at the same time that you have the USB cable connected to the computer (as when you are loading the software). Paul Stoffregen from PJRC warns of possible computer damage from this situation.

    I power my TeensyMaestro through the USB port plugged into a 2 Amp USB charger. The only reason I don't normally power it using a USB cable to my computer is that I am currently working on other Teensy 4.1 projects, and I keep loading other project firmware to the TeensyMaestro - DOH!!

    One thought on the SD card is to use a card extender cable to allow the card to be accessible without opening the case. They are available on Amazon for $8 or $9 USD.

    I am looking forward to seeing your final product!

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭
    Options

    Len,

    thanks for the warning.... will have to think about this. I can see the danger of forgetting to remove the external power when updating the f/w... OTOH, micro-USB is the worst of them all, far to easy to damage!

    I think I leave the decision up to the builder on how to power the unit, and the feature can be added if needed later.

    I don't think the "normal" user will edit much on the SD-card once it has been set, so having external access might be a bit of an overkill :) Except for the developer...

    Cheers

    /Lasse SM5GLC

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    What I do on another project is use a USB extension cable from micro USB to USB B (I think...). It is the larger square connector that is much more robust. On my TeensyMaestro, I use a micro to micro extension and haven't had any issues (I would use the B if I were to start over).

    I edit the SD card often. I have a different set of CW memories for different contests and one for general use. Most of the other parameters are set and forget, so they seldom or never change. I think this is one where some people will never change the SD card once they complete the project and others will change it frequently.

  • ct1drb
    ct1drb Member ✭✭
    Options

    Hello all,

    how are you doing?

    Today I got the Teensy 4.1 and the 3.5" TFT 320X480 Touchscreen:


    Of course I did the first test with it and here are results:

    Hope you like it.

    Best 73 es tks all.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    Options

    I like it! The client-connected message shows that you have successfully loaded the firmware.

    I would suggest wiring the display next. That will help debug the controls as you add them.

  • ct1drb
    ct1drb Member ✭✭
    Options

    Hello all,

    yes Len, I am wondering about it and right now I am heading to shop.

    Best 73.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator
    edited November 2023
    Options

    Hi David, Download the TeensyMaestro Builder's Guide if you haven't done that already. Here is a little slice of it:

    4.3     Display

    I recommend wiring the display first. With it, you will be able to more easily test the other components as you wire them in.

    Start by soldering across the IM2 jumper on the back of the display. This puts the board into SPI mode which is used by the TeensyMaestro. There are two sets of connectors on the display board, one for SPI and one for 8-bit parallel data. We will use only the SPI side of things.

    Image courtesy of Adafruit Industries.

    The display is designed to be used in either 3.3 V or 5 V systems.  It is very important to only power the display with 3.3 V, or you will k.i.l.l the Teensy board. There is a pin labeled 3-5V that should only be connected to 3.3 V in this application. Do not use the 3.3 V out pin.

    On the schematic, the display connections have flags that start with “TFT_”.

    On page 11, there is a picture of the Teensy pin numbering. It is confusing how they did that, so check the User Guide and let me know if you have any questions. From page 11:

    The Teensy board schematic component has a confusing set of pin numbering on it. Each pin has an easy-to-read number around the outside edge. These numbers do not relate to anything and are not referenced anywhere.

    On the inside of the component are signal names that start with a number. These numbers reflect what is printed on the actual Teensy board. As you make connections from the controls to the Teensy board, be sure to use the proper pin numbers.


  • ct1drb
    ct1drb Member ✭✭
    Options

    Hello all,

    ok, tks for the tips Len.

    Look, is this normal or not:

    Best 73 es tks all.

    CT1DRB/OK8RB

    David Quental

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.