Teensy 4.1 Beta Test

Meanwhile, I ordered some T4.1 from Exp-Tech.de, arrived via USP in no time. (No custom issue within Europe)
Unfortunately I live in a non EU country. So, the whole customs trouble still exists.

btw. Teensy4.1 @ sparkfun is sold out
 
One month to italy, now at customs... the beta is to be written off.
Exp-tech is not an option. 17.85€ shipping. :mad: 10€ upcharge to the real price. WHAT?

Actually Teensy in Italy cost 1.5 times up to 2 times the original price.
I think it is time to establish a PJRC store in Europe to cut out these profit-makers. I'd be happy to do that work, just because.

For what it is worth, could be worse... I ordered a display by BuyDisplay.com and turned out to the the last day they had the non DHL option ePacket? As of April 17th it was delivered to Air Transport...
No update since. I contacted BuyDisplay and their latest response from a couple of days ago:
To be rfank,some packages on the way have been over 80 days.But the goods has leaving overseas in deed.
I can't give you a certain date,but I believe you'll receive it one day.We're also distressed for this problem.
Could you pls place a new order on our website with DHL shipping way if you need the displays urgently?
I decided I did not need it urgently :D
 
EU is a total ripoff for USA and FarEastern goods.
Most couriers charge absurd fees for just the paperwork (besides proper customs fees); UPS charges Eur 14, for example.

And, yes, Exp-tech.de ... my T4.1 (no-pins) ended up costing Eur 47.3 = $52. :(

It would be great to have a genuine PJRC store here.
 
Mine was shipped by PJRC on April 28th. Turned around for several days in SF, then took a week to make it to LA where it was last scanned on May 17th. Thus, far from arriving here in France - deeply disappointed by USPS.

I really am keen on placing an order of the T4.1 from the PJRC website, but due to the major delays with international shipping since COVID started, I'm holding it off for now.
I placed an order of 3 PCB's and one purple T4.0 from OSH Park on April 10th, it left LA on April 19th and since then had no update. Apparently, USPS have been shipping via sea in the past few weeks which might explain why there are such delays and no periodic updates on the tracking info.
Good luck to us all! :rolleyes:
 
Usually Exptech and Watterot sell them for about the same price as you get them from PJRC (and without the Customs hassle). I assume that there is a current rush on the T4.1 so they increased the prices (29EUR without shipment). Good old supply and demand thing I'd say. You can't blame them for transport cost from Germany to Italy. Transport cost within Germany is about EUR 4 which is quite standard.
 
I can confirm, it seems Italy is a little special concerning highly exaggerated shipping costs.
Here, in Germany, ordered at exptech: two T4.1 did cost 63,28€ == 31.64€ for ONE Teensy 4.1 including shipping
BTW, my T4.1 beta arrived here yesterday!!! Shipping from PJRC April, 21st, 2020, Arrival here in Germany at home: May, 19th, 2020 --> 28 days of travel with USPS
 
You can't blame them for transport cost from Germany to Italy. Transport cost within Germany is about EUR 4 which is quite standard.
Correct,
UPS to Italy was 17Euro85 but buying 5 T4.1 makes that reasonable and arrived on 3rd day
I would never ask for UPS or other courier for small value shipments
 
A few notes about shipping, particularly international shipping...

The COVID-19 pandemic has really messed up freight world wide. There is a global shortage of air transportation. As a result, shipping times are taking much longer than normal. Express services like UPS, DHL, and FedEx are taking about 2 - 10 days longer than standard for delivery depending on the origin of the shipment. Postal services are taking much longer. The US Postal service has a list of several countries that it is not shipping to either because the destination country is experiencing service impacts due to the pandemic or because of the unavailability of transportation. For countries where the USPS has not suspended service, delivery times vary quite a lot depending on the operations level of the postal service of the destination country. To further add to the whole uncertainty of Air Mail delivery, the acceptance of international mail varies by origin country and regularly changes.


tl;dr - freight is a mess world wide due to COVID-19 and stuff is taking a long time to get to where it's going
 
Has Teensy 4.1 a Serial Number or Unique ID build in?

PJRC sets some fuses in each T4 for unique ethernet MAC address and USB id,
in hardware/teensy/avr/cores/teensy4/usb_desc.c, num = HW_OCOTP_MAC0 & 0xFFFFFF;
and T4 mac
Code:
static void teensyMAC(uint8_t *mac)
{
  uint32_t m1 = HW_OCOTP_MAC1;   // T4 MAC
  uint32_t m2 = HW_OCOTP_MAC0;
  mac[0] = m1 >> 8;
  mac[1] = m1 >> 0;
  mac[2] = m2 >> 24;
  mac[3] = m2 >> 16;
  mac[4] = m2 >> 8;
  mac[5] = m2 >> 0;
}
 
Last edited:
PJRC sets some fuses in each T4 for unique ethernet MAC address and USB id,
in hardware/teensy/avr/cores/teensy4/usb_desc.c, num = HW_OCOTP_MAC0 & 0xFFFFFF;
and T4 mac
Code:
static void teensyMAC(uint8_t *mac)
{
  uint32_t m1 = HW_OCOTP_MAC1;   // T4 MAC
  uint32_t m2 = HW_OCOTP_MAC0;
  mac[0] = m1 >> 8;
  mac[1] = m1 >> 0;
  mac[2] = m2 >> 24;
  mac[3] = m2 >> 16;
  mac[4] = m2 >> 8;
  mac[5] = m2 >> 0;
}

I know about the MAC, but are there some other serial numbers. I found some articles they said HW_OCOTP_CFG0 and HW_OCOTP_CFG1 are used for a 64-bit ID. I want to update my TeensyID library https://github.com/sstaub/TeensyID
 
I know about the MAC, but are there some other serial numbers. I found some articles they said HW_OCOTP_CFG0 and HW_OCOTP_CFG1 are used for a 64-bit ID. I want to update my TeensyID library https://github.com/sstaub/TeensyID

Hey sstaub, not sure if it will help you, but here are the OTP CFG values from my board. I dug around the source for t4 to see if they were used anywhere and wasn't seeing it, but CFG0 and CFG1 definitely look like unique numbers of some sort (but I can't check, as I only have the one board.)

Code:
Register        Value (dec)  Value (hex)
HW_OCOTP_CFG0:   1736377647 (0x677F052F)
HW_OCOTP_CFG1:    540901842 (0x203D81D2)
HW_OCOTP_CFG2:   1342177427 (0x50000093)
HW_OCOTP_CFG3:      4325378 (0x00420002)
HW_OCOTP_CFG4:            0 (0x00000000)
HW_OCOTP_CFG5:       524312 (0x00080018)
HW_OCOTP_CFG6:            0 (0x00000000)
HW_OCOTP_MAC0:   3842750774 (0xE50BB936)
HW_OCOTP_MAC1:         1257 (0x000004E9)
 
I know about the MAC, but are there some other serial numbers. I found some articles they said HW_OCOTP_CFG0 and HW_OCOTP_CFG1 are used for a 64-bit ID. I want to update my TeensyID library https://github.com/sstaub/TeensyID

usb_desc.c has this code for T_4.x serial number presented:
Code:
void usb_init_serialnumber(void)
{
	char buf[11];
	uint32_t i, num;

	num = HW_OCOTP_MAC0 & 0xFFFFFF;
	// add extra zero to work around OS-X CDC-ACM driver bug
	if (num < 10000000) num = num * 10;
	ultoa(num, buf, 10);
	for (i=0; i<10; i++) {
		char c = buf[i];
		if (!c) break;
		usb_string_serial_number_default.wString[i] = c;
	}
	usb_string_serial_number_default.bLength = i * 2 + 2;
}
 
usb_desc.c has this code for T_4.x serial number presented:

Yeah, it looks to be just using the MAC (Or at least, the last 24 bits of it.) sstaub is looking for more of a UUID for their library, as they already have the MAC presented.
 
Last edited:
usb_desc.c has this code for T_4.x serial number presented:
Code:
void usb_init_serialnumber(void)
{
	char buf[11];
	uint32_t i, num;

	num = HW_OCOTP_MAC0 & 0xFFFFFF;
	// add extra zero to work around OS-X CDC-ACM driver bug
	if (num < 10000000) num = num * 10;
	ultoa(num, buf, 10);
	for (i=0; i<10; i++) {
		char c = buf[i];
		if (!c) break;
		usb_string_serial_number_default.wString[i] = c;
	}
	usb_string_serial_number_default.bLength = i * 2 + 2;
}

OK, that leads me to right way for the USB serial number.
 
here are a few data points
Code:
T4.1
HW_OCOTP_CFG0 0x65f8296a
HW_OCOTP_CFG1 0xc19a9d2
HW_OCOTP_CFG2 0x50000029
HW_OCOTP_CFG3 0x420002
HW_OCOTP_CFG4 0x0
HW_OCOTP_CFG5 0x80018
HW_OCOTP_CFG6 0x0
HW_OCOTP_MAC0 0xe50186c4
HW_OCOTP_MAC1 0x4e9

T4.0
HW_OCOTP_CFG0 0x65f82946
HW_OCOTP_CFG1 0x352241d2
HW_OCOTP_CFG2 0x50000041
HW_OCOTP_CFG3 0x420002
HW_OCOTP_CFG4 0x0
HW_OCOTP_CFG5 0x80018
HW_OCOTP_CFG6 0x0
HW_OCOTP_MAC0 0xe509634c
HW_OCOTP_MAC1 0x4e9

T4.0
HW_OCOTP_CFG0 0x65f82946
HW_OCOTP_CFG1 0x294b41d2
HW_OCOTP_CFG2 0x5000001e
HW_OCOTP_CFG3 0x420002
HW_OCOTP_CFG4 0x0
HW_OCOTP_CFG5 0x80018
HW_OCOTP_CFG6 0x0
HW_OCOTP_MAC0 0xe50963a3
HW_OCOTP_MAC1 0x4e9

T4.0
HW_OCOTP_CFG0 0x65f82969
HW_OCOTP_CFG1 0xd4549d2
HW_OCOTP_CFG2 0x50000069
HW_OCOTP_CFG3 0x420002
HW_OCOTP_CFG4 0x0
HW_OCOTP_CFG5 0x80018
HW_OCOTP_CFG6 0x0
HW_OCOTP_MAC0 0xe508d7a3
HW_OCOTP_MAC1 0x4e9
 
A few notes about shipping, particularly international shipping...

The COVID-19 pandemic has really messed up freight world wide. There is a global shortage of air transportation. As a result, shipping times are taking much longer than normal. Express services like UPS, DHL, and FedEx are taking about 2 - 10 days longer than standard for delivery depending on the origin of the shipment. Postal services are taking much longer. The US Postal service has a list of several countries that it is not shipping to either because the destination country is experiencing service impacts due to the pandemic or because of the unavailability of transportation. For countries where the USPS has not suspended service, delivery times vary quite a lot depending on the operations level of the postal service of the destination country. To further add to the whole uncertainty of Air Mail delivery, the acceptance of international mail varies by origin country and regularly changes.


tl;dr - freight is a mess world wide due to COVID-19 and stuff is taking a long time to get to where it's going

Thank you, @Robin, for that statement! It makes things better understandable. In ever case, nobody will (hopefully) blame PJRC who does, as usual, an excellent work!
 
HanRun HR911102A can probably work. [...] The PHY chip on Teensy 4.1 does all the impedance stuff internally [...]. Connect RDC and TDC together and use a 0.1 uF capacitor between RDC+TDC and GND on Teensy. Then just connect the 4 signals directly, no extra resistors or capacitors. Also connect the S1 & S2 ground pins directly to Teensy's GND. The LED output on Teensy 4.1 is active high, and it has the resistor built in. So if you want the LED to show link status, connect the LED output to pin 9 on HR911102A, and connect pin 10 to GND.

Ok, I connected T41 to HR911102A as follows: T+ TD+(1), T- TD-(2), R+ RD+(7), R- RD-(8), LED G+(9), GND G-(10). I left TDC(3), (4), (5), RDC(6), Y+(11) and Y-(12) of the HR911102A unconnected (on the -- possibly wrong -- assumption that the DP83825 PHY would itself condition MDI signal GND symmetry). Quick and dirty:
20200521_195645.jpg20200521_195755.jpg20200521_195910.jpg

This works for me. If I run https://github.com/PaulStoffregen/teensy41_ethernet (A1.8.12/TD1.52) I can ping the T4.1 and it replies. Of course this is in an easy environment, with 1m of TP cable between HR911102A and the workbench Ethernet switch.

Kind regards,
Sebastian
 
Last edited:
That's fine if there is a 10 days or so delay, I'm sure I won't be finished with my new Kicad designs I started just after I was aware of that new board, as that should greatly simplify my current projects and all in all will shorten my design time anyway...

@Robin Thanks for the update on this, keep on the good work and stay safe!
 
Question about the PSRAM test and seeking a Flash test sketch

I received two of the new 4.1 Teensys the other day, along with the PSRAM and (separately) the Winbond W25Q128JVSIQ flash chips via Mouser.

I soldered everything up tonight (carefully and thoroughly - skipped the ethernet header though), with a PSRAM and a flash chip on each board.

The PSRAM passes `teensy41_psram_memtest.ino` just fine:

EXTMEM Memory Test, 8 Mbyte
CCM_CBCMR=B5AE8304 (88.0 MHz)


One question searching didn't help with is why 88.0MHz vs 133MHz as the ESP-PSRAM64H chips I got with the boards are capable of? Or is that just how fast it can run in this config?


The bigger question is: how do I test the flash chip in a similar way? I've searched here and that isn't nearly as obvious as the PSRAM tests.

Thanks!
 
Back
Top