Teensy 4.0 First Beta Test

Status
Not open for further replies.

PaulStoffregen

Well-known member
We're going to begin beta testing for Teensy 4.0. … Teensy 4.0 SECOND Beta Test with 1062 post #2280

At this time, PJRC would like to offer free beta test boards to the following people:

Bill Greiman, brendanmatkin, brtaylor, christoph, crees, defragster, dgarcia42, Donziboy2, duff, el_supremo, embedded-creations, Epyon, ETMoody3, Frank B, GremlinWrangler, Headroom, JBeale, Jean-Marc, Koromix, kriegsman, KurtE, linuxgeek, luni, manitou, MichaelMeissner, MickMad, mjs513, mortonkopf, mxxx, Nantonos, nlecaude, oddson, Pedvide, Pensive, pictographer, nox711, rcarr, sumotoy, TelephoneBill, Theremingenieur, tni, tonton81, WMXZ, whollender, Wozzy, wwatson, XFer, xxxajk

We will be expanding this list in the coming weeks, with names of many more forum contributors and people who have written Teensy specific libraries. We're only offering the beta test hardware to the people on this list.

For the first round of betas, we have 31 boards with the 1052 chip. These are meant for beta testing only, because the final Teensy 4.0 will use the similar 1062 chip (more RAM, faster I/O, CAN FD). After beta, software support for 1052 will be dropped. These 1052 betas are meant to give you the earliest access. Please understand their software support will be only temporary.

To jump in now with the 1052 beta, please email Robin directly (actual email, not forum PM) with the magic words "I have free time to beta test" and your shipping address. There is no charge for these betas. PJRC will pay for shipping. If you're outside the USA and the carrier charges international tariff/vat/fees when the package arrives, you'll need to cover that cost. We can't pre-pay it from here.

If you're busy with work or life, waiting is perfectly fine. The longer you wait, the closer your board will be to the final release. If you don't have any time to do testing, that's fine too. We will still send you a free Teensy 4.0 as a special "thank you". If you don't get a beta board, just email Robin after release and we'll send you a free Teensy 4.0 from the first production batch.

During this beta, I'd like to ask everyone to follow a few simple rules.

  1. No photos!
  2. Keep all conversations & info on this forum thread
  3. (1052 only) Don't mess with the OTP fuses... On the 1062 boards, do mess with the fuses. ;)

The first 2 allow us to share pretty much all technical info early, but still make an official release. Of course, after we announce Teensy 4.0 on the website and/or Kickstarter, photos will then be ok. Like with prior betas, this forum thread will get painfully long. Please bear with it. Having it all in 1 place before release helps us, and having all the info as text on a forum thread make it accessible for people who want technical details, but (probably) not "news" of a product release.

Wrong fuse settings can permanently brick your board. Final Teensy 4.0 will have critical fuse regions locked. For now, we're leaving all the betas unlocked for maximum flexibility. Overclocking is generally ok, but please use your best judgement if you edit any #define with the comment "Danger Will Robinson", or if you write directly to DCDC_REG3. NXP's datasheet rates the "absolute maximum" at 1.3 volts.

One final note - We're starting this beta very "early" with a ton of stuff not yet completed or fully working on the software side. Things will get better as we go. Messages #2 - #6 are placeholders for updates. I'd like to ask all our "plus" users to please edit these as needed.
 
Last edited by a moderator:
Pinouts:

card10_rev1_preview.png

As per post https://forum.pjrc.com/threads/54711-Teensy-4-0-First-Beta-Test?p=209852&viewfull=1#post209852, the pinout card should list:
  • Pin 0 can also be CS1;
  • Pin 1 can also be MISO1.
  • (pins 26 and 27 are already listed MOSI1 and SCK1 in the pinout card)

Pinout T4-Beta2: [Ref post 1917 ]
Code:
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
 0     AD_B0_03   1.3   UART6_RX       3:CS0   PWM1_X1  2_RX             IO-17
 1     AD_B0_02   1.2   UART6_TX       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
[COLOR=#ff8c00] 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  UART4_RX               PWM1_B3        1:TX_DATA  IO-15   2:17,3:17
 8     B1_00      2.16  UART4_TX               PWM1_A3        1:RX_DATA  IO-14   2:16,3:16 [/COLOR]
 9     B0_11      2.11                         PWM2_B2,QT4_2  1:TX2_RX2          2:11
10     B0_00      2.0                  4:CS0   QT1_0          MQS_RIGHT          2:0     
11     B0_02      2.2                  4:MOSI  QT1_2    1_TX                     2:2
12     B0_01      2.1                  4:MISO  QT1_1          MQS_LEFT           2:1     
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
13     B0_03      2.3                  4:SCK   QT2_0    1_RX                     2:3
14/A0  AD_B1_02   1.18  UART2_TX               QT3_2          SPDIF_OUT          3:2     A1:7,A2:7
15/A1  AD_B1_03   1.19  UART2_RX               QT3_3          SPDIF_IN           3:3     A1:8,A2:8
16/A2  AD_B1_07   1.23  UART3_RX  3_SCL                       SPDIF_EXTCLK       3:7     A1:12,A2:12
17/A3  AD_B1_06   1.22  UART3_TX  3_SDA                       SPDIF_LOCK         3:6     A1:11,A2:11
18/A4  AD_B1_01   1.17   2_cts    1_SDA        QT3_1                             3:1     A1:6,A2:6
19/A5  AD_B1_00   1.16            1_SCL        QT3_0                             3:0     A1:5,A2:5
20/A6  AD_B1_10   1.26  UART8_TX                              1:RX_SYNC          3:10    A1:15,A2:15
21/A7  AD_B1_11   1.27  UART8_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

Bottom:
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
24/A10 AD_B0_12   1.12  UART1_TX  4_SCL        PWM1_X2                                   A1:1  
25/A11 AD_B0_13   1.13  UART1_RX  4_SDA        PWM1_X3,GPT1_CLK                          A1:2
26/A12 AD_B1_14   1.30                 3:MOSI                 1:TX_BCLK          3:14    A2:3  
27/A13 AD_B1_15   1.31                 3:SCK                  1:TX_SYNC          3:15    A2:4  
28     EMC_32     3.18  UART7_RX               PWM3_B1
29     EMC_31     4.31  UART7_TX       1:cs1   PWM3_A1
[COLOR=#ff8c00]30     EMC_37     3.23                         GPT1_3   3_RX  3:MCLK     I-23
31     EMC_36     3.22                         GPT1_2   3_TX  3:TX_DATA  I-22[/COLOR]
32     B0_12      2.12                                        1:TX1_RX3  IO-10   2:12
[COLOR=#ff8c00]33     EMC_07     4.7                          PWM2_B0        2:MCLK     IO-09   1:7[/COLOR]
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------

Pinout T4-Beta1:
Code:
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
 0     AD_B0_03   1.3   UART6_RX       3:CS0   PWM1_X1  2_RX             IO-17
 1     AD_B0_02   1.2   UART6_TX       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_07     4.7                          PWM2_B0        2:MCLK     IO-09   1:7
 6     B1_01      2.17  UART4_RX               PWM1_B3        1:TX_DATA  IO-15   2:17,3:17
 7     B1_00      2.16  UART4_TX               PWM1_A3        1:RX_DATA  IO-14   2:16,3:16
 8     B0_10      2.10                         PWM2_A2,QT4_1  1:TX3_RX1          2:10
 9     B0_11      2.11                         PWM2_B2,QT4_2  1:TX2_RX2          2:11
10     B0_00      2.0                  4:CS0   QT1_0          MQS_RIGHT          2:0     
11     B0_02      2.2                  4:MOSI  QT1_2    1_TX                     2:2
12     B0_01      2.1                  4:MISO  QT1_1          MQS_LEFT           2:1     
13     B0_03      2.3                  4:SCK   QT2_0    1_RX                     2:3
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
14/A0  AD_B1_02   1.18  UART2_TX               QT3_2          SPDIF_OUT          3:2     A1:7,A2:7
15/A1  AD_B1_03   1.19  UART2_RX               QT3_3          SPDIF_IN           3:3     A1:8,A2:8
16/A2  AD_B1_07   1.23  UART3_RX  3_SCL                       SPDIF_EXTCLK       3:7     A1:12,A2:12
17/A3  AD_B1_06   1.22  UART3_TX  3_SDA                       SPDIF_LOCK         3:6     A1:11,A2:11
18/A4  AD_B1_01   1.17   2_cts    1_SDA        QT3_1                             3:1     A1:6,A2:6
19/A5  AD_B1_00   1.16            1_SCL        QT3_0                             3:0     A1:5,A2:5
20/A6  AD_B1_10   1.26  UART8_TX                              1:RX_SYNC          3:10    A1:15,A2:15
21/A7  AD_B1_11   1.27  UART8_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
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
24/A10 AD_B0_12   1.12  UART1_TX  4_SCL        PWM1_X2                                   A1:1  
25/A11 AD_B0_13   1.13  UART1_RX  4_SDA        PWM1_X3,GPT1_CLK                          A1:2
26/A12 AD_B1_14   1.30                 3:MOSI                 1:TX_BCLK          3:14    A2:3  
27/A13 AD_B1_15   1.31                 3:SCK                  1:TX_SYNC          3:15    A2:4  
28     EMC_32     3.18  UART7_RX               PWM3_B1
29     EMC_31     4.31  UART7_TX       1:cs1   PWM3_A1
30     EMC_24     4.24  UART5_RX               PWM1_B0
31     EMC_23     4.23  UART5_TX               PWM1_A0
32     B0_12      2.12                                        1:TX1_RX3  IO-10   2:12
33     EMC_08     4.8                          PWM2_A1        2:RX_DATA  IO-17   1:8
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------
Pin    Name       GPIO  Serial    I2C  SPI     PWM      CAN   Audio      XBAR    FlexIO  Analog
---    ----       ----  ------    ---  ---     ---      ---   ----       ----    ------  ------

Bottom side (smt) and right side (through hole) pads:

Code:
          (bottom side view - ref note the VBAT/3V3/GND/PGM end pins are in same order as on T_3.x - [B]With ON/OFF as the far end pin[/B])

   ON/OFF - o    26 - o   o - 25     
  Program - o    24 - o   o - 27     
      GND - o    32 - o   o - 28
     3.3V - o    30 - o   o - 29
     VBAT - o    31 - o   o - 33

UARTn Serialx mapping pins [RX/TX]
BETA2 T4 1062::
Code:
        UART6 Serial1 [0/1]   UART4 Serial2 [7/8]
        UART2 Serial3 [15/14] UART3 Serial4 [16/17]
        UART8 Serial5 [21/20] UART1 Serial6 [25/24] 
        UART7 Serial7 [28/29]

BETA1 T4 1052::
Code:
        UART6 Serial1 [0/1]   UART4 Serial2 [6/7]
        UART2 Serial3 [15/14] UART3 Serial4 [16/17]
        UART8 Serial5 [21/20] UART1 Serial6 [25/24] 
        UART7 Serial7 [28/29] UART5 Serial8 [30/31]

FlexIO - FLEXIO3 only present in RT1062 - So all pins marked as 3:nn in pin table will only have flexIO capabilities on the later boards!

3/9/19 expected pin changes for move to 1062. 1062 pin table

Post by Kurt re: Pad positions:
That is for example the SDCard pins changed positions in the recent beta. Not sure how he would like to do this. Mini-Pogo pins like Paul did with earlier ones, or with the connector that he used in the recent ones. In which case the exact position does not matter. But as for details:

The posting: https://forum.pjrc.com/threads/54711...l=1#post206543
Shows those new locations:
Code:
SD DAT1, x=361.22, y=487.80
SD DAT0, x=361.22, y=448.43
SD GND, x=361.22, y=409.06
SD CLK, x=361.22, y=369.69
SD 3.3V, x=361.22, y=330.32
SD CMD, x=361.22, y=290.95
SD DAT3, x=361.22, y=251.58
SD DAT2, x=361.22, y=212.21
The main posting earlier that Paul did of the positions is at: https://forum.pjrc.com/threads/54711...l=1#post200666
Code:
Pin 24: x=1182, y=550
Pin 25, x=1018, y=550
Pin 26: x=1182, y=450
Pin 27, x=1018, y=450
Pin 28: x=1182, y=350
Pin 29, x=1018, y=350
Pin 30: x=1182, y=250
Pin 31, x=1018, y=250
Pin 32: x=1182, y=150
Pin 33, x=1018, y=150
USB2 D+, x=72, y=305
USB2 D-, x=72, y=395
SD DAT1, x=340, y=527.17
SD DAT0, x=340, y=483.86
SD GND, x=340, y=440.55
SD CLK, x=340, y=394.24
SD 3.3V, x=340, y=353.94
SD CMD, x=340, y=310.63
SD DAT3, x=340, y=267.32
SD DAT2, x=340, y=224.02
Note: I edited the two D+ to one being D-

I then noted in a different message that these positions for pins 24-33 are what you would probably use for POGO pins. But if instead you wish to use through hole SMT pins like used on T3.2 or the like. which it is setup for (except it uses a 2x5 instead of a 2x7), and it is turned 90 degrees. Then the X positions change.

That is instead of x = 1018 you would use 1050 (Pins are between pins 9 and 16)
instead of X = 1182 you would use 1150 (Pins are between pins 10 and 15)

Reference:

 
Last edited by a moderator:
status / news / stuff confirmed working


Solved!IssueReference Comment
AccelStepper
WIP-Have fixAdafruit_GFXlatest version 1.4.10 restructure to spitft defines for teensy 3.x specifically, lib would have to be updated for T4 Have patch mentioned in placed like #3358
Adafruit_ILI9341deleted from Teensyduino - but see Adafruit_GFX Lib
worksAdafruit_NeoPixelpost #279tested with Simple example and 8 LED stick
almostAdafruit_nRF8001tried, see post #1968
Adafruit_RA8875
Adafruit_SSD1306post #478working with fixed avr_emulation.h , post #757
Adafruit_ST7735
Adafruit_STMPE610
Adafruit_VS1053
ADCpedvide's lib needs work
brokenAltSoftSerialpostt4 porting needed
Artnet
Audio
worksBounce/Bounce2
worksCapacitiveSensorpost #852
CryptoAccelDCP tests
DmxSimple
WIPDmaSpiKurtEhttps://github.com/KurtE/DmaSpi/tree/T4
DogLcd
DS1307RTC
worksEasyTransferpost #852see post #621
partialEasyTransferI2Cpost #852needs I2C slave address, see post #621
worksEEPROM
Works (B1/B2) EncoderVerified working on 1062, post #2324
EntropyTRNG
worksEthernetpost #958
WorksFastCRC
worksFastLED1.47-beta7 limited testing post #2184
Broke (B1/B2)FlexCANNew Library in Process
FlexCAN_t4
#2745,
FlexiTimer2
FreqCount 1.47-beta5 GPT1 pin 25 post #982 POC
worksFreqMeasurepost #464
FreqMeasureMulti
FrequencyTimer2
Brokeni2c_t3Post 3573
Pull Request (B1/B2)ILI9341_t3Not as fast as T3.x but runsTesting done by @KurtE @mjs513 @defragster:
verified working on 1062. See post #2292
worksIRremotepost #441LED def error
worksKeypadpost 3528
ks0108
WorksLedControl
LedDisplay
LiquidCrystal
LiquidCrystalFast
Metro POST #3532example Fails compile for use of BYTE and possible timing issue - see post
MFRC522
MIDI
MsTimer2
WorksNXPMotionSenseSee Post #3060
OctoWS2811
worksOneWiretested on DS18B20
openGLCD
OSC
WorksPingpost #3072
PS2Keyboard
PulsePositionquad timer tests
WorksPWMServo
RA8875
Works with RFM95RadioHead#3232PR issued for support on SPI1/2
works w/updateResponsiveAnalogReadpost #677Teensyduino version needs to be updated
Solved Bload v4RTCBootloader v4 sets this on upload
Works(B1/B2)SDPost
Post #2329
https://github.com/PaulStoffregen/SD/pull/14 - merged
For B2 https://github.com/PaulStoffregen/SD/pull/18
SdFat
worksSerialFlash
WorksServo
ShiftPWM
Snooze
SoftPWM
brokenSoftwareSerialPostt4 porting needed
partialSPI
SPIFlash
PR issuedssd1351#3634(KurtE)-Fixed to use T4 registers
ST7565
BrokenST7735_t3KurtEAdafruit_GFX needs updating plus...
Works (B1/B2)Talkiepost #677PR incorporated for B2
workingTeensyThreads
TFT_ILI9163C
worksTime post #3539based on : www.pjrc.com/teensy/td_libs_Time.html
worksTimeAlarmspost #3630
WorksTimerOne
TimerThree
worksTinyGPS
Tlc5940
TouchScreen
worksUBLOX, Bolderflight
worksUBLOX, Chris O
Works(B1/B2)USBHost_t36
Works same as T3.6More devices in testing
uSDFS
#2781,
UTFT
VirtualWire
WS2812Serial
X10
XBee
partial(B1/B2)Wiremissing slave mode & setClock
XPT2046_Touchscreen
worksdigitalRead
worksdigitalReadFast
worksdigitalWrite
worksdigitalWriteFast
workspinMode
partialanalogRead#2032need to clear keeper/PKE bit
worksanalogReadResolutionimplemented, confirmation needed
worksanalogReadAveragingimplemented, confirmation needed
analogReferenceplaceholder only, reference always 3.3V
worksanalogWritepin 0 and 1 inverted?
worksanalogWriteFrequency
worksanalogWriteResolition
workstone
worksnoToneimplemented, confirmation needed
pulseIn
shiftIn
shiftOut
worksdelay
worksdelayMicroseconds
worksdelayNanoseconds
worksmillis
worksmicroswith 1us resolution
workselaspedMillis
workselapsedMicroswith 1us resolution
partialIntervalTimermissing priority()
worksEventResponder
worksMillisTimer
worksyield
worksattachInterrupt
detatchInterrupt
worksrandomis sequence same? yes
randomSeedno effect on T3.2 or T4?
String
AVR gpio register emulation
AVR spi register emulation
worksultoa, ltoa
worksdtostrf
avr eeprom functions
worksarm_math.h
worksServer #958implemented, confirmation needed
worksClient #958implemented, confirmation needed
brokenIPAddressneeds IPAddress.cpp #941implemented, confirmation needed
WorksDMAChannel
worksmalloc / free
new / deleteimplemented, confirmation needed
worksPROGMEM
worksPSTR()
worksF()
worksFASTRUN
worksSerial1-8Fixed in PR #379
worksSerial transmitterEnable
Testing?Serial RTS / CTS flow controlI believe implementd needs testing
WIPserialEventFix in pending PR #379
missingfault handler flushes USB
missingfault handler serial1-8
missingfault handler auto-reboot
partialUSB Serial
USB Keyboard
USB Touch Screen
USB Mouse
USB Joystick
USB MIDI
USB MIDIx4
USB MIDIx16
MIDIUSB compat
USB Audio
USB MTP Disk
USB RawHID
USB Flight Sim Controls
non-US USB keyboards
...
Solved!IssueReference Comment
 
Last edited by a moderator:
Last edited by a moderator:
Stuff in need of testing or fixing

Solved?IssueWho's working on it Comment
DSP vector math lib, #356fix in beta7, testing needed
DMA problems, #412
SPI example crashes if infinite loop after result, #125can't reproduce
SAI2 clock issue, #519
random() wrong output, #566
IntervalTimers called twice, low performance, #830, #880 #884, #1164, #1180, #1182, #1183,only 2 of 4
arm errata 838869, #1191,
IntervalTimer priority() not implemented, #261
TRNG config, #1074, #642,
power off program requires 13 sec recovery, #370
audio programs sometimes block auto-reboot, #1394, #1433,
Arduino IDE unresponsive at times, #1376, #1377, #1379, #1385, #1417, #1432,
PC unable to boot with BIOS post "partial" while Teensy4 connected, #409
slow USB enumeration with Amazon Basics hub, #1426, #866, ,
USB doesn't work at low clocks, #913, #916, #1070
DMA & cache trouble, #1061-1062,
NIC-301 settings? #1065,
F() and PSTR() in both C & C++
PROGMEM issue with ILI9341_t4, #1158,
CPU speed set may not be switching IPG safely, but how?
bootloader to use low power modes
Arduino serial monitor doesn't freeze when autoscroll turned off, #1154,
Arduino serial monitor can't copy remaining text to clipboard after device disconnects & window is disabled, #1154,
HardwareSerial RTS/CTSI believe implemented needs testing
USB MIDI
DMAChanneledma works, tested with only one channel so far (frank b) - it needs attention with cache!!
Testedarm_math.hmanitousee post #85 and post #204
USB keyboard
USB mouse
USB joystick
USB flightsim
USB MTP
USB MIDI name override
USB Touchscreen
USB Audio
USB RawHID
C++ stdlib functions?
SPIFIFO - is anything really using this?
Pls testpulseInFrank Bdepends on exact micros() ** micros() exact now
Pls testshiftInFrank B
Pls testshiftOutFrank B
Donerandommanitouis sequence same for same seed vals?
analogWrite gracefully handles 0, 255, 256, negative & other illegal valuestesting needed (most cases look ok)
Wire - recovery from hung bus
Wire - slave mode
FixedWire -SetSCL/setSDA support Wire1 pins on sd card pinsKurtEfixed: PR #14
Old - more in placeSPIminimal code in beta3
FixedSPISettings not used, clock fixed at 12.5 MHz, #428some support in beta7 (thanks Manitou)
AVR GPIO register emulation
AVR SPI register emulation
AVR TWBR register emulation
Adafruit ILI3941 doesn't compile, AVR emulation needed, #537
Sparkfun Teensyview not compiling, #545
Ethernetneeds IPAddress.cpp
SoftwareSerialHave similar using FlexIO system
OctoWS2811
ILI9341_t3KurtE's PR#52 to the lib supports T4
WS2812Serial
AltSoftSerialnot ported, #999,
CapacitiveSensorin beta6, testing needed
DmxSimple
FreqCount
FreqMeasureMulti
PulsePosition
MIDI
ShiftPWM
Snooze
TeensyThreads, working, #496
TimerThree
Tlc5940
fault after coremark using 50000, msg #117Prevent Fault Edit Post #651
Shutdown when temperature is "critical" (?) (added by Frank B)
Add events for temperature is "hot" + "cold" again (?) (added by Frank B)
Tools > Optimize "Fastest + pure-code" fails, maybe gcc bug?
VGA library
Solved?Does bootloader & 15-sec restore process work with all possible default FlexRAM settings in HW_OCOTP_MISC_CONF0? Can all 1s setting brick Teensy4?
Fast printing to Serial Monitor causes Java out of heap memory exception (Windows, Raspberry Pi), #2769, #2772,
FixedSPI1 & SPI2 support, #2404, #2409, #2482, #2488, #2493, #2518,
SPI signal drive strength, #2500,
NO USB option doesn't compile, #2538,
Touchsceeen lib, #2550,
WIPyield() performance issue, #2559,KurtESee posting #3244 PR #379
post-linker check needed for ITCM+DTCM > 512K
USB benchmarks: #2597, #2602, #2626, #2628, #2717, #2730, #2756,
CPU benchmarks: #2725, #2729,
SdFat issues, #2685, #2755, #3135
Java heap memory exception: Windows, Mac, Raspberry Pi, #2746, #2772, #2776, #2778,
2804 : after TeensyDuino install if T4 prior board - it is not set on starting
issue reading MP3115 pressure sensor with Wire library, #2999, #3006, #3019 (workaround),
WavFilePlayer issue with BUILTIN_SDCARD, #3008,
SD lib datalogger issue, #3135,
AudioLib PT8211 fails #3413,AUdioLib for PT8211 broke with TD1.46 - can't test?
Lost USB on Sketch Run
UncannyEyes loses USB on Run unless..See posts#3699 - 3701, 3710-3744, & 3772.
DMAMUX defs wrong, #4079,
Solved?IssueWho's working on it Comment
 
Last edited by a moderator:
The other thread leading into this with 10 pages of posts … Teensy-4-0-(hypothetical)-pin-assignments

Paul : if you could put links to YOUR versions of the Ref Manuals it would make sure feedback/details come from the 'same page' - though of course some of your early code notes may be from prior RM version. And of course that will also be fun when it comes to 1052 .vs. 1062. Not sure if there is a placeholder post appropriate for that? Maybe post #2 with latest Software

Post #181 Pins :: first round of betas will have the pins in msg #181
I can tell you the first round of betas will have the pins in msg #181, including pins 24-33 brought to pads on the bottom side.

The pinout definitely will change, at least so we have access to the CAN FD pins on the RT1062 chip. The changes are expected to be fairly minor, between 2 to 5 pins altered. If you have any concerned or input about which pins, *NOW* is the time to read the many messages in this thread and start pouring over the info in NXP's RT1050 & RT1060 reference manuals.

...
 
Last edited:
Audio
filtersdone
effectsdone
output_i2sdone
output_i2s2done
i2s slave
i2s2 slave
input_i2sdone
input_i2s2done
output_tdmdone
output_tdm2done
input_tdmdone
input_tdm2done
input_i2s_quad
input_i2s2_quad
output S/PDIF SAI1 emulateddone
output S/PDIF SAI2 emulateddone
input S/PDIF (hardware)
done
Output S/PDIF (hardware)done
output MQSdone
output pt8211done
output pt8211_2done
output_pwm
output_dacno DACs
pdm
adat
input_adcpost #1874 ? not working?

TODO: Temporary removed DMAMEM from in/outputs. Good fix needed.
Attention, MQS needs different PLL settings than I2s - so using the both mixed together is not possible, currently.

input S/PDIF :
- unsigned int sampleRate(void); - returns detected input samplerate - 0 if input-pll is not locked
- bool pllLocked(void);
 
Last edited by a moderator:
The distinguishing macro symbol is __IMXRT1052__ Yes? Should we worry about 1062 symbol? or a KINETISK equivalent?
 
The distinguishing macro symbol is __IMXRT1052__ Yes? Should we worry about 1062 symbol? or a KINETISK equivalent?

That is the only one I see > #if defined(__IMXRT1052__)
Not used much yet [3 matches across 2 files] - would be nice if that went to #if defined(__IMXRT1062__) sooner rather than later/never given those were the chips ordered for release.

<edit>:Frank follows with a good point - 1052 has to allow those items to be found/dropped/changed as pins move etc.
 
Last edited:
Would be handy if both were defined - even if 1062 is wrong now. But it makes things easier during development.
 
Robin has 12 of the 31 betas ready to ship. I believe so far 7 are claimed, so up to 5 more can ship today if anyone else (on the list) wants to jump in now. I still want to do more tests on the inductors this weekend, which is the reason I'm still holding many of the boards. My hope it to make most or all of the remaining 19 boards available early next week. We're also going to add more names to the list.

If all or most of the 31 are claimed next week, we might schedule one more soldering session on Jan 4th, which would likely yield another 10-12 boards. These will be the last of the 1052 boards. These 31 or ~40 will be the only boards for the next several weeks, until we get the 1062 chips and I can get around to making a board rev for the CAN FD pins.

When you get your board, you should see a number written on the bottom. They're numbered 2 to 33. For anyone counting, 9 didn't work for reasons unknown, and 1 is the beta I've been using, and so far the only board that's been abused with over-voltage overclocking. The boards also have a serial number in the mac address field in the fuse memory, where the number is 1000XX where XX is the number written on your board.

The bootloader makes the first 1536K of the flash available for uploading. The last 512K is "reserved", never programmed nor erased by the bootloader. The top 4K has a copy of a small program which gets copied to the beginning of the flash during the full erase after you've held the button for 15 seconds. Some portion of the top memory will become used by the EEPROM emulation. I'm still undecided what will be done with the rest of that 512K. Maybe a small filesystem like ESP uses? Or maybe we'll expand the bootloader's usage to allow larger programs? So many things left to do...

Tonight and tomorrow I'm going to put in a couple long sessions to fix up more of the core library and convert C code I wrote weeks ago to SPI & Wire libs and then package up installers. If your board arrives and I still haven't put installers on msg #2, please ping me and I'll quickly wrap things up whereever they're at and make a set of installers.
 
The bootloader now has a red LED to show you status. There is a known timing bug which causes it to flicker. I'll fix that in a couple weeks, after first working on much-needed stuff in the libraries, so please try to ignore the flickering. It's a known bug.

Here are the LED status signals:

  • Dim blinking = bootloader is waiting for USB enumeration (eg, external power without a USB cable, or a charge-only cable)
  • Dim steady = bootloader is running, USB communication is good, waiting for data/commands from Teensy Loader
  • Bright = writing to flash memory
  • Brief dim flash after holding button for ~13 seconds = visual cue to release your finger *now* if you want to initiate full erase. (and of course if you release in time, the LED will be bright for many seconds while doing the full erase)
 
Last edited:
Hi Paul,

I may start a little slow with some other distractions going on...

Will probably start on some on some of the components and libraries I have done stuff on, like serial, SPI, Wire, and maybe play with ili9341 code. But wondering approach for libraries like ili9341_t3, where a lot of the speed gains was due to the spi fifo queue, which Idont believe these chips support. Are you thinking we should integrate in DMA support? Or just make it work?
 
Re: stuff that needs work
a few functions in analog.c need to be implemented. should I just add that to post #6 ?
 
Hi Paul,

I may start a little slow with some other distractions going on...

Will probably start on some on some of the components and libraries I have done stuff on, like serial, SPI, Wire, and maybe play with ili9341 code. But wondering approach for libraries like ili9341_t3, where a lot of the speed gains was due to the spi fifo queue, which Idont believe these chips support. Are you thinking we should integrate in DMA support? Or just make it work?

my EVKB SDK SPI experiments used a SPI FIFO and messed with frame size to get data rates very close to SPI CLK.
https://forum.pjrc.com/threads/5426...B-(600-Mhz-M7)?p=192387&viewfull=1#post192387
 
Re: post #6 bug analogWrite doesn't work on pin 1 (maybe others?)

problem in core_pins.h
#define CORE_PIN0_CONFIG IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_02
#define CORE_PIN1_CONFIG IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_03

FIX:
#define CORE_PIN0_CONFIG IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_03
#define CORE_PIN1_CONFIG IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_02

untested :D
 
Last edited:
I formatted the list in Post #6 as a table.
At the last beta test there were some confusions, because several people worked on the same topic ( - for example make a lib compatible - ) without knowing about each other (happened to me sevreal times...). It would be great if you put your name there as soon as you start working on a topic, so that we don't do the same things.
 
I wrote to Robin today that I was ready to give my list position to another person since I won't be able to do much testing/developing until earliest mid February. But I will naturally read and follow here how it goes.
 
I'm still undecided what will be done with the rest of that 512K. Maybe a small filesystem like ESP uses? Or maybe we'll expand the bootloader's usage to allow larger programs?
If it was more than 512k, I'd say a filesystem would be good. With 512k only, I'd say use 256k for a giant eeprom, and add the remaining 256k to the programs..
Or..512k for eeprom.. this way it can be used for a filesystem - by the user.
 
At this time, PJRC would like to offer free beta test boards to the following people:

defragster, dgarcia42, duff, el_supremo, embedded-creations, Frank B, GremlinWrangler, JBeale, Koromix, KurtE, luni, manitou, MichaelMeissner, mjs513, oddson, Pedvide, Pensive, pictographer, nox711, sumotoy, Theremingenieur, tni, tonton81, WMXZ, Wozzy, xxxajk

To jump in now with the 1052 beta, please email Robin directly (actual email, not forum PM) with the magic words "I have free time to beta test" and your shipping address. There is no charge for these betas. PJRC will pay for shipping. If you're outside the USA and the carrier charges international tariff/vat/fees when the package arrives, you'll need to cover that cost. We can't pre-pay it from here.


If you are outside the US can you also include your phone number when you give me your address. We need to include it for customs.
 
Shutdown when temperature is "critical" (?) (added by Frank B)
Add events for temperature is "hot" + "cold" again (?) (added by Frank B)

Yeah - I already started looking at what's needed to get this implemented. To get the throttle back functions implemented need to look at throttling back the system clock. According to the manual 10.4.2.2 Thermal-aware power management - you can "implement temperature aware DVFS... as well temperature aware frequency scaling for other system components....". The example in the SDK just scales back the AHB_clk frequency until the lower temperature is reached then boosts it back up. With DVFS (still have to figure out how that works) you can change the modes to WAIT State or SUSPEND state. Looking through the sdk example now. Need a few things added to imrtx.h file to get it working though see post https://forum.pjrc.com/threads/5426...B-(600-Mhz-M7)?p=193773&viewfull=1#post193773.

Really not sure about the octop registers - only needs one so maybe we can hardcode that one.
 
I would'nt do throttling. For "critical", just a reset (that resets the chip, and disables pins) - on startup check the reset-reason and HALT. For "hot", just the event and leave the reaction to the user/program.. any other action could be unexpected and lead to questions or unwanted behaviour (if the T4 does something important or dangerous..this knows the user only)

Edit: with "eventresponder"
Maybe we can add some examplecode how to throttle for the case that the event "fires"... ?
 
Was actually looking at implementing both ways eventually. The SDK code is rather convoluted if you get into it and was planning on taking this incrementally especially since I never played around with this at this level :). Plan was going to get the throttling done first then do the DVFS piece. Was thinking you could also use the temp monitor to get some temperature profiles just as a test. Any help would be appreciated.

EDIT: Actually, have a good sdk example could use for ideas and guidance - the power-mode-switcher application that @manitou mentioned. Relatively straight forward. Getting good at going through the SDK.
 
Status
Not open for further replies.
Back
Top