.. _teensy40: PJRC TEENSY 4 ############# Overview ******** The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. .. figure:: ../../../../../../../../../zephyr/boards/arm/teensy4/doc/teensy40.jpg :align: center :alt: TEENSY40 TEENSY40 (Credit: https://www.pjrc.com) .. figure:: ../../../../../../../../../zephyr/boards/arm/teensy4/doc/teensy41.jpg :align: center :alt: TEENSY41 TEENSY41 (Credit: https://www.pjrc.com) Hardware ******** Teensy 4.0: - MIMXRT1062DVL6A MCU (600 MHz, 1024 KB on-chip memory) - 16 Mbit QSPI Flash - LED - USB 2.0 host connector Teensy 4.1: - MIMXRT1062DVJ6A MCU (600 MHz, 1024 KB on-chip memory) - 64 Mbit QSPI Flash - LED - USB 2.0 host connector - USB 2.0 OTG connector - 10/100 Mbit/s Ethernet PHY - TF socket for SD card See the `Teensy 4.0 Website`_ for a complete hardware description. Supported Features ================== The teensy40 board configuration supports the following hardware features: +-----------+------------+-------------------------------------+ | Interface | Controller | Driver/Component | +===========+============+=====================================+ | NVIC | on-chip | nested vector interrupt controller | +-----------+------------+-------------------------------------+ | SYSTICK | on-chip | systick | +-----------+------------+-------------------------------------+ | GPIO | on-chip | gpio | +-----------+------------+-------------------------------------+ | I2C | on-chip | i2c | +-----------+------------+-------------------------------------+ | UART | on-chip | serial port-polling; | | | | serial port-interrupt | +-----------+------------+-------------------------------------+ | USB | on-chip | USB device | +-----------+------------+-------------------------------------+ The default configuration can be found in the defconfig file: ``boards/arm/teensy4/teensy40_defconfig`` The teensy41 board configuration supports additional hardware features: +-----------+------------+-------------------------------------+ | Interface | Controller | Driver/Component | +===========+============+=====================================+ | SDHC | on-chip | disk access | +-----------+------------+-------------------------------------+ | ENET | on-chip | ethernet | +-----------+------------+-------------------------------------+ The default configuration can be found in the defconfig file: ``boards/arm/teensy4/teensy41_defconfig`` Other hardware features are not currently supported by the port. Connections and IOs =================== Pin mappings from Teensy to MIMXRT1062 SoC. +-----+------------+-------------------------------------+ | Pin | Pad ID | Usage | +=====+============+=====================================+ | 0 | AD_B0_03 | GPIO1_3 / UART6_RX / CAN2_RX | +-----+------------+-------------------------------------+ | 1 | AD_B0_02 | GPIO1_2 / UART6_TX / CAN2_TX | +-----+------------+-------------------------------------+ | 2 | EMC_04 | GPIO4_4 | +-----+------------+-------------------------------------+ | 3 | EMC_05 | GPIO4_5 | +-----+------------+-------------------------------------+ | 4 | EMC_06 | GPIO4_6 | +-----+------------+-------------------------------------+ | 5 | EMC_08 | GPIO4_8 | +-----+------------+-------------------------------------+ | 6 | B0_10 | GPIO2_10 | +-----+------------+-------------------------------------+ | 7 | B1_01 | GPIO2_17 / UART4_RX | +-----+------------+-------------------------------------+ | 8 | B1_00 | GPIO2_16 / UART4_TX | +-----+------------+-------------------------------------+ | 9 | B0_11 | GPIO2_11 | +-----+------------+-------------------------------------+ | 10 | B0_00 | GPIO2_0 | +-----+------------+-------------------------------------+ | 11 | B0_02 | GPIO2_2 | +-----+------------+-------------------------------------+ | 12 | B0_01 | GPIO2_1 | +-----+------------+-------------------------------------+ | 13 | B0_03 | GPIO2_3 / LED | +-----+------------+-------------------------------------+ | 14 | AD_B1_02 | GPIO1_18 / UART2_TX | +-----+------------+-------------------------------------+ | 15 | AD_B1_03 | GPIO1_19 / UART2_RX | +-----+------------+-------------------------------------+ | 16 | AD_B1_07 | GPIO1_23 / UART3_RX / I2C3_SCL | +-----+------------+-------------------------------------+ | 17 | AD_B1_06 | GPIO1_22 / UART3_TX / I2C3_SDA | +-----+------------+-------------------------------------+ | 18 | AD_B1_01 | GPIO1_17 / I2C1_SDA | +-----+------------+-------------------------------------+ | 19 | AD_B1_00 | GPIO1_16 / I2C1_SCL | +-----+------------+-------------------------------------+ | 20 | AD_B1_10 | GPIO1_26 / UART8_TX | +-----+------------+-------------------------------------+ | 21 | AD_B1_11 | GPIO1_27 / UART8_RX | +-----+------------+-------------------------------------+ | 22 | AD_B1_08 | GPIO1_24 / CAN1_TX | +-----+------------+-------------------------------------+ | 23 | AD_B1_09 | GPIO1_25 / CAN1_RX | +-----+------------+-------------------------------------+ | 24 | AD_B0_12 | GPIO1_12 / UART1_TX / I2C4_SCL | +-----+------------+-------------------------------------+ | 25 | AD_B0_13 | GPIO1_13 / UART1_RX / I2C4_SDA | +-----+------------+-------------------------------------+ | 26 | AD_B1_14 | GPIO1_30 | +-----+------------+-------------------------------------+ | 27 | AD_B1_15 | GPIO1_31 | +-----+------------+-------------------------------------+ | 28 | EMC_32 | GPIO3_18 / UART7_RX | +-----+------------+-------------------------------------+ | 29 | EMC_31 | GPIO4_31 / UART7_TX | +-----+------------+-------------------------------------+ | 30 | EMC_37 | GPIO3_23 / CAN3_RX | +-----+------------+-------------------------------------+ | 31 | EMC_36 | GPIO3_22 / CAN3_TX | +-----+------------+-------------------------------------+ | 32 | B0_12 | GPIO2_12 | +-----+------------+-------------------------------------+ | 33 | EMC_07 | GPIO4_7 | +-----+------------+-------------------------------------+ Only Teensy 4.0: +-----+------------+-------------------------------------+ | 34 | SD_B0_03 | GPIO3_15 | +-----+------------+-------------------------------------+ | 35 | SD_B0_02 | GPIO3_14 | +-----+------------+-------------------------------------+ | 36 | SD_B0_01 | GPIO3_13 | +-----+------------+-------------------------------------+ | 37 | SD_B0_00 | GPIO3_12 | +-----+------------+-------------------------------------+ | 38 | SD_B0_05 | GPIO3_17 | +-----+------------+-------------------------------------+ | 39 | SD_B0_04 | GPIO3_16 | +-----+------------+-------------------------------------+ Only Teensy 4.1: +-----+------------+-------------------------------------+ | 34 | B1_13 | GPIO2_29 / UART5_RX | +-----+------------+-------------------------------------+ | 35 | B1_12 | GPIO2_28 / UART5_TX | +-----+------------+-------------------------------------+ | 36 | B1_02 | GPIO2_18 | +-----+------------+-------------------------------------+ | 37 | B1_03 | GPIO2_19 | +-----+------------+-------------------------------------+ | 38 | AD_B1_12 | GPIO1_28 | +-----+------------+-------------------------------------+ | 39 | AD_B1_13 | GPIO1_29 | +-----+------------+-------------------------------------+ | 40 | AD_B1_04 | GPIO1_20 | +-----+------------+-------------------------------------+ | 41 | AD_B1_05 | GPIO1_21 | +-----+------------+-------------------------------------+ Programming and Debugging ************************* Flashing ======== Build applications as usual (see :ref:`build_an_application` for more details). Flash hex-file with the documented tools: .. _Teensy flash tools: https://www.pjrc.com/teensy/loader.html Debugging ========= Console output is mapped to teensy pins 0 (RX1) and 1 (TX1). Connect a usb-to-serial adapter to use this serial console. Use the following settings with your serial terminal of choice (minicom, putty, etc.): - Speed: 115200 - Data: 8 bits - Parity: None - Stop bits: 1 References ********** .. _Teensy 4.0 Website: https://www.pjrc.com/store/teensy40.html .. _Teensy Schematics: https://www.pjrc.com/teensy/schematic.html .. _i.MX RT1060 Website: https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series/i.mx-rt1060-crossover-processor-with-arm-cortex-m7-core:i.MX-RT1060 .. _i.MX RT1060 Datasheet: https://www.nxp.com/docs/en/nxp/data-sheets/IMXRT1060CEC.pdf .. _i.MX RT1060 Reference Manual: https://www.nxp.com/webapp/Download?colCode=IMXRT1060RM