short & long Teensy footprint / pin compatibility?

Status
Not open for further replies.

epicycloid

Well-known member
We are working on a project where we want to have multiple stepper drivers driven by Teensy's.

I will start off by saying I am not a low level designer or developer, but I've made PCBs and written code, but nothing really sophisticated.

My design partner and I worked on two different stepper driver boards, a 2-driver board using a T3.2, and a 4-driver board using a T3.5 (mainly for the FPU, and initially thinking we needed 5V tolerance).

We designed the boards to be flexible and accommodate 3 styles of drivers:
1) The popular DRV8825-type Pololu driver footprints (socketed onboard)
2) A higher current 3A driver from Panucatt, Bigfoot BSD109A (socketed onboard)
3) Outputs from the board to i/f with external "industrial" type drivers, e.g. DMT542's (header output)

The Pololu's are fine with 3.3V signals, but the Panucatt's and most external drivers want 5V, so we incorporated 74HCT245's to manage and output 5V signals (with insights from this forum).

Paul seems to have kept (edge) pin numbering of the USB end of the short (T3.2) and long (T3.5 / T3.6) boards consistent, which sort of implies we could make a single 4-driver board design, that if a short size Teensy was used, could be a 2-driver board, using one 74HCT245, or if a longer T3.5 / T3.6 was used, becomes a 4-driver board, and needs to be populated with a second 74HCT245.

We are currently using the AccelStepper library, but in the process of transitioning to (a modified version?) of the TeensyStep library. We are not managing the low level timing and outputs, but relying on the libraries for that.

We vaguely recall reading there is some issue with doing this, but I can't find any post that clarifies / identifies the issues with this level of "plug and play" between the Teensy boards.

Can someone explain what differences / problems / pitfalls we might run into if we try to consolidate the design?

Not sure if I should ask about the T4 here or on that thread, but obviously we will have the same question about compatibility with that when available.

--Jon
 
Let me ask this again... can anyone tell me if there are, or what would be the compatibility issues with designing a socketed PCB that allows either a Teensy 3.2 or a Teensy 3.5 / 3.6, for the additional pins, to be dropped in?

TIA,

--Jon
 
Well there is the obvious form factor issues:
  • The back row pins on the 3.2 are in a different location than the middle row pins of the 3.5/3.6. Each of the LC, 3.2 and 3.5/3.6 have different pins in those 5 pin positions. These pins typically aren't soldered in if people by the Teensy with pre-soldered pins. So you might not want to use these pins if they are not needed.
  • However, one of the pins is the program button. It might be useful to bring out this pin so you can attach a normal momentary pin to it, so if needed you can program the teensy.
  • The 3.5/3.6 also have a reset button that might be useful to bring out. The Teensy 3.2 doesn't have reset on a button, but it has it on a pad underneath the Teensy. You might want to have a pogo pin to connect to that. Note, if any of your customers have the old Teensy 3.1 instead of the 3.2, the location of the reset pad changed between the two processors.
  • The 3.2 processor has a series of pads underneath the Teensy that can be brought out if you need more pins using pogo pins. Note, for these underneath pins, the same pin #'s are used as the 3.5/3.6, but the special meanings of the pins are different. If you need even more pins on the 3.5/3.6, there are pads there as well.

For my own reference, I created a google spreadsheet that tries to go through all of the pin differences between the Teensy 3.0, 3.1, 3.2, 3.5, 3.6, and LC processors:
 
Thank you Michael.

Duh, I guess I should have been more specific and said that for this application I've only focused on the edge pins, and none of the underside or end pins. That's what I was thinking, but just didn't say it. I have tried all the different schemes for bottom pins and socketing on the boards, and they just aren't all that straightforward for "simple" applications IMHO.

That said, adding a top-mounted header pin for the program pin might make sense with both boards, and could just be jumpered to the PCB somewhere common. If the T3.2 had a convenient reset, that would be good too.

That's a very helpful spreadsheet. Thank you.

--Jon
 
Last edited:
If you look at the bottom side of the 3.2, you can see a solder pad labeled 'RST'. If you solder a wire to that pad, and then connect that wire to ground, it will reset the Teensy.

As I said, the reset location is slightly different on the 3.1. Most people don't care these days, but I still have a few 3.1's lying around.

But a simpler approach is to dedicate one pin to be the reset. In theory, you should be able to use the code on the following thread to do the reset:
 
I suspect it may be helpful to realize that the pin left of pin 12 is a 3.3v pin and the pin left on pin 13 is a ground pin. If you use appropriate pull-up or pull-down resistors and MOSFETs, you might be able to deactivate the 3.6 parts of the board if a 3.2 is installed.
 
Thanks again Michael.

If you look at the bottom side of the 3.2, you can see a solder pad labeled 'RST'.
Yes, thanks, I've used it many times, along with various breakout boards that support it with pogo pins.

As I said, the reset location is slightly different on the 3.1. Most people don't care these days, but I still have a few 3.1's lying around.
I have successfully helped others "get started" by passing along almost all my T3.1's. :D

But a simpler approach is to dedicate one pin to be the reset...
Brilliant. I've never seen that little tid-bit, but I'm sure I just missed it in one of your numerous additions to the "wiki coming" thread.

I suspect it may be helpful to realize that the pin left of pin 12 is a 3.3v pin and the pin left on pin 13 is a ground pin. If you use appropriate pull-up or pull-down resistors and MOSFETs, you might be able to deactivate the 3.6 parts of the board if a 3.2 is installed.
For this project, I am just trying to focus on a simple PCB, where the end user / builder can choose to drop in a T3.2 (or T4?), or a T3.6, and that will determine the number of available stepper drivers and ancillary components needed / used.
 
Brilliant. I've never seen that little tid-bit, but I'm sure I just missed it in one of your numerous additions to the "wiki coming" thread.
I may have seen it before, but I didn't save it in my local bookmark of Teensy hacks until recently, when I saw somebody wanting the same thing with an LC (which doesn't have the reset pad). Since I was recently wiring up an LC, I had it in the back of my mind.

I must admit to having one or two Teensy 3.0's that haven't been used in some time. The Teensy 3.1's at least are fine, as long as I don't need the higher power voltage converter.
 
The Teensy 3.1's at least are fine, as long as I don't need the higher power voltage converter.
I inadvertently "cooked" a couple T3.1's, and probably like a few others, was very happy when Paul added the beefier voltage regulator to the T3.2's.
 
the T3.2/3.5/3.6 for most part are similar same chips with added features on the higher revision models. Like more pins which contain additional peripherals, faster cpu, and ram, etc. But the core of it is very much the same. For the T4 it is a different beast, and the pin configuration is not finalized yet, and may or may not match the layout as the previous teensy generations due to a different processor, and peripherals on the bus may be using different pins, and those pins may/may not have the alternate functions of the pin lining up with the t3.x models neither.
 
Thanks for the insights. I'll just keep my fingers crossed that Paul will do what he can to maintain as much family consistency as is possible.
 
Status
Not open for further replies.
Back
Top