Coming Soon: Teensy-LC (low cost Teensy)

Status
Not open for further replies.
I missed this... Yes I have time to play! But can wait the couple of weeks to let others, get a chance at the first 9
 
Last edited:
Hi Paul! Daniel Garcia and I would like to get FastLED ready for these, especially with the (awesome!) 5-volt level pin specifically for driving WS2811/WS2812 Neopixels.

Yes, I'll add one more to the green board build, and put you on the list.

FastLED is awesome!
 
The rest of the purple PCBs just arrived from OSH Park.

Here's a quick shout-out for Erin, who's hard at work hand soldering them!

erin1.jpg
(click for full size)


erin2.jpg
(click for full size)
 
Not just patience - very good finger / hand control too! I'm glad she benefits from a nice set of magnifying glasses, as soldering the PJRC version of the Mini54 by hand is not something I would ever attempt due to the tight pitch and the fairly inaccessible pins on the bottom of the die.

Between two left thumbs, fat twitchy fingers, and only a $35 set of magnifiers, my results would be rather predictable, aka lots of magic smoke being released. So I stick to the biggest version of the Mini54 and whenever I make a board, I usuallu have to deal with bridging on that too, carefully removing some solder at a time.

So, hat off to Erin, kudos for the development of the LC, and I can't wait to see if the RTC on this one can be made accurate too!
 
Last edited:
I didn't notice whether a LED is included in the initial pre-announcement sheet. Does Teensy-LC have a LED on pin 13 like Teensy-3.0 and Teensy-3.1?
 
Yup, LED is on pin 13.

I tried very hard to keep as much compatibility with Teensy 3.1's footprint and features as possible.
 
Yup, LED is on pin 13.

I tried very hard to keep as much compatibility with Teensy 3.1's footprint and features as possible.

Thanks and it is appreciated. I was updating my spreadsheet comparing the Teensy pinouts, and I'm curious why the DAC pin on the back was renamed A12 from A14? This is the pin that was reset in Teensy 3.0, and A14/DAC on Teensy 3.1. I realize because A12 is normally under 3.0/3.1, it would not have been accessible. But if you kept the numbering at A14, and made A12 unused, people could share scripts/shields written for the 3.1 that uses the DAC (or analog pin A14) without having to use conditional compilation.
 
Because Teensy 3.1 has A12 and A13 on the back, so that pin is A14. Teensy 3-LC does not have the rear pads.

However, reasonable question. What is the path of "least surprise"? Calling it A14 (so sketches that use A14 on Teensy 3.1 also work on LC, but requiring explanation of "why is it 14 and where are 12 and 13") or calling it A12 (so it is a contiguous block of analog input numbers).

I suspect that it doesn't matter too much since in practice that pin is more frequently used as a DAC than as an ADC.
 
Yeah, I thought about this too, for quite some time. On one hand, keeping the pin name identical would be nice. On the other hand, numbering the pins sequentially is a well established Arduino convention.

We haven't printed documentation cards yet. The first 9 beta test boards ship on Monday. So it's still possible to change what the pin is named.

My gut feeling says following the well established Arduino convention is probably best over the long term. But maybe calling it "26/A14/DAC" would be better than "26/A12/DAC"? Or maybe that's just replacing the A14 -> A12 question with a question about the "missing" A12 & A13 pins?
 
I should also mention, this pin and also A10 and A11 have digital I/O capability. On Teensy 3.1 they're analog only.

Things are very similar, but not perfectly identical between the 2 boards. While I want the 2 boards to be as interchangeable as possible, I also want the reference card to clearly communicate (at a glance) when the actual hardware capability actually is.
 
My two 2cents on the A12/A14 question is that 'least surprise' would be to conform to the existing Teensy pinout, with the reference card having a '*' to say that A12 and A13 are only found on higher spec Teensy3.1. As it is the card I'm looking at here goes A0-A9 and then jumps to A14, since the rest of the labels are on the back so we already have non sequential numbering after A9 on the ref card.

That said this does leave you open to complaints from new customers working out what they can do for $10, buying an LC and then complaining when they come up short by two pins.

In fact my suggestion would be for the final ref card to make it quite clear what the LC cannot do (link to an incompatible libraries page?) to minimise the number of 'I brought a Teensy and it doesn't do X' problems showing up. There is some potential for a fraudulent reseller to onsell LCs for the Teensy3 price and a lot of the time user code would 'work'. At least the two boards are visually very distinct so we can ask 'is your IC vertical or 45' if people are having trouble with the Audio or CAN libraries.

GW
 
Yes, all the pins on Teensy-LC have digital I/O, except of course the power and ground.

I believe all of our official distributors are very reputable companies, who would never intentionally misrepresent a product. Robin & I feel pretty strongly about business ethics. If we felt a distributor was acting deceptively, we'd almost certainly stop doing business them. Fortunately, all our official distributors are really good companies run by great people, so of all the possibilities that might go wrong, I feel this is the least likely to ever happen.

Also, the new board has "Teensy-LC" printed on the bottom, since there's no SMT pads and other stuff taking up all the space, like Teensy 3.1.
 
That said this does leave you open to complaints from new customers working out what they can do for $10, buying an LC and then complaining when they come up short by two pins.

That is a great point, and argues for keeping the A12 designation. "Well it says A14 so naturally I assumed there were at least 14 analog inputs".
 
Regarding A12/A14 scenario;

It depends on how you're marketing the board. I see it as a Low Cost Teensy 3.0/3.1; as such, I'd say keeping pinouts and stuff including numbering as close to the T3.0/3.1 makes sense.

If you were trying to market it as teensy 3.2 or something, then I'd renumber the pins correctly, but in this case, you've gone way out of the way to make sure they're as hardware compatible as possible; you may as-well make them as logical and software compatible as possible too.

Just my two cents.
 
Sorry wasn't sniping at the official distributors and the simple fact that you have ignored your 'marketing department' and are not talking of the LC as 'new and improved' or as a 'Teensy3LC' or '4' is admirable. Was more thinking about how the ref card could be worded (and what the board layout already does) to define what the LC is (awesome but not as awesome as a 3.1) for people meeting it for the first time.

Another way to look at the long term is 'can we make as much code as possible designed for an LC just work on a 3.1'. At the moment assuming the user sticks to serial ports and the default SPI or I2C ports the only issues are a couple of PWM pins and the 5V out pin (plus anybody who uses the ADC as a digital out).

Which brings the question back to 'call it A14 for programing simplicity' or 'call it A12 for buyer simplicity'.

Hey at least it doesn't have a pin33!

GW
 
With the new bootloader IC, does the "old" Mini54 support the MKL26Z64 from the Teensy-LC (And vice versa, MK20DX256 with MKL02Z32)?
 
Teensy-LC is based on Freescale part MKL26Z64.

I'm wondering what symbol is provided by the toolchain for testing in an ifdef for this new board.

Code:
ifdef MKL26Z64

Is that the exact string to use and not, say, MKL26Z64VFT4?
 
Use this:

Code:
#if defined(__MKL26Z64__)

Edit: I also created KINETISK and KINETISL. At this point, I do not recommend their use outside the core library. I'm still debating if they should be __KINETISK__ and __KINETISL__ or something else. If you do use these, please expect them to change.

In fact, everything you see on github at this moment should be considered "alpha" or "experimental" or even "unpredictable" status.

Well, except for __MKL26Z64__. You can depend on that remaining stable. Likewise for Arduino APIs and well documented Teensyduino extensions, like IntervalTimer and elapsedMillis.
 
Last edited:
does the "old" Mini54 support the MKL26Z64 from the Teensy-LC (And vice versa, MK20DX256 with MKL02Z32)?

No. Each bootloader chip only supports the same chip it's used with on Teensy.

At some point in the (perhaps very distant) future, we'll probably switch Teensy 3.1 from the Mini54 to the MKL02Z32. When/if that happens, the MKL02Z32 will gain support for the MK20DX256 chip. But that could be a long way off, or it might never come about.

Likewise, future Teensy boards will probably use the MKL02Z32. When those arrive, I'll probably make unified firmware. Maybe. But right now, I'm pretty focused on simply getting Teensy-LC officially released!
 
Status
Not open for further replies.
Back
Top