The Teensy is a breadboard-friendly development board with loads of features in a, well, teensy package. The Teensy LC (Low Cost) is a 32 bit microcontroller board that provides you with an uncomplicated option for getting started with the Teensy line of products without breaking the bank!
The Teensy LC comes pre-flashed with a bootloader so you can program it using the on-board USB connection: No external programmer needed! You can program for the Teensy in your favorite program editor using C or you can install the Teensyduino add-on for the Arduino IDE and write Arduino sketches for Teensy!
The processor on the Teensy also has access to the USB and can emulate any kind of USB device you need it to be, making it great for USB-MIDI and other HID projects. The 32 bit processor brings a few other features to the table as well, such as multiple channels of Direct Memory Access and an I2S digital audio interface! There are also 2 separate interval timers! Also, the Teensy LC can provide system voltage of 3.3V or 5V to other devices at up to 5-20mA.
All of this functionality is jammed into a 1.4 x 0.7 inch board with all headers on a 0.1" grid so you can slap it on a breadboard and get to work! So, what sets the Teensy LC apart from the Teensy 3.1? First off, this version has been streamlined to be as cost effective as possible. Obviously, the LC doesn't share a lot of power that the 3.1 possesses but by no means does it make the LC a 'weak' board! The Teensy LC is equipped with 8kB RAM, 62kB of flash memory, and 27 Digital I/O pins with 13 high res Analog inputs.
Note: The Teensy LC does not come with a micro-B USB cable, please check the Recommended Products section below for an appropriate one.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 17 ratings:
2 of 2 found this helpful:
This little unit really delivers. It has great performance at a very low cost. Does everything advertised and more. The support by the manufacturer was tremendous. I needed to do a very particular I2C function and I was able to post my problem and get tons of help from other uses and the manufacturer himself. Using this in the Arduino environment made it very easy to program. I will definitely get more of these!
1 of 1 found this helpful:
I got this (misguidedly) for a ADB->USB converter for a keyboard I had, turns out I actually needed a ATmega32u4 based board, not this, so I couldn't use it for that purpose. It's been really nice for other things like low-level DSP, LED control, etc.
2 of 2 found this helpful:
I needed the smallness of the Teensy, so I could add it to a board containing other circuitry. It's nice to have more pins, too. But I am used to the 5V Arduino, so the whole 3.3V thing has been a little daunting. Couldn't get it to work with a 5V I2C LCD module, so am going back to the drawing board on that one. For most I/O, 3V operation should be no problem.
3 of 14 found this helpful:
I put mustered on it and ate that siht....
I really like tiny form factor devboards, and the Teensy LC blows the competition out of the water with unbeatable price and performance ratio. Compared to ATmegaXX8 based boards (most Arduino Minis, Adafruit Trinkets, and Sparkfun ones) this has native USB support which means it can become some very useful computer peripherals. I implemented an MIDI->USB bridge with literally 20 lines of code in Teensyduino. Very recommended!
I have used lots of Teensy LCs in lots of projects. The Arduino support is great, supporting all the hardware I've cared about. The chip is capable, with a good assortment of serial devices and high resolution ADCs. The clue level on the Teensy forum is high.
The Teensy 3.x is even better, but the LC is almost always good enough. (Notable exceptions: Teensy Audio Library and OctoWS2811 require 3.x.)
I just wish it had a reset button.
I've probably used over 100 Teensy LC boards in projects, and they are quite awesome as USB HID devices. (Also, they are "Low Cost!")
If you Arduino project could benefit from some speed, most lines of code or better peripherals this is the board for you!
I've used other Teensy boards several times before and never been disappointed. Same situation here. I needed a simple way to drive a relay from USB, and for $15 and 15 minutes of coding, I have my relay. Simple, effective.
The board does everything you would expect for a more expensive model.
Pros: Clean power supply Simple programming Basic USB driver (plug and play)
Cons: 3.3v pin limitations ADC is choppy even with filtering Lack of documentation from SparkFun
I've used Teensy 3.2 in a number of projects, but always only used a small fraction of the memory, even with pulling in various libraries. In the LC the biggest difference is less memory (though there are other features left out, only 1 ADC, no differential input PGA, ...) But you get a 32 bit ARM for less than the price of an official Arduino. This is a way faster chip. My loop() is running at 20,000 times a second, which is much faster than I actually need
Even tho I am an experienced c++ programmer I have been using the Arduino compatible Teensyduino compiler and libraries because there are a lot of Arduino drivers for I/O chips available. Usually these work fine on Teensy.
i had to put it aside for a while, because my mlx90460 project required more memory, but since i have created code that runs within its 8k of memory. of use are its faster spi/i2c data bus. with the arduino mega i can only run i2c bus up to 800khz (or that is what it is in settings, i have not hooked up ) o-scope to verify it yet, but on teensy (as well as 3.1/3.2) it can go upwards of 4mhz (only with devices that support those speeds, and only safely with read only operations)
I think it is excellent for projects that can work with less than 8k of ram (keeping in mind projects should use 6k or less because of functions utilization of stack to store pointers to memory locations)
0 of 3 found this helpful:
The only thing that would improve this product is to ship it with pins to mount it to a breadboard. I can't seem to find anything that works perfectly for this during development.
A lot of these small boards require a separate programming board, including my favorite "the SparkFun Thing." The Teensy LC programing via the on board USB.
I've used a lot of the functionality, including getting the sleep functionality to work, 3 separate hardware interrupts, I2c, PWM. Very cool, lots of I/O.
0 of 1 found this helpful:
Wow !
Wanted physical buttons for my photobooth, done! With some searching in the interwebs, I made my own code with Arduino and it's a charm.
Its cheap, its small & its fast. Was looking for something to add extra functionality to an electronic toy and the Teensy LC did the job perfectly. I programmed it in C and used the download tool to flash it, but I did also try it out with the Arduino IDE and with the add-on installed that worked great too.
This board can do a lot for its cost and tiny size. Also the Teensyduino extensions for the standard Arduino IDE are excellent.
When considering this board bear in mind that it is incompatible with some Teensy libraries (the Teensy Audio library, for instance)
Some compromise is to be expected from a low-cost board, of course: it's just important to understand what those limitations are if they'll affect your project.
I can't find the correlation between the digital pin numbers (0-23) and the port registers (PORTA, PORTB, etc.) Can anyone point me in the right direction?
Check out the schematic and if you need more information check out the datasheet for the chip.
Excellent. Thank you!
While the micro on the Teensy LC has some RTC hardware it is missing the capability to use an external crystal and as such at least at Mar2015 the linked 'using RTC' page was not relevant and the software not supported. Suggest removing the link in the interest of avoiding confusion
How is it not relevant? The image in the example link shows exactly where on the underside of the board you need to attach the crystal. Is it really too difficult to break these pins out to use a different crystal? why would you need anything other than a 32Khz crystal, since that's what ALL RTC products use for time keeping?
The Teensy LC doesn't have the spots on the underside of the board to attach the 32kHz crystal - only the Teensy 3 does.
hmm...I do stand corrected, thank you.
Shouldn't this CPU be an ARM Cortex M4? The description indicates ARM Cortex M0. Sorry - was looking at Teensy 3.0
I am confused about the analog inputs. On pjrc.com (the teensy website) it says the ADC is 16-bit, but the usable/effective resolution is 12-bit. Why is this?
Belated reply, but Paul/PJRC says that because he's exceedingly honest. The ADC's in theory have X-bits, but because they're jammed on the same silicone as the rest of the processor the reality is you could never expect that. The effective number of bits (ENOB) is then rated more realistically. You can with supersampling expect that maybe you would get better resolution than 12-bit...but you have to know what you're doing.
Summary: XX-bit (16-bit you said, i haven't verified) = Manufacturer's ideal world rating. 12-bit ENOB = realistic rating given by paul
What does it mean that there are 3 UARTs, but only one has FIFO? Does that just mean that the buffer is handled in software not hardware, or is there a bigger issue I need to worry about?
The FIFO is an extra buffer in hardware. It really helps at fast baud rates, allowing several characters to be buffered in the hardware and all moved to the larger software buffer with only a single interrupt. If other stuff is doing interrupts at higher priority, it allows more interrupt latency from other code before incoming serial data would be lost, or the output fails to keep maximum speed. FIFOs also reduce the total number of interrupts, which is more efficient.
Teensy-LC does not have FIFOs. Neither do any of the normal AVR Arduino boards.
Teensy 3.1 does have FIFOs on 2 of its 3 serial ports. If you're going to use fast baud rates, especially on 2 ports simultaneously, or in combination with other libraries using a lot of interrupts, the get higher performance Teensy 3.1.
For slow baud rates, like 38400 or less, the FIFOs rarely make much difference.
is there a free solution for programming this in C ? not arduino ?
I'm using a free (code size limit) version or Rowley Crossworks since that's what I develop on at work (on the paid for version obviously). Install the kinetis support packages for this micro and you're ready to go. Just remember to #define STARTUP_ON_RESET ... anyone who's used xworks has probably learnt this the hard way :P
There is a Makefile you can use without Arduino. To get it you have to download and install everything, which is a bit wasteful in bandwidth and disk space. After installing, the Makefile in Arduino's hardware/teensy/avr/teensy3 folder.
It is nice.. but for the same price you can get a 80Mhz M4 (FPU), 2 buttons, LED, full JTAG through USB, development platform, GPIOs, SPI, I2C... http://www.ti.com/tool/ek-tm4c123gxl#buy
That certainly is a much more powerful micro for the same price - but the board is 4x the size ...
To use the RTC it is best to add a very low power 32kHz oscillator connected to the RTC input pin. Keep the complete circuit powered from a battery and use its low leakage mode to reduce the power to the 1..2uA range. To wake up, a low leakage wakeup (LLWU) input can be used or even an alarm configured in the RTC itself. It is also possible to use the RTC without any crystal by clocking it from the internal LPO (1kHz RC oscillator). This clock continues in the low leakage modes so can also maintain time as in the case discussed previously. It will however have a larger drift than a crystal or external oscillator. More info at http://www.utasker.com/kinetis/KL_RTC.html and http://www.utasker.com/kinetis/LLWU.html There is also a "Teensy LC" simulator at http://www.utasker.com/kinetis/TEENSY_LC.html
It's cheaper, sure, but why not spend the extra two or three dollars to just get the 3.1? it's a really really good board that you can use for all sorts of different things...
If you want to make 3-50 boards of something and the LC can work, then the $7 price difference adds up.
If you would throw down a simpler arduino, but maybbbbeeee worry about processor overhead, you might want to try the LC.
If you want a 5V pin! There are a couple functional differences on the LC that could sometimes be better than the 3.1 equivalent.
But yeah the 3.1 is a sexy beast to compete with, but I'm just saying that the LC also has its place.
I have one of the Teensy LC beta boards, it works nicely and is of course, cheaper than the Teensy 3.1 if you don't need the few extra capabilities of its bigger brother.