Teensy 4.0 Release

Status
Not open for further replies.
@Spyy - @Paul

No - you are right its not shown. In actuality MISO1 is on pin1 and CS1 is on pin0
 
They were missed on the card, they are on pins 0 and 1

From my Excel document:
Code:
Pin	Name	GPIO	Serial	I2C	SPI	PWM	CAN	Audio	XBAR	FlexIO	Analog	SD
 0	AD_B0_03	1.3	Serial1(6) RX		SPI1(3) CS0	PWM1_X1	2_RX		IO-17			
 1	AD_B0_02	1.2	Serial1(6) TX		SPI1(3) MISO	PWM1_X0	2_TX		IO-16			
 2	EMC_04	4.4				PWM4_A2		2:TX_DATA	IO-06	1:4		
 3	EMC_05	4.5				PWM4_B2		2:TX_SYNC	IO-07	1:5		
 4	EMC_06	4.6				PWM2_A0		2:TX_BCLK	IO-08	1:6		
5	EMC_08	4.8				PWM2_A1		2:RX_DATA	IO-17	1:8		
6	B0_10	2.10				PWM2_A2	QT4_1	1:TX3_RX1		2:10		
7	B1_01	2.17	Serial2(4) RX			PWM1_B3		1:TX_DATA	IO-15	2:17, 3:17		
8	B1_00	2.16	Serial2(4) TX			PWM1_A3		1:RX_DATA	IO-14	2:16, 3:16		
 9	B0_11	2.11				PWM2_B2	QT4_2	1:TX2_RX2		2:11		
10	B0_00	2.0			SPI(4) CS0	QT1_0		MQS_RIGHT		2:0     		
11	B0_02	2.2			SPI(4) MOSI	QT1_2	1_TX			2:2		
12	B0_01	2.1			SPI(4) MISO	QT1_1		MQS_LEFT		2:1     		
13	B0_03	2.3			SPI(4) SCK	QT2_0	1_RX			2:3		
14/A0	AD_B1_02	1.18	Serial3(2) TX			QT3_2		SPDIF_OUT		3:2	A1:7, A2:7	
15/A1	AD_B1_03	1.19	Serial3(2) RX			QT3_3		SPDIF_IN		3:3	A1:8, A2:8	
16/A2	AD_B1_07	1.23	Serial4(3) RX	Wire1(3) SCL				SPDIF_EXTCLK		3:7	A1:12, A2:12	
17/A3	AD_B1_06	1.22	Serial4(3) TX	Wire1(3) SDA				SPDIF_LOCK		3:6	A1:11, A2:11	
18/A4	AD_B1_01	1.17	Serial3(2) CTS	Wire(1) SDA		QT3_1				3:1	A1:6, A2:6	
19/A5	AD_B1_00	1.16		Wire(1) SCL		QT3_0				3:0	A1:5, A2:5	
20/A6	AD_B1_10	1.26	Serial5(8) TX					1:RX_SYNC		3:10	A1:15, A2:15	
21/A7	AD_B1_11	1.27	Serial5(8) RX					1:RX_BCLK		3:11	A1:0, A2:0	
22/A8	AD_B1_08	1.24				PWM4_A0	1_TX			3:8	A1:13, A2:13	
23/A9	AD_B1_09	1.25				PWM4_A1	1_RX	1:MCLK		3:9	A1:14, A2:14	
---	----	----	------	---	---	---	---	----	----	-----	------	
24/A10	AD_B0_12	1.12	Serial6(1) TX	Wire2(4) SCL		PWM1_X2					A1:1  	
25/A11	AD_B0_13	1.13	Serial6(1) RX	Wire2(4) SDA		PWM1_X3	GPT1_CLK				A1:2	
26/A12	AD_B1_14	1.30			SPI1(3) MOSI			1:TX_BCLK		3:14	A2:3  	
27/A13	AD_B1_15	1.31			SPI1(3) SCK			1:TX_SYNC		3:15	A2:4  	
28	EMC_32	3.18	Serial7(7) RX			PWM3_B1						
29	EMC_31	4.31	Serial7(7) TX		SPI2(1) CS1	PWM3_A1						
30	EMC_37	3.23				GPT1_3 	3_RX	3:MCLK	IO-23			
31	EMC_36	3.22				GPT1_2	3_TX	3:TX_DATA	IO-22			
32	B0_12	2.12						1:TX1_RX3	IO-10	2:12		
33	EMC_07	4.7				PWM2_B0		2:MCLK	IO-09	1:7		
												
34	SD_B0_03	2.15	Serial5(8) RTS		SPI2(1) MISO	PWM1_B1			IO-07			DATA1
35	SD_B0_02	3.14	Serial5(8) CTS		SPI2(1) MOSI	PWM1_A1			IO-06			DATA0
36	SD_B0_01	3.13		Wire1(3) SDA	SPI2(1) CS0	PWM1_B0			IO-05			CLK
37	SD_B0_00	3.12		Wire1(3) SCL	SPI2(1) SCK	PWM1_A0			IO-04			CMD
38	SD_B0_05	3.17	Serial5(8) RX		SPI2(1) B_DQS	PWM1_B2			IO-09			DATA3
39	SD_B0_04	3.16	Serial5(8) TX		SPI2(1) B_SSO_B	PWM1_A2			IO-08			DATA2
Sorry I know things don't line up here, but you should be able to extract the data...
 
Do I need to do anything special in code to use the DP floating point operations on the T4? Or set any compilation switches somewhere? I know ARM has a special instruction set for those so I'm not sure if I need to do anything different in my existing code. I'm moving over one of my motion sensor projects the board I just got in today :)
 
It looks like the 32 kHz crystal for correct time for when the cpu is sleeping is already mounted, correct? I just received my two and I used the cheapest shipping option 👍🏻👍🏻
 
Last edited:
Do I need to do anything special in code to use the DP floating point operations on the T4?

Nope, nothing special needed. Just use double variables and it all works automatically.

There is actually a line inside startup.c that enables the FPU. If you search for ARM's docs, you'll find mentions of needing to enable the FPU. We already did that in the default startup code, so float and double will work automatically.


It looks like the 32 kHz crystal for correct time for when the cpu is sleeping is already mounted, correct?

Yup, this is the 32 kHz crystal.

teensy40_32khz.jpg
 
Hi,

on the pin out card for the Teensy 4.0 i can find the MOSI1 and the SCK1 pins on 26 and 27 for the SPI1 channel. Are there also a MISO1 and a CS1 pin for that channel...or do i have missed/messed up someting… ?

Thank you

Torsten
MISO1 and CS1 were omitted from the current pinout card. I imagine whenever Paul prints up a new one, they will add the information. I and others have reported this in the T4 beta thread. The front card should have had:
  • Pin 0 -- CS1
  • Pin 1 -- MISO1
 
Card is on this Teensy 4 page :: https://www.pjrc.com/store/teensy40.html - though many common linking pages and side bars don't have that link.

But Paul and Robin are plenty busy making more Teensy T4's, etc … having shipped all they got. Plus all the other things … Schematic, OSH breakout, released Teensy Duino 1.47

The card issue was discussed on the Beta thread as noted - some weeks back when the first batch of cards were printed in advance to get them ready and not hold up shipping - it was stated that when the first batch of cards is gone they will be updated.

It might look something like this mock up posted 6/13/19:
T4_SPI1.png
 
Received two Teensy 4s on the 10th, USPS.. great service! Coincidentally arrived on same day as Pi 4!
So I'm testing many programs that run on 3.2, 3.5 & 3.6 and finding many little issues with various libraries ect. Is there a preferred location for these upgrade issues? Should I start a new thread for each issue? Perhaps a new section for 3.6->4.0 issues or just note on the new thread?

thanks
 
Received two Teensy 4s on the 10th, USPS.. great service! Coincidentally arrived on same day as Pi 4!
So I'm testing many programs that run on 3.2, 3.5 & 3.6 and finding many little issues with various libraries ect. Is there a preferred location for these upgrade issues? Should I start a new thread for each issue? Perhaps a new section for 3.6->4.0 issues or just note on the new thread?

thanks

The first thing I would do would be to check it against sort of a summary of things that have been worked on and or known issues or maybe where to locate fixes, which is contained in the T4 beta thread. In particular posts #4 (https://forum.pjrc.com/threads/54711-Teensy-4-0-First-Beta-Test?p=193717&viewfull=1#post193717) and #6

Also obviously reading through that whole thread could be a bit time consuming, as there are a few posts... But I would tend to do a "Search thread" command within that thread to see if maybe there are hits on the library that you find issues with.
 
So I'm testing many programs that run on 3.2, 3.5 & 3.6 and finding many little issues with various libraries ect. Is there a preferred location for these upgrade issues? Should I start a new thread for each issue?

Please first test with the latest beta. There's a chance 1.47-beta6 fixed the issues you're seeing. If not, and if we haven't yet released 1.47, please reply on the beta test thread.

After the 1.47 release, probably best to start a new thread for each issue.

Many libs and features than work on Teensy 3.x aren't yet ported to Teensy 4.0. They (mostly) will be, but it's going to take time to fill in everything. Especially the timers in this new iMXRT chip are quite different from the ones we had on the Kinetis chips. Code using the timers directly needs to be rewritten, which is a slow process...
 
I built a Teensy audio playground breadboard that uses a T3.2, a T3.6, or a T4.0 and either a PJRC Audio Adaptor or Paul's CS42448 board. I used the 1.46 beta 5 code with the fix to the output I2S file. All 6 combinations of the board worked using the Guitar code to test the output functions. Inputs were not tested as they are not needed at this time. The breadboard will be used as an 8 output sound source in a music synthesizer project. P2920706_x.jpgP2920711_x.jpgP2920708_x.jpg
 
I tend to order from Adafruit, since as a NY company, it gets to me quicker, particularly if I order it after 8:00pm on Wednesdays and use the 10% off code in Ask an Engineer, it almost always gets to me on Friday morning (I live in Massachusetts). If I don't use the code, it usually takes another day or two to process the order.

Usually that works. UPS picks up the package on Thursday, and it is in Massachusetts on Friday before my office mail room closes for the day. This time, it got picked up from New York (Thursday 6:37 pm) and sent to Hartford, CT (Friday 1:55 am) and there it sits. I'll give it a day or two before asking Adafruit to track it down. If I hadn't mentioned it here, I likely would have my 2 shiny T4s.
 
Usually that works. UPS picks up the package on Thursday, and it is in Massachusetts on Friday before my office mail room closes for the day. This time, it got picked up from New York (Thursday 6:37 pm) and sent to Hartford, CT (Friday 1:55 am) and there it sits. I'll give it a day or two before asking Adafruit to track it down. If I hadn't mentioned it here, I likely would have my 2 shiny T4s.

Bummer on the delay - and having perhaps Jinxed the delivery :( At least you got them while they were in stock!

They are clean and works of art! But don't be disappointed - they really aren't that shiny once they come out of the anti-static bag - the through hole and pad plating is more matte :)
 
Bummer on the delay - and having perhaps Jinxed the delivery :( At least you got them while they were in stock!

They are clean and works of art! But don't be disappointed - they really aren't that shiny once they come out of the anti-static bag - the through hole and pad plating is more matte :)

Yeah, it was more I wanted to solder some stacking headers on to the board to try some things out. And I guarantee you, no matter how shiny they are when I get them out of the bag, when I'm done soldering, they no longer are as shiny.

<edit>
I just email'ed adafruit, and got a notification from UPS that they are trying to locate the shipment. Of course the trouble is if something happened to the shipment (stolen, fire, etc.), I will likely have to wait for Adafruit to get restocked before I see the official T4's.
 
Last edited:
In this message Paul said that "Teensy Loader and the new bootloader also now automatically initialize the RTC to your PC's time."
I wrote a sketch to synchronize the T4B2 RTC to a GPS. When I upload the sketch again after syncing the RTC, the RTC is set by the bootloader back to the PC time but this is always about 0.5 second slow. Is there a way to modify the bootloader to change the RTC only if it hasn't been set? I like to have the RTC as reasonably on time as I can (an application I'm thinking of developing would depend on it) and I also like to have the clock set to UTC, not local, time.

Pete
 
In this message Paul said that "Teensy Loader and the new bootloader also now automatically initialize the RTC to your PC's time."
I wrote a sketch to synchronize the T4B2 RTC to a GPS. When I upload the sketch again after syncing the RTC, the RTC is set by the bootloader back to the PC time but this is always about 0.5 second slow. Is there a way to modify the bootloader to change the RTC only if it hasn't been set? I like to have the RTC as reasonably on time as I can (an application I'm thinking of developing would depend on it) and I also like to have the clock set to UTC, not local, time.

Pete

Just checking ... do you have a battery hooked to VBAT/GND to keep RTC running on power cycles
 
Yeah, it was more I wanted to solder some stacking headers on to the board to try some things out. And I guarantee you, no matter how they were when you get them out of the bag, when I'm doing soldering, they no longer are as shiny.

Speaking of Jinx'd deliveries - the box I was happy to see arriving on Sat 10th - is still out driving around somewhere 'in transit' now on the 13th … Priority Mail fail.

@el_supremo - I haven't heard from koromix about TyCommander - left an issue about the RTC transfer change - not sure if Paul has published anything on that process?
 
no teensy joy yet, I guess I should have done shipping with tracking, I didnt even get a shipping email. so no idea. I did get charged for it though.
 
Just got my t4, was wondering if there were plans (and the hardware supports it) to add a nanos() function, and nanoseconds to intervalTimer()?
 
Status
Not open for further replies.
Back
Top