Forum Rule: Always post complete source code & details to reproduce any issue!
Page 1 of 2 1 2 LastLast
Results 1 to 25 of 33

Thread: Integrate Teensy 4.1 design on custom PCB

  1. #1
    Junior Member
    Join Date
    Mar 2020
    Posts
    12

    Integrate Teensy 4.1 design on custom PCB

    Hi,

    Because of an ongoing project of ours, I would like to ask what it takes to integrate a MIMXRT1062CVL5B on our own PCB, it is a slightly different version than the one on Teensy 4.1. Differences are Temperature range industrial C and 500 Mhz processor.

    Due to support by e.g. Arduino and Zephyr I would like to stay close to the current design, because of compatibility.

    • Does this need a different bootloader? (remark on the page of the bootloader (compatibility with IMXRT1062DV*6B or IMXRT1062DV*6A))
    • Can the application code stay the same? Backward compatibility with the current teensy 4.1
    • Are there other considerations to keep into account?


    Any insight is welcome.

    Thanks
    Bob

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,465
    Nobody really knows. So far, at least as far as I know, nobody has built such a board and confirmed whether it works.

    NXP documents only a single JTAG ID on page 188 of the reference manual. So odds seem likely the bootloader chip won't be able to tell the difference between the different temperature spec parts. I can confirm the chip clocks at only 396 MHz when the bootloader is in control, not 600 MHz, so you should be fine with the 528 MHz limit of that part. Of course, while working with code, be careful to set Tools > CPU Speed to 528 MHz or less. It will default to 600 MHz.

    Truth is, I've never used the wide temperature parts. All I know is the info I've read. Sure looks like they're (probably) the exact same silicon, which NXP (maybe) tests different, and of course the one difference that doesn't take any guesswork is their price.

    Really the only way to find out would be to build a couple boards and see if they work. PJRC does not have any of the other temperature specs parts, so with the long lead times, seems unlikely I'll manage to test it.

  3. #3
    Junior Member
    Join Date
    May 2022
    Posts
    1
    Are you planning to use that chip only because it is currently in stock, or do you need the higher temp range?

    I have had luck ordering samples of MIMXRT1062DVJ6B from NXP's website even though they are out of stock for purchase.

  4. #4
    Junior Member
    Join Date
    Mar 2020
    Posts
    12
    Thank you very much for the reply @PaulStoffregen.

    @aaronlevan both, we do need the temp range and indeed the shortage does not help either.

  5. #5
    Have you tried the chip meanwhile? Can you please confirm that is working?

    Quote Originally Posted by Maverick2k View Post
    Thank you very much for the reply @PaulStoffregen.

    @aaronlevan both, we do need the temp range and indeed the shortage does not help either.

  6. #6
    Junior Member
    Join Date
    Mar 2020
    Posts
    12
    Hi Ted,

    No sorry, we did not come to that yet. And also do not dare to give an estimation of when that will happen.
    Quote Originally Posted by ted View Post
    Have you tried the chip meanwhile? Can you please confirm that is working?

  7. #7
    Dear Maverick2k,

    Thank you for the information.

    Regards,
    Ted

    Quote Originally Posted by Maverick2k View Post
    Hi Ted,

    No sorry, we did not come to that yet. And also do not dare to give an estimation of when that will happen.

  8. #8
    Quote Originally Posted by PaulStoffregen View Post
    Nobody really knows. So far, at least as far as I know, nobody has built such a board and confirmed whether it works.

    NXP documents only a single JTAG ID on page 188 of the reference manual. So odds seem likely the bootloader chip won't be able to tell the difference between the different temperature spec parts. I can confirm the chip clocks at only 396 MHz when the bootloader is in control, not 600 MHz, so you should be fine with the 528 MHz limit of that part. Of course, while working with code, be careful to set Tools > CPU Speed to 528 MHz or less. It will default to 600 MHz.

    Truth is, I've never used the wide temperature parts. All I know is the info I've read. Sure looks like they're (probably) the exact same silicon, which NXP (maybe) tests different, and of course the one difference that doesn't take any guesswork is their price.

    Really the only way to find out would be to build a couple boards and see if they work. PJRC does not have any of the other temperature specs parts, so with the long lead times, seems unlikely I'll manage to test it.
    We can confirm that RT1062 industrial version also works, with Teensy and MKL02 chip.

    We have used:
    MIMXRT1062CVL5B


    Click image for larger version. 

Name:	T-U63W141906A-06-3.jpg 
Views:	83 
Size:	181.4 KB 
ID:	31186

    Also we have tried with:
    MIMXRT1062DVL6B works also fine.

    Both chips have smaller package size than the chip on the Teensy.

    We have overheated above 100 degree, and changed the core code:
    https://github.com/PaulStoffregen/co.../tempmon.c#L10

    Worked ok. But for a long run we do not have an experience yet.

  9. #9
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    17,431
    Quote Originally Posted by ted View Post
    We can confirm that RT1062 industrial version also works, with Teensy and MKL02 chip.

    We have used:
    MIMXRT1062CVL5B
    ...
    Also we have tried with:
    MIMXRT1062DVL6B works also fine.

    Both chips have smaller package size than the chip on the Teensy.
    ...
    Very cool they got tested to work. Not cheap - but perhaps available.

    Those are smaller 10x10 size like on the T_4.0 instead of the 12x12 on the T_4.1?

  10. #10
    Quote Originally Posted by defragster View Post
    Very cool they got tested to work. Not cheap - but perhaps available.

    Those are smaller 10x10 size like on the T_4.0 instead of the 12x12 on the T_4.1?
    Yes:
    LFBGA196, plastic, low profile fine-pitch ball grid array; 196 balls; 0.65 mm pitch; 10 mm x 10 mm x 1.3 mm body.

    Oh I did not know that the 4.0 had the same package size.

  11. #11
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    17,431
    Quote Originally Posted by ted View Post
    Yes:
    LFBGA196, plastic, low profile fine-pitch ball grid array; 196 balls; 0.65 mm pitch; 10 mm x 10 mm x 1.3 mm body.

    Oh I did not know that the 4.0 had the same package size.
    Yes, T_4.0 came out with 10x10 and Pin# silkscreen easy large type fit to the MCU. T_4.1's went 12x12 for extra I/O pins and those to on board PHY to MagJack and QSPI needed larger bga pitch to run the wires on Teensy PCB with more normal build/drill - and the Pin# labels are twisted and smaller.

  12. #12
    Quote Originally Posted by defragster View Post
    Yes, T_4.0 came out with 10x10 and Pin# silkscreen easy large type fit to the MCU. T_4.1's went 12x12 for extra I/O pins and those to on board PHY to MagJack and QSPI needed larger bga pitch to run the wires on Teensy PCB with more normal build/drill - and the Pin# labels are twisted and smaller.
    Thanks for the info.

  13. #13
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    17,431
    Congratulations on getting a good build with that chip not seen tested yet. Good to know the bootloader chip can work with them and offer the extended temp range, or when needed fill in for the 600 MHz MCU with speed drop for others to build.

    Quote Originally Posted by ted View Post
    Thanks for the info.
    Just IIRC PJRC notes as they passed by.

  14. #14
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,465
    Thanks for confirming your experience with these chips. Several people have asked about these wide temperature chips over the last couple years. Testing them has been on my low priority to-do list, but the higher priority list seems to never get any shorter. Really glad to hear they worked for you.

    I've edited the T4 bootloader chip page to replace "have not been tested" with "Success with some of these chips has been reported on the forum" which links to your message. Hopefully this can help everyone in the future wishing to use these chips to find this conversation.

  15. #15
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,465
    @ted - Could I talk you into running this little program on both of those chips and share the results here?

    Code:
    void setup() {
      Serial.begin(9600);
      while (!Serial) ; // wait for Arduino Serial Monitor
      Serial.printf("CPU ID:   %08X\n", SCB_CPUID);
      Serial.printf("Fuse %X: %08X\n", (int)&HW_OCOTP_CFG2 & 0xFFF, HW_OCOTP_CFG2);
      Serial.printf("Fuse %X: %08X\n", (int)&HW_OCOTP_CFG3 & 0xFFF, HW_OCOTP_CFG3);
    }
    
    void loop() {
    }

  16. #16
    Hello Paul,

    Yes, of course.


    MIMXRT1062CVL5B
    CPU ID: 411FC271
    Fuse 430: 50010063
    Fuse 440: 00410002

    MIMXRT1062DVL6B (this is commercial, and as turned out this is used in the teensy 4.0, we thought both teensy 4.1 and teensy 4.0 uses the same package)
    CPU ID: 411FC271
    Fuse 430: 50010000
    Fuse 440: 00420002

    Hope it helps.

    Other question:
    We would like use "Code Security & Lockable Teensy" on the industrial version: MIMXRT1062CVL5B.

    Do you think we can do it safely with the current code? or needed to update?

    Thanks.

  17. #17
    I now have a working MIMXRT1062DVJ6B based custom board that I'm getting ready to share. Details to come soon.

  18. #18
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,465
    Quote Originally Posted by criznach View Post
    I now have a working MIMXRT1062DVJ6B based custom board that I'm getting ready to share. Details to come soon.
    If you share the PCB design here or on a site like github, please ping me if I've missed it. Would love to add a link from the T4 bootloader page.

  19. #19
    I'm about to order PCBs for Rev 3. Hopefully this round will be ready to share.

  20. #20
    Junior Member
    Join Date
    Sep 2023
    Posts
    8
    Quote Originally Posted by ted View Post
    We can confirm that RT1062 industrial version also works, with Teensy and MKL02 chip.

    We have used:
    MIMXRT1062CVL5B


    Click image for larger version. 

Name:	T-U63W141906A-06-3.jpg 
Views:	83 
Size:	181.4 KB 
ID:	31186

    Also we have tried with:
    MIMXRT1062DVL6B works also fine.

    Both chips have smaller package size than the chip on the Teensy.

    We have overheated above 100 degree, and changed the core code:
    https://github.com/PaulStoffregen/co.../tempmon.c#L10

    Worked ok. But for a long run we do not have an experience yet.
    Hello! We've integrated the teensy circuitry to one of our boards. I'm not really an expert to firmware things and programming so I don't have any idea regarding the flashing of the device.
    I did my research and it says I can use JTAG or SWD. I only saw JTAG pins in datasheet so I assumed those are the pins I needed to do the flashing.
    However, there is also a section for bootloaders, now I'm confused.

    Can you help advise which of the pins should I use for the flashing of the MCU? Also, can I just convert the previously .ino code to .hex to burn on the device?

    Thanks in advance!

  21. #21
    Quote Originally Posted by HMuana View Post
    Hello! We've integrated the teensy circuitry to one of our boards. I'm not really an expert to firmware things and programming so I don't have any idea regarding the flashing of the device.
    I did my research and it says I can use JTAG or SWD. I only saw JTAG pins in datasheet so I assumed those are the pins I needed to do the flashing.
    However, there is also a section for bootloaders, now I'm confused.

    Can you help advise which of the pins should I use for the flashing of the MCU? Also, can I just convert the previously .ino code to .hex to burn on the device?

    Thanks in advance!
    Hello,

    We do not use any JTAG or SWD. We just use USB cable to program it as a standard teensy 4.1 board (Arduino and teensy loader).
    You might need to press the program button at first time to start the firmware update.

  22. #22
    Junior Member
    Join Date
    Sep 2023
    Posts
    8
    Quote Originally Posted by ted View Post
    Hello,

    We do not use any JTAG or SWD. We just use USB cable to program it as a standard teensy 4.1 board (Arduino and teensy loader).
    You might need to press the program button at first time to start the firmware update.
    Hello Ted,

    Thanks for the prompt reply! Did you not re-create the PCB using CVL5B to develop your own teensy?
    The only connections I have from the USB port are supply pins and OTG1 +/- . I don't know if this is enough to program the fresh MCU.

    I tried doing the flashing using arduino but it doesn't recognize the device at all because it was not yet configured, I think...

  23. #23
    Quote Originally Posted by HMuana View Post
    Hello Ted,

    Thanks for the prompt reply! Did you not re-create the PCB using CVL5B to develop your own teensy?
    The only connections I have from the USB port are supply pins and OTG1 +/- . I don't know if this is enough to program the fresh MCU.

    I tried doing the flashing using arduino but it doesn't recognize the device at all because it was not yet configured, I think...
    USB_OTG1_DP and USB_OTG1_DN should working I think.
    Click image for larger version. 

Name:	Screenshot 2023-09-05 at 15.20.44.jpg 
Views:	10 
Size:	49.1 KB 
ID:	31935

  24. #24
    Junior Member
    Join Date
    Sep 2023
    Posts
    8
    Quote Originally Posted by ted View Post
    USB_OTG1_DP and USB_OTG1_DN should working I think.
    Click image for larger version. 

Name:	Screenshot 2023-09-05 at 15.20.44.jpg 
Views:	10 
Size:	49.1 KB 
ID:	31935
    Hello Ted,

    We modified the schematic and just took out the connections we need. Do you think this can be a reason why it is not working?

    Here's the error even just loading blink test run.
    Click image for larger version. 

Name:	Ero.jpg 
Views:	7 
Size:	41.3 KB 
ID:	31936

  25. #25
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    28,465
    Quote Originally Posted by HMuana View Post
    We modified the schematic and just took out the connections we need. Do you think this can be a reason why it is not working?
    Maybe something you removed really was needed?

    Or perhaps your design is perfect, but the soldering or other physical construction has a problem?

    Please understand we can't see your hardware or schematic, and we have almost no information other than a screenshot of an error you would get if nothing was connected you PC. The best anyone can do is blind guesswork. But there isn't even much info to try guessing.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •