Teensy 4.1 Beta Test

Wondering about best way to gain access to the bottom pins, when not used with external memory.

I can see a few different ways to get some/all of them:
a) Pogo pins - Sort of a pain especially with the .127...
b) Wondering about SMT connector. Maybe something like: https://www.digikey.com/product-detail/en/amphenol-icc-fci/20021121-00008C4LF/609-3694-1-ND/2209146 ?
c) Quick and dirty castellated smt. Not sure if I do one to put the new pins in line so could maybe plug into breadboard. Or just two rows just behind SDCard slot... May try to layout one or the other.

But now back to playing
I think the castellated smt might be the best.

Just for fun, I took one of my Sparkfun SOIC to DIP adapter (https://www.sparkfun.com/products/13655), and laid it out on the Teensy 4.1. It would require precise alignment and to have a deep enough solder to connect the board, In doing so, for the larger pad (near the middle row of pins), the holes for the DIP adapter seem to line up with the middle row of pins, which is not helpful.

I tend to think extending the 24 pins of the 4.1 by 4-6 pins on each side might be the simplest, and it would allow breadboarding. For just the memory pads, you would need the 5 common pads plus the 2 CS pads. But if you are going to do that, it may be useful to bring out on/off, program, Vbat, and maybe VUSB to the outside pins as well.
 
Just did a quick and dirty test of Serial1.setRX and setTX for T4.1 with the bottom pins and found bugs in the code... so pushed up a PR to fix those...

Now to see about some of the other functionality. Sort of touchy as I just used a male/female jumper pin and did simple test
Code:
#define SERX Serial8
void setup () {
  while (!Serial && millis() < 4000) ;
  Serial.begin(115200);
  SERX.begin(115200);
  //  SERX.setTX(53);
  //  SERX.setRX(52);
  SERX.setRX(48);
  Serial2.begin(115200);
  pinMode(13, OUTPUT);
}

uint32_t loop_count = 0;
elapsedMillis em_out = 0;
elapsedMillis em_in = 0;
void loop() {
  if (em_out > 250) {
    loop_count++;
    SERX.printf("S1 Out %d\n", loop_count);
    Serial2.printf("S2 Out %d\n", loop_count);
    em_out = 0;
    digitalWrite(13, !digitalRead(13));
  }
  if (SERX.available()) {
    Serial.print("IN1: ");
    while (SERX.available() || em_in < 100) {
      if (SERX.available()) {
        Serial.write(SERX.read());
        em_in = 0;
      }
    }
  }
  if (Serial2.available()) {
    Serial.print("IN2: ");
    while (Serial2.available() || em_in < 100) {
      if (Serial2.available()) {
        Serial.write(Serial2.read());
        em_in = 0;
      }
    }
  }

}
Where I tried with the setRX/setTX before and after begin and also without to make sure default pin still worked.
 
my beta seems to be blocked at San Francicso now for more than a week :mad: I don't even dare to order some QSPI PSRAM or a MagJack from somewhere... would arrive next year?
 
paul provided a limited number of RJ45's with magnetics and 6-pin ribbon cable for the pre-beta testing. I assume at some point he will provide schematics and BOM for the RJ45 connection.

I've shared that PCB on OSH Park.

https://oshpark.com/shared_projects/5epewE3O

The magjack used is RB1-125BAG1A.


Can anybody with one confirm that it's just wires and connectors?

One capacitor is required, between GND and the transformer center taps (connect them together). On the PCB there are 2 capacitors in parallel, 0.1 uF and 1 uF. The larger 1 uF is probably not needed. After designing this PCB I did other tests with a 22 nF (0.022 uF) capacitor which worked fine.

The other 2 parts are between the magjack shield and Teensy GND. Those are optional. Often 1 nF is recommended. TI's documentation also recommended a 1M resistor, so I put 2 parts in parallel on the PCB for the sake of having locations to solder those parts for testing.
 
@PaulStoffregen:

The German magazine "Funkamateur" for electronics and radio technology has announced to introduce the Teensy 3.6 in the next issue (end of may).
Maybe it would be a good idea to ask the editors if they would like to introduce the Teensy 4.1 instead (Maybe you would like to send them one?)

https://www.funkamateur.de/vorschau.html
 
Why without pictures? With a little luck, it might be for sale by then(?)

And the T4.0 still exists, too....
 
Do you really think it is a good idea to confront users (!) looking primarily into DSP functions with a Teensy still limited and troubled by the occasional incompatibility? Would that make a good "first impression"?
The Teensy 3.6 is well supported and "mature". The reader who is interested in going any further would anyway watch out for Teensy 4.x as well.
 
- Which incompatibilities?
- All DSP related things work as they do with other ARM Cortex-M or Teensy 3.6
(No wonder, they are exactly the same..)

??
USB and Audio-ADC is wip.. but what else do you mean?

3rd party libs?
 
Yes, especially the wip parts. And the third-party projects, that by now use 3.6, like different audio projects, SDR, just to mention a few. The net has more of these projects, while Teensy 4.x is still new.
Actually it depends on the motivation of the author, if he wants to refer to proven and working examples, or to bleeding edge possibilities that involve more own programming work and own research.
Anyway, how to communicate with the author about what is only Paul's decision, isn't it?
 
Indeed it's up to Paul.

The software-part is 99.9% the same for both, T4 and 4 1
Maybe you missed that they use the same MCU The ADC for Audio is in no way a showstopper. And Audio-PWM is not needed as there is a better solution. I have DD4WHs SDR running on the T4..and T4.1...so.. that works, for sure.
 
Is a magjack with transformers sufficient? I still have a few from a previous project of mine. But I thought you'd need a PHY chip in between the magjack and the T4.1?

Kind regards,
Sebastian

PS: My beta seems to be off track; PORTLAND OR -> SAN FRANCISCO CA -> SACRAMENTO CA -> EUGENE OR sounds not as if its destined to Germany ...
 
Is a magjack with transformers sufficient? I still have a few from a previous project of mine. But I thought you'd need a PHY chip in between the magjack and the T4.1?

Kind regards,
Sebastian

PS: My beta seems to be off track; PORTLAND OR -> SAN FRANCISCO CA -> SACRAMENTO CA -> EUGENE OR sounds not as if its destined to Germany ...

Bummer on the confused shipping delaying arrival :(

There is an onboard chip - PHY? - on the T_4.1 PCB that results in 6 pins for a header to the MagJack - to match the board shown in p#131 above - bottom shown here.
1c4fd10914f99882bc2c8eb7fe68119a.png
 
One pre-production 4.1 beta test board is still unclaimed. If you're on the list in msg #1 and want it, now's the last chance.

Again, we're only sending beta boards to the people on the list in msg #1. Everyone on that list who didn't get an early pre-production board will be offered a free 4.1 from the first production batch, shortly after we release Teensy 4.1.
 
Yes, especially the wip parts. And the third-party projects, that by now use 3.6, like different audio projects, SDR, just to mention a few. The net has more of these projects, while Teensy 4.x is still new.

Yes, this is a valid point for version 1.51, which most people not following this forum are still using. Very few people use the beta versions (but those who do are all the awesome people!)

Version 1.52-beta3 fills in all the missing audio stuff, except ADC, PWM and ADAT. I'm hoping to get ADC working before release. 1.52 also brings support for many audio I/O features you can't get on any Teensy 3.x board, especially use of two I2S ports (eg, TDM and I2S at the same time) and also SPDIF. Shortly after the 1.52 release I'm going to update the design tool with all the new Teensy 4 features and documentation about pins and notes about which things are and aren't compatible with each other. (yes, I'm aware of Frank's work on this too)

Regarding that article, my impression from the website is they've probably already written it. Usually best to not interfere. There will be plenty of time for new articles about 4.0 and 4.1.
 
Regarding that article, my impression from the website is they've probably already written it. Usually best to not interfere. There will be plenty of time for new articles about 4.0 and 4.1.

Yes, the paper has already been submitted some months ago to the German speaking HAM Radio journal "Funkamateur", BTW: the author is active on this forum :). [No, its not me]

My plan was to take that paper (which will deal with DSP on the T3.6 for radio reception ) as a starting point for a separate paper dealing with the Teensy Convolution SDR (with the T4.0). I agree, the DSP parts will not differ significantly between T3.6 & T4.

However, due to time restrictions, that follow-up will probably not be submitted / published until late this year.
 
In response to #76 (and AlanK's reply #78) I connected 16 LEDs to pins 19, 18, 14, 15, 40, 41, 17, 16, 22, 23, 20, 21, 38, 39, 26, 27 via a pair of 74hct245's and everything works as expected.


Code:
int pins[16] = {19, 18, 14, 15, 40, 41, 17, 16, 22, 23, 20, 21, 38, 39, 26, 27};


void setup() {
  Serial.begin(9600);
  while (!Serial);
for (int i=0; i<16; i++) {
  pinMode(pins[i],OUTPUT);
}
}

FASTRUN void loop() {
  unsigned int start = micros();
for (unsigned int i=0; i<65536; i++) {
  GPIO6_DR = i << 16;
}
  unsigned int end = micros();

  Serial.println(end - start);
}

The code above says running through this loop takes 329 microseconds, or about 5 nanoseconds per write / updates at 200 MHz. If I recall correctly the maximum SPI rate for the 4.0 is 24 Mhz? Obviously not an apple-to-apples comparison, but quite a bit faster.

I'm going to start working on a HUB75 demo using parallel writes like this, to see how it compares to the work easone is doing (https://forum.pjrc.com/threads/6033...-parallel-out-FlexPWM-DMA-amp-SmartLED-shield)
 
In response to #76 (and AlanK's reply #78) I connected 16 LEDs to pins 19, 18, 14, 15, 40, 41, 17, 16, 22, 23, 20, 21, 38, 39, 26, 27 via a pair of 74hct245's and everything works as expected.
...
The code above says running through this loop takes 329 microseconds, or about 5 nanoseconds per write / updates at 200 MHz. If I recall correctly the maximum SPI rate for the 4.0 is 24 Mhz? Obviously not an apple-to-apples comparison, but quite a bit faster.
...

Very cool!
 
potatotron said:
If I recall correctly the maximum SPI rate for the 4.0 is 24 Mhz?
Not sure where you got this but we definitely had it working at least up to 60Mhz for SPI.
 
Not sure where you got this but we definitely had it working at least up to 60Mhz for SPI.

Agree, I had the SPI working at 60MHz connected to an ILI9488 LCD. Its really fast and I'm surprised it works at 60MHz.

The LCD is working at 60MHz. I'm thinking do I really need to drive it in 8 bit parallel model ?
 
@potatotron - nice work! I look forward to seeing your demo. FYI, I got slower performance when using DMA to write to GPIO, something like 45 ns per 32 bit DMA transfer...

Once I get my hands on a T4.1 I'm planning to see whether using the SD card interferes with DMA/FlexIO bandwidth. The new branch of the SmartMatrix library I'm working on for T4.0 should be compatible with T4.1.

T4.1 adds some extra options for FlexIO pins, but unfortunately still no continuous runs of more than 5 pins on FlexIO1 or FlexIO2. We do get 22 pins on FlexIO3 (of which 20 pins are continuous), which doesn't work with DMA, but could be used for some interesting CPU-driven applications. In theory you could use it to drive three HUB75 panel chains in parallel at high speed...
 
Back
Top