Teensy LC (Low Cost) is based on the 32-bit 48MHz ARM Cortex-M0+ processor and is the lowest cost Teensy available. It is formatted into a compact ‘teensy’ board outline for easy embedding into projects or for use with solderless breadboards. Perhaps best of all, it is compatible with the popular Arduino IDE programming environment as well as many of the existing Arduino libraries, so it is very easy to get up and running unlike many other advanced microcontrollers that are available.
- Teensy LC
- 1×14 (x2) male headers selectively plated with gold contacts and tin solder pins
- Handy pinout diagram
KEY FEATURES OF TEENSY LC:
- MKL26Z64VFT4 ARM Cortex-M0+ running at 48MHz
- 8K RAM
- 62K FLASH
- 128 bytes EEPROM (emulated in FLASH)
- 1 USB port
- 1 I2S Digital Audio
- 2 SPI one with FIFO
- 2 I2C
- 3 serial ports
- 4 DMA channels
- 10 PWM capable pins
- 27 digital I/O, all interrupt capable
- 24 breadboard friendly I/O pins
- 13 analog input pins with 1 12-bit (usable) ADC on-chip
- 1 analog output pins with 12-bit DAC resolution.
- 11 touch sensor inputs
- Compatible with Arduino IDE and many libraries
- Works with Windows, Mac OS X and Linux
- Small size is perfect for embedding or use with solderless breadboards
- Lowest cost Teensy board
- 3.3V operation
- 3.3V I/O (Not 5V tolerant)
The Teensy product line which is focused on being fast , small and Arduino compatible is developed by the company PJRC. They have a loyal following of designers and advanced hobbyists that create many libraries to take advantage of some of the more advanced features of the Teensy products or to modify Arduino libraries for compatibility. Many of them also participate in the excellent PJRC forum. The forum is targeted towards more advanced users and topics.
What the Teensy LC mainly brings to the party compared to other Teensy products is it is the lowest cost option. While it is at the low end of the Teensy product line, it is still very fast compared to standard Arduino products like the Uno and is about 8x faster.
It also has a a nice selection of I/O that includes a 12-bit analog output. It is a great low cost choice for someone looking to to embed an MCU into a project that has medium performance and I/O requirements. The main downside for some projects is that it is not 5V tolerant.
Getting Started with Teensy
Install Arduino IDE Software
To program the Teensy using the Arduino IDE, you must first have the IDE installed if it is not already. If it is installed but not the current version, now is a good time to update to the latest.
Be sure to use the downloaded version of the Arduino IDE which can be downloaded at: https://www.arduino.cc/en/main/software
Install Teensyduino Software
Teensyduino is the name of the PJRC software that adds features and libraries that support the Teensy boards on the Arduino IDE. Support is available for Windows, Mac OS X and Linux.
The download and installation instructions can be found at: https://www.pjrc.com/teensy/td_download.html
When Teensyduino is running which it should do automatically, a small window is opened on the desktop. This is the Teensy Loader application that handles the actual download to the Teensy board. Most of the time you can ignore this window as it defaults to Auto Mode which means it will take care of automatically downloading to the Teensy without needing to press the Teensy Program button, but it does need to be running in order to download to the Teensy boards.
Running Blink Program
Once you have the software installed, running the venerable ‘Blink’ program that blinks the on-board LED every second is no harder than a typical Arduino.
- Attach a Micro-B USB cable to the Teensy
- In the IDE select Tools / Board / Teensyduino / Teensy LC
- USB Type should be set to ‘Serial‘.
- Select the COM port the Teensy LC is on.
- Open Examples / Basic / Blink
- Press the upload button
The Teensy LC has the on-board LED attached to pin 13 like a typical Arduino.
If the setup is correct, the software will compile and download to the Teensy. The onboard LED should start blinking once per second. Since the board will already have Blink installed when you receive it, you might want to change the timing of the blink to verify the new download was successful.
Important information before going further with using Teensy LC
I/O is 3.3V tolerant only!
The Teensy LC operates at 3.3V internally and when driving digital outputs, it will output a 3.3V signal. This is typically fine for most 5V peripheral devices to detect a logic HIGH level though logic level converters can be used to provide a true 5V logic signal if needed. There is a pin labeled 17-5V on the end of the board that has is a buffered output version of the digital pin 17. This output HIGH level will be the same as the 5V (VIN) input. If powering VIN from a 5V source this provides one output pin that pulls up to 5V which can be handy for peripherals that require a true 5V signal like the WS2812 NeoPixel LED strip or a servo motor without resorting to a separate logic level converter. The current is limited to 8mA.
All digital inputs need to adhere to the 3.3V limitation to avoid damage. A logic level converter should be used if digital inputs are interfacing to 5V peripherals. In some cases, a 10k series resistor can be used to current limit a 5V input to safe levels without using a logic level converter. The caveat is that the total injected current using this technique cannot exceed the current consumption of the entire chip and therefore should not be used when operating the processor in one of its low power modes of operation.
Analog inputs also must observe the 3.3V limitation.
If you need a Teensy with similar form factor and I/O that is 5V tolerant, the Teensy 3.2 may be a good choice to consider.
Power – One Power Source at a Time!
The Teensy LC can be powered one of 3 different ways, but it is important to note that these are mutually exclusive unlike typical Arduino boards. Internally the module does not provide any power switching between the different power inputs. In essence, if you hook up two different power inputs such as through the USB cable and also through the VIN pin, those two power sources will be shorted together.
USB power (VUSB) – This is typically 5V supplied through the USB cable. A solder pad next to the USB connector also connects to the same VUSB power. An on-chip regulator provides 3.3V to power the CPU.
5V (VIN) pin – External power of 3.7V to 5.5V can be applied to the 5V pin which also powers the on-board 3.3V regulator to power the rest of the module.
3.3V pin (x2) – These are normally used to power 3.3V peripherals. Total current should be limited to less than 250mA to avoid overheating. Also if you draw too much power and cause the 3.3V to dip down around 3.0V, the CPU will reboot.
External power of 3.3V can also be applied to the 3.3V pins. This bypasses the on-board regulator and powers the module directly. This is the least desirable way to power the module as it bypasses some of the power protection circuitry.
The most likely way to run into trouble with power is by having the Teensy normally powered through VIN and then deciding to hookup the USB cable to download new code without disconnecting VIN first.
If it is desired to separate the VSUB and VIN power inputs, there is a trace between two large solder pads that can be cut as shown here. If the module is normally powered through VIN, this prevents the USB power from also connecting to the board.
A USB cable can be modified by cutting the red 5V power wire inside cable, but an easier/cleaner solution is to get a USB Micro-B cable that has both data lines and a DC power switch as shown below.
You can find the link to the full cable information at the bottom of this page or click on the pic.
Misc Bits of Info
The USB port on the Teensy LC has significant functionality not available on a normal Arduino. For most standard applications it should be set to the default “Serial” mode which is how it works with an Arduino. If you have problems connecting to the Teensy, check this setting. When the module is powered up for the first time, it may come up as Raw HID but can still be programmed. After that it will display Serial. Raw HID is the protocol that the Teensy uses for downloading code.
A quick scan of the menu options available gives an indication of the flexibility of the USB port on Teensy LC.
The connector used is the standard Micro-B USB. As with any boards that use this small connector, use care to push/pull the cable directly in and out of the connector and not apply pressure upwards in a lever motion to avoid possible damage.
The button on a Teensy board is not a typical reset button like on an Arduino. When pressed, the program button causes the Teensy to enter ‘Programming Mode” where it waits for a download over USB. If the Teensy is connected to the IDE via a USB cable, the last program will automatically be downloaded again and ran.
PJRC has a page of troubleshooting tips aimed at the LC and early 3.x boards which can be helpful if you run into issues with your setup.
Assembling the Module
The board ships with high quality selectively plated male headers that are hard to find. They have gold plating on the contact portion of the leg while the solder pins are tin plated for easiest soldering.
The board ships with the male headers loose. This provides maximum flexibility depending on how the board will be used or they can be replaced with other types of connectors such as female headers.
To ensure good alignment during soldering first insert the loose headers into a solderless breadboard. The Teensy board can then be placed on top of the headers and easily soldered in place.
If you want to socket the Teensy LC, it can be mated with these 14-pin female headers.
Note: Some pics may show the headers unsoldered for mock-up, but the headers must be soldered to make electrical connections.
Our Evaluation Results:
The Teensy line of boards are an excellent product that provides high performance and advanced I/O to tackle even the hardest problems which is why they are often found in advanced hobbyist projects as well as low volume production builds.
The PJRC forum provides access to excellent technical advice that is far more advanced than found on the normal Arduino forums. It is the best place to find information on how to use the advanced features found in the Teensy. It is not the place to get basic Arduino type questions answered however, which is good as the forum is not cluttered with ‘how do I blink an LED?’ type questions.
The Teensy LC is a good solid performer in the lower end of the Teensy performance spectrum but it is still about 8x faster than an Arduino Uno.
There are some other Teensy products that may be better suited depending on the application. The Teensy 3.2 has a similar I/O arrangement but has higher performance and more memory. It also has 5V tolerant I/O. There are also Teensy products like the Teensy 3.5 that have a larger form factor that provides for more I/O and built-in peripherals.
It is highly suggested to checkout the PJRC website and forum at the links below for additional information.
Before they are shipped, these modules are:
- Inspected & tested by PJRC
- Packaged in high quality resealable ESD bag for safe storage.
PJRC Forum – Excellent source of technical information
PJRC website – Good source of information with many example applications in blog posts.
Board Schematics – Scroll down for different schematics.
|Microcontroller||MKL26Z64VFT4 ARM Cortex-M0+|
|Clock Speed||48MHz nominal (Optionally 24MHz)|
|Pin Current Output||5mA. 4 pins have 20mA capability (Pins 5, 16,17, 21)
Pin 17 also has a VIN @ 8ma buffered output
|I/O Logic Levels||3.3V|
|5V I/O Compatibility||None|
|DC Current that can be drawn from 3.3V Pin||100mA maximum|
|Operating Voltage||3.7 – 5.5V on 5V (VIN) or VUSB pin|
|Typical Operating Current||<100mA typical @ 48MHz|
|Built-in LED||Attached to digital I/O Pin 13|
|USB Connector Style||Micro-B Female|
|Board Dimensions (PCB)||36 x 18mm (1.4 x 0.7″)|
|Datasheet||NXP MK26Z64VFT4 Datasheet|
|Reference Manual||NXP MK26Z64VFT4 Reference Manual|