Coming Soon: Teensy-LC (low cost Teensy)

Status
Not open for further replies.
wow. i've used multimeter temp sensor and LC's internal temp sensor to measure chip temp just doing i++ and prints, and I measure about 32C. do you have a thermometer? (or you could see what LC"s internal temp sensor reports -- some assembly required)
 
I could read the internal temp sensor and also attach a thermocouple. Using the camera was just the quickest way, and it doesn't get out of its cage too often... I don't have much spare time at the moment.
 
Two variants of LED blinking:

Using delay(): cold to the touch
Code:
void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
  delay(500);
  digitalWriteFast(LED_BUILTIN, !digitalReadFast(LED_BUILTIN));
}

Using elapsedMillis(): cold to the touch
Code:
void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
  static elapsedMillis timer;
  if (timer >= 500)
  {
    timer = 0;
    digitalWriteFast(LED_BUILTIN, !digitalReadFast(LED_BUILTIN));
  }  
}

Continuous SPI transfers: cold to the touch
Code:
#include <SPI.h>
void setup()
{
  SPI.begin();
  SPI.beginTransaction(SPISettings(12000000, MSBFIRST, SPI_MODE3));
}
void loop()
{
  SPI.transfer(0xFF); DOUT connected to DIN
}

So it must be my display (or the wiring), but it should (by far) not draw more than the allowed 100 mA.

Edit: Had a look at the datasheet: the display draws about 30 mA when the whole area is turned on. When the teensy LC chip got hot I supplied the display from the teensy's 3.3V regulator. Now I have it on 5V and the LC does not get hot. The display has its own on-board regulator, but it is said to have a 3..5V input range. So all was within the specifications I had.
 
Last edited:
22 more of the early boards are shipping today. These are the ones with green solder mask with gold plating, the same PCB material that will be used for the final products. This leaves only a few early boards left, and I believe those are cases where Robin doesn't have info.

I had originally planned ship these 22 last Monday. The release of Arduino 1.6.0 on Feb 9th pretty much set all my plans back by 1 week. On the plus side, 1.21-beta6 is looking really good.

These 22 are the first boards that will be able to upgrade their bootloader. The earlier ones (purple and green with tin plating) can not upgrade. At this point, the main need for the upgrade before the full Teensy-LC release will be adding low power support.

If anyone who got one of those first round *really* wants to play with low power modes within the next 3 weeks, please contact Robin directly by email and we'll arrange to send you another board. These are hand soldered by Erin, so please only request a 2nd board if you really do plan to do something with the low power modes before we fully release Teensy-LC next month.

Edit: here's a high-res photo:

teensylc.jpg
(click for full size)
 
Last edited:
quick question re beta testing -- I've replied to Robin's email with my address about 2 weeks ago, but I've heard nothing since. does one/do we get a notification when the board is shipped?

(not complaining, just wondering ... )
 
The LC is quite robust. I connected by mistake a 5 volt I2C ( with 4k7 pullup to 5V) display ...
It worked for hours (and is still living... :).

But please do not try this !
According to the datasheet , the max IO pin input voltage is VDD + 0.3 Volt
 
Mxx: I gave Robin my address some time ago. I did not get advance notification of the LC being shipped, and it arrived at my work address yesterday (I work just west of Boston).
 
Recently I sent out a batch of Teensy-LC beta boards, but I got distracted and didn't get the shipping notices out. Sorry about that. Some people can expect a pleasant surprise in the mail. :)
 
The LC is quite robust. I connected by mistake a 5 volt I2C ( with 4k7 pullup to 5V) display ...
It worked for hours (and is still living... :).

But please do not try this !
According to the datasheet , the max IO pin input voltage is VDD + 0.3 Volt

I've also overloaded 8 of the analogue pins @ 5v for extended periods (up to an hour at a time, sometimes more). Back in the land of 3.3v now - They still seem to work ok, one of them is fluctuating a bit but otherwise they work great :)
 
Paul: Not sure if you finished the cheater card - but since you wrote "17-5V" on the silkscreen - you might stick with that on the card in some fashion.
 
How do I get started with my Beta LC board?

I'm on Win7_64 with Arduino 1.6.0 and Teensyduino 1.21-beta6, Teensy Loader 1.21-beta6.
When I plug Teensy LC in, no serial port appears and pushing the load button on the board does nothing.
The board voltage is OK: +5V USB and +3.3V appear as expected on the board pins.

When I plug an old Teensy 3.0 into the same USB cable, Win7 says "installing device driver software..." and then it shows up as a "Teensy USB Serial" device with a COMxx number and it can be programmed and works as expected. So the USB cable, the PC and the software install seems OK.

UPDATE: holding down the button, releasing it, then pressing again gives me "Installing device driver..." and then "Device driver software was not successfully installed. Unidentified Device X device unplugged"
 
Last edited:
load a blinky example for the LC into the IDE. Compile and tell IDE to push download the result of the compile/build. Shouldn't need to push button on Teensy unless code it was last downloaded crashes.
I think they ship LCs with a blinky already installed, But put your own in with different blink timing.

May need to use older IDE - 1.6 is all still beta.
 
I have been using 1.6.0 for a while now and it works as expected with the LC, just some IDE bugs but all the TeensyLC sketches and libraries I've used work as advertised.
 
I rebooted my laptop, opened the IDE, connected Teensy LC. The LC board looks dead (nothing blinking), Windows sees no serial port or device, and the IDE says no serial ports available. I think many people would conclude it's broken at that point. I select Teensy LC in the IDE and click the "checkmark" button to compile (but not load) "Blink". Suddenly, Windows loads a device driver, COM20 appears, and now blink is loaded on the board and working. So it works, maybe that is the way it is supposed to work, but I don't remember it working this way before? Or maybe it did and I forgot, or maybe my other (non-beta) Teensy 2, 3.0, 3.1 boards had something preloaded already. Anyway, onwards...
 
At the end of TeensyDuino Install it says (in some fashion): CLICK COMPILE ONLY the first time. I've not seen other commentary on that event - but I've done it and not seen an issue with the Beta on v3.1's. Somehow it forces the first compile of the CORE or something that makes the system work though.
 
Paul,
Teensy-LC is now working with openGLCD on the GLCD test bed.

It worked "out of the box", with the latest code; however, because the board
was unknown, the library uses defaults, and the default pins are different pinout
from what Teensy 3 and 3.1 used with the GLCD test bed.

I've added support for this board to use the same pinout as the Teensy 3 and 3.1 since they
are digital pin pinout compatible.

I have a question and need a bit of help in one area.

Currently I went back to use a h/w level shifter.
My question is can the Teensy-LC use the 10k series resistors to simply
limit the back current when connecting 5v outputs to the Teensy 3v input pins like on Teensy 3.0 or will it require a real level shifter?

Also, the nanosecond delay code you gave me doesn't work on the processor used on the Teensy-LC
so the code is slowed down because it has to use Arduino API functions for its delays which
are considerably longer than necessary.

This is the code that breaks:
Code:
static __inline__ void      /* exactly 4 cycles/loop, max 2**32 loops */
_delay_loop_2_x( uint32_t __n )
{                                               /* cycles per loop      */
    __asm__ volatile (                          /* __n..one        zero */
                "L_%=__delay_loop_2_x:"               "\n\t"
                "subs   %0, #1"                         "\n\t"
//                "nop"                                   "\n\t"
                "bne    L_%=__delay_loop_2_x"         "\n"
                : "+r" (__n) :
    );
}

The assembler complains with this error
Error: instruction not supported in Thumb16 mode -- `subs r3,#1'

I don't know gcc/gas arm syntax or I'd fix it myself.

--- bill
 
Last edited:
Just got mine! Very nice soldering work. Now it's time to reciprocate the favor with some testing. BTW, are you transitioning to a new bootloader chip just for the Teensy? This one seems smaller than the mini 54 I remember on the Teensy 3.x series.
 
The assembler complains with this error
Error: instruction not supported in Thumb16 mode -- `subs r3,#1'

Try "sub" instead of "subs".

Really, the assembler should accept "subs", since the status bits are always updated. But this looks like a quick in the assembler.

But you'll need a #ifdef, to use "sub" on Teensy-LC and "subs" on the others. Yeah, it's messy.
 
Status
Not open for further replies.
Back
Top