Teensy Compatibility - TeensyUser/doc GitHub Wiki
Teensy Compatibility
While there are differences between the various ARM (LC, 3.0, 3.1, 3.2, 3.5, 3.6, 4.0, and 4.1) Teensys there is also a lot of commonality. This commonality can allow you to lay out a basic breadboard or prototype board, and move between different Teensys, and basic sketches would continue to work. Note, this document does not cover the Teensy MicroMod processor that Sparkfun sells, since that uses a different infrastructure than the DIP layout.
The areas where ARM Teensys are compatible are:
- All ARM Teensys use 3.3 volts as their native voltage. Some Teensys (LC, 3.0, 3.6, 4.0, and 4.1) can be damaged if they get more than 3.3 volts on any pin, while other Teensys (3.1, 3.2, and 3.5) will tolerate 5 volt input for the digital pins (the analog only pins and the reset, program pins cannot tolerate anything more than 3.3 volts). To be compatible, no Teensy pin except for VIN and VUSB must ever get more than 3.3 volts;
- The first 28 pins are laid out in a 2x14 grid, with the Teensy being 0.7" wide;
- All ARM Teensys use a micro-USB connector;
- The main Ground (next to pin 0), VIN, and 3.3v pins are in the same location;
- The analog ground pin (between the VIN and 3.3v pins) in the Teensy 3.0, 3.1, 3.2, 3.5, and 3.6 is in the same location as the secondary ground pin in the Teensy LC, 4.0, and 4.1. Thus you should use this ground pin for the analog pins;
- The inner pin VUSB that gives the USB voltage is in the same spot in all Teensys;
- All Teensys have a solder pad that normally connects VIN and VUSB to power the Teensy, but you can cut the solder pad if you want to separate the USB from the normal power pin;
- Pins 0/1 are connected to the first serial port (Serial1);
- Pins 7/8 are also connected to a serial port, though it is Serial2 in the Teensy 4.x boards and Serial3 in the Teensy 3.x and LC boards;
- Pins 11/12/13 are the first SPI bus common ports (MOSI, MISO, and SCLK respectively). Pin 10 is commonly used for the CS pin. See SPI for more details about the Arm Teensy SPI implementation;
- Pin 13 is connected to a LED to allow simple blinking scripts;
- The USB connection is known as just Serial.
- Pins 18/19 are the first I2C port (SDA, SCL). See the I2C page for more details about the I2C pins;
- Analog inputs can be done on pins 14-23. These pins have the alternate names of A0..A9;
- Pins 3, 4, 6, 22, and 23 are the common PWM (pulse-width modulation) pins across all Teensys.
- The 1.4" Teensys (LC, 3.2, and 4.0) have a back row of 5 special pins. The 2.4" Teensys (3.5, 3.6, and 4.1) have a similar row just before the micro SD card reader, but it is not in the same location as the 1.4" Teensys. 3 of the 5 pins are common between all Teensys (program, ground, and 3.3v power).
- The Teensy 3.2 has a single digital to analog (DAC) pin in the back row of pins (A14). The DAC can be used to make sounds if you hook it up to an amplifier and a speaker. The Teensy LC has a DAC in the same location, but it is named A12 instead of A14. The Teensy 3.5 and 3.6 have two DACs (A21 and A22). The Teensy 4.0 and 4.1 do not have any DACs.
Note, the audio shield uses different pins for the I2S sub-system on the Teensy 3.2, 3.5 and 3.6 micro-processors compared to the Teensy 4.0 and 4.1 microprocessors. You want to use audio shield revision A, B, or C on the Teensy 3.2, 3.5, and 3.6 microprocessors, and you want to use audio shield revision D on the Teensy 4.0 and 4.1 microprocessors.
In addition to different I2S pins, the audio shield on the Teensy 3.x needs to remap some of the SPI pins. The Teensy 4.0 and 4.1 cannot do this re-mapping and it must use pins 11, 12, and 13.
The Teensy LC does not support the audio shield because the audio library uses instructions that are present in the Teensy 3.x and 4.x micro-processors, but are not present in the Teensy LC.