Teensy-LC delivers an impressive collection of capabilities to make modern electronic projects simpler. It features an ARM Cortex-M0+ processor at 48 MHz, 62K Flash, 8K RAM, 13 16 bit analog input and a 12 bits analog output, 3 hardware Serial port, 1 SPI port and 2 I2C ports, USB, and a total of 27 I/O pins. See the technical specifications and pinouts below for details.
Teensy-LC maintains the same form-factor as Teensy 3.2, with most pins offering similar peripheral features. Be careful, Teensy LC pins are not 5 Volt tolerant.
Real Hardware Serial
Most modern projects involve serial communication with sensors, other chips, other systems, or even the internet. Hardware serial ports greatly simplify projects and enable excellent performance.
Teensy-LC provides plenty of serial connectivity: 2 SPI ports, 2 I2C, and 3 Serial ports. All 3 serial ports are supported by high quality drivers in Teensyduino, with both transmit and receive buffering, and even support for RS485 transmitter enable.
Teensy-LC will be ideal for inexpensive "Internet Of Things" projects when paired with a ESP8266 Wifi module, which requires a fast hardware serial or SPI port.
Efficient USB Communication
On the Teensy-LC, all USB data transfer are done directly to memory with minimal CPU overhead.
Teensy-LC supports USB Serial, MIDI, Keyboard (international layouts), Mouse, Joystick, and RawHID protocols. A full set of 16 bidirectional USB endpoints are supported by the hardware, allowing any type of USB device. As more USB protocols are added to Teensyduino, despite its low cost, Teensy-LC will be up the task.
Hardware Timers
Many Arduino libraries require a hardware timer. Traditional Arduino products have 3 or 4 timers, with only 1 or 2 providing more than 8 bit resolution.
Teensy-LC has a total of 7 timers, all of them with 16 or more bits of resolution, to allow excellent compatibility with easy-to-use libraries. Many combinations of popular libraries, which would normally conflict, can seamlessly run together on Teensy LC and Teensy 3.1.
Analog Input & Output at 12 Bit Resolution
Analog signals are critically important to many projects. Teensy-LC has 13 pins than can function as analog inputs. The effective analog resolution is 12 bits.
It also has a true 12 bit digital to analog converter, for an analog output signal.
32 bit ARM Cortex M0+ Processor
The Cortex-M0+ processor is a powerful, full 32 bit CPU, designed for lower power, lower cost devices.
Cortex-M0+ has fewer instructions and a simpler bus structure than the more powerful Cortex-M4 on Teensy 3.1. For simple code, M0+ often runs at similar speed, when running at the same clock frequency. For math-intensive applications, Cortex-M4 can be significantly faster, and of course it supports higher clock rates.
Cortex-M0+ at 48 MHz is much faster than 8 bit AVR processors at 16 MHz, especially when manipulating 16 and 32 bit variables!
TODO: expand this section... or add more details about the M0+ vs M4 differences.
5 Volt Buffer For WS2812/NeoPixel LED Projects
Teensy-LC provides a 5V output to directly drive WS2812/NeoPixel LEDs.
A 74LV1T125 buffer is connected to pin 17, with the increased output voltage available on another pin.
Depending on the project you are using, you will need to use one of the following 2 methods:
-
Calibration with the serial monitor
You will need to have a "NodeBlue Interface", "SimHub Interface" or "Nextion Interface" module in your project.
Attention : si the USB port is used for a Nextion, leds or other Simhub interfaces, you'll need to disconect SimHub in order to free the serial COM port.
In
Node Blue, open a serial monitor on the board (at the top of the window, select the correct COM port and click on the # icon), You can see the calibration messages in the serial monitor (window at the bottom in
Node Blue).
For each axis:
-
Click on the "Cal" entry of the analog input module "X", "Y" or "Z" (or any other name depending on the project). The message "Set to min position" is displayed.
-
Position the axis to the minimum (or a little more), and click again on the "Cal" entry: The message "Set to max position" is displayed.
-
Position the axis at the maximum (or a little less), and click again on the "Cal" entry: The message "Calibration finished" is displayed.
The calibration is finished, repeat the process for the other axes if necessary. The settings are saved in the EEPROM of the card and are restored at each restart.
To clear the calibration data, go to the "Settings" menu of
Node Blue, check "Clear Storage" and upload your project 2 times in a row.
-
Manual Calibration (if the USB Virtual serial port is not present or used by another non compatible module)
In Node Blue, display the "Controllers" tab at the top right. Select "Raw signed" as the display mode.
For each axis:
-
Double-click on the analog input module "X", "Y" or "Z" (or any other name depending on the project) concerned by the axis.
-
Position the axis to the minimum, copy the value displayed in the controller tab (adding a small margin), in the "In Min" parameter of the module.
-
Position the axis to the maximum, copy the value displayed in the controller tab (by removing a small margin), in the "In Max" parameter of the module.
Once each axis has been done :
-
Save the project
-
Select the com port among those detected (disconnect any other detected boards to be sure to program the board you want).
-
Upload the project to the board ("Upload" button).
The settings are saved in the flash memory of the board and are restored at each restart.