Teensy 3.1 & Teensyduino 1.17 Released

Status
Not open for further replies.
So glad to see the 3.1 out! Ordered 4 this morning, downloading the datasheet/manual, and I will start bringing the LED library around to it. (Been focusing on day job/personal projects for the past couple of months, life does that sometimes - but still using the teensy 3 for a lot of my stuff).
 
Nobody commented on the change in rated speed from 48 MHz to 72 MHz. Is this in fact and if so does it mean that external interrupt latency will be much less ?
 
It actually makes very little difference, since both overclock quite well at 96 MHz.

However, the higher bandwidth flash and bigger cache do help some code run faster at 96 MHz.
 
Last edited:
Yes, same crystal, same I/O clock rate.

Teensyduino 1.17 does not support 72 MHz. I'm planning to add it soon, but this is more work than it might at first seem. When 72 MHz is used for the ARM code, the I/O clock will be 36 MHz.
 
What is the current I/O clock with Teensy 3.0 and then with 3.1 ? Just want to determine how much difference there will be when 72 MHz is supported.
 
Both use 48 MHz I/O clock when the CPU runs at 48 or 96 MHz. When the CPU runs at 24 MHz, the I/O clock is 24 MHz. The clocks are exactly the same on 3.0 and 3.1.
 
Great news. The Teensy 3.1 energy consumption is quite the same than T3.0 ^^

Teensy 3.1 is powered with 3 AAA brand new batteries (4.7V):
24MHz: 15mA
48MHz: 23mA
96MHz: 32mA
250uA with DeepSleep (LowPower_Teensy3.h)

With 2 AAA batteries (3.1V), the values are the same, except 640uA with DeepSleep (same strangeness than T3.0)
 
Last edited:
Just installed 1.17 rc3 and I do not see any references to Teensy 3.1 or MK20DX256VLH7. Expected to see at least a .ld file....
 
I upgraded to the 64-bit Linux 1.17 version, and I can select Teensy 3.1 if I run the IDE with a Teensy attached to the system. Given the 1.17rc3 release was announced before the Teensy 3.1 was announced, I imagine you have to go to the official 1.17 release.
 
Paul,

Just got the new Teensy 3.1, wanted to give it a try. I loaded up the new Teensyduino 1.17, but I don't see 3.1 listed as a board, is this correct? Should I be using Teensy 3.0 to upload? Using Win 7 64 bit.

You don't need to uninstall anything before upgrading to the new version of Teensyduino, correct? I installed the 1.17(final) version in the same directory that I had 1.17 (rc3) in. That is the correct procedure, right?

Thanks,

-ren
 
Last edited:
You don't need to uninstall anything before upgrading to the new version of Teensyduino, correct? I installed the 1.17(final) version in the same directory that I had 1.17 (rc3) in. That is the correct procedure, right?
Yes, its correct. It is possible to install successive versions of teensyduino into the same place, and the installer will let you know if it won't work (eg because the base version of Arduino is too low, or if some files are corrupted) by greying out the 'next' button. The installer does a bunch of detailed checks before allowing you to install.

If you are not seeing Teensy 3.1, be sure that the Arduino exe that you are running is in fact the one you just installed and not some older one installed someplace else (perhaps the registry has associated the .ino file extension with that old version?) by directly running Arduino.exe from the directory you just updated.
 
I loaded up the new Teensyduino 1.17, but I don't see 3.1 listed as a board, is this correct?

When you run Arduino and click Tools > Boards, you should see this:

sc1.png
(click for full size)

If Teensy 3.1 does not appear (as shown in this screenshot), then you simply have not correctly installed Teensyduino 1.17.


You don't need to uninstall anything before upgrading to the new version of Teensyduino, correct?

Usually the Teensyduino installer can install into a copy of Arduino that already has an older version of Teensyduino. If it can't (because some file within that copy of Arduino has changed in any way the installer can't recognize), the "Next" button will not enable. When the installer can't work, you will know, because you will not be able to complete the installation. In those cases, you'll need a fresh copy of Arduino 1.0.5.


However, you MUST select the copy of Arduino you're using (which is almost certainly where things have gone wrong). Here's another screenshot.

sc2.png

I installed the 1.17(final) version in the same directory that I had 1.17 (rc3) in. That is the correct procedure, right?

Obviously something wasn't correct, since you're not seeing Teensy 3.1 in the Tools > Boards menu!

When you say "installed ... in the same directory", what precisely does that mean? If you simply put the Teensyduino.exe in some folder on your hard drive, then no. You must run the installer, and when you get to the step shown in the screenshot above, you must select the location of Arduino.

If you have more than one copy of Arduino on your computer, you must select the one you're actually using. For example, if you have a copy in C:\arduino-1.0.5 and also a copy in your "Downloads" folder, and you select the one in C:\arduino-1.0.5 while running the installer, but then double click the one in Downloads, then of course you won't see any results, because that other copy wasn't changed by the installer. It only writes Teensy support into the copy of Arduino you select.

This problem is unfortunately pretty common on Windows, partly because the modern trend in Windows is to show these virtual locations in many modern Windows programs. It's pretty easy to unknowingly have more than 1 copy of Arduino on your hard drive, because Windows doesn't always make it clear where you're actually running program from and where files are actually installed.


If you're totally stuck, I'd recommend you simply download a fresh copy of the Arduino 1.0.5 zip file (not the installer) from www.arduino.cc and extract it to a known location on your computer. The key point is to remember where you on your computer, the precise folder location, where you extracted the zip file. Before extracting, make sure you do NOT have a prior copy, so you're certain this is a freshly extracted copy. Then run the installer, and carefully select that location. After installation, run Arduino, again being careful to navigate to that location. Simply clicking any existing shortcuts might actually run another previously installed copy of Arduino, so please be careful to use the copy which is definitely in the same location that you selected while running the Teensyduino installer.
 
Last edited:
My teensy 3.1 arrived and is working. Several little benchmarks are noticably faster (more later).

Looking at analog.c in 1.17, it appears that pins 38 and 39 are still temperature and vref. I think pin 38 is OK, though i need to recalibrate,
but pin 39 seems to be jumping around. on teensy 3.0, this sketch would give me 3300 mv, but on 3.1 it's jumping around 8500 ?
void setup() {
analogReference(EXTERNAL);
analogReadResolution(12);
analogReadAveraging(32);
}

void loop() {
int mv;
mv = 1200 * 4096 /analogRead(39);
Serial.println(mv);
delay(2000);
}
 
Did I just read that second post correctly???? 3000 - 4000 RGB LEDS?

If so, This just made my morning!!!!! I'm currently working on a project involving 20,000+ RGB LEDs (yep 20,000+ ws2812's on a single robot performance suit). We were originally using one teensy per 1000 RGBs so this is going to be a HUGE improvement. Flat out amazing! (well... unless your Paul and you just cut the amount of Teensy boards I'll be buying for this project by 2/3 ;) . Don't worry, there's plenty of projects I'll be using Teensy 3.X's on )

I said it earlier and I'll say it again. Teensy's are hands down my favorite microcontroller in existence. Thank you!
 
Did I just read that second post correctly???? 3000 - 4000 RGB LEDS?

Yes, 4000 RGB LEDs.

The 1000 recommendation was based on allocating at least the 3K frame buffer in the lower 8K of memory on Teensy 3.0. That lower half of the RAM is optimized for DMA, with a separate bus. The USB stack also allocates about 3K of buffers in the lower half. The upper half contains the stack holding local variables, function return addresses, and interrupt context. RAM size was the limiting factor.

Teensy 3.1 has 64K of RAM. The lower half is now 32K, with the USB stack leaving about 29K free. Both the frame buffer and drawing buffer can easily fit in the lower half of RAM.

4000 LEDs means about 500 on each pin. 500 LEDs at 30 us each will make the update time approx 15 ms, which gets pretty close to the limit for achieving 60 Hz progress refresh. You might be able to use 8000 if 30 Hz refresh is ok. That would allocate 48K of RAM for the 2 buffers, so I would definitely not try to push much farther than 8000. If you do connect so many to one Teensy 3.1, please post photos!!!
 
teensy 3.1 is faster than 3.0 on some simple benchmarks

Code:
              UNO  DUE  maple  teensy3   3.1  beagle  raspberry
MHz            16   84    72       96     96     720     700
fibo(ms)      927   98   104       82     63       8      10
fft(ms)         -    8     8       10      4       .4      .5
daxpy(mflops)  .1   .6    .5       .4     .6      13      67
MD5(KBs)       48 2226  2124     2133   3657   10965    8103
Also some simple SysTick timings of ISR overhead are faster on 3.1. see
https://github.com/manitou48/DUEZoo/blob/master/isrperf.txt

The only anomaly so far is with a memory-to-memory DMA test. It runs slower on 3.1 than 3.0? But memcpy() runs faster on 3.1 than 3.0. (Paul noted Flash was 2x faster with bigger cache, so I assume SRAM is no faster ?). Here are DMA results
https://github.com/manitou48/DUEZoo/blob/master/mem2mem.txt

and sketch
https://github.com/manitou48/teensy3/blob/master/mem2mem.pde
 
Wire.h won't compile with board teensy 3.1, OK with teensy 3.0 ??? e.g. Example/DS1307RTC/ReadTest

DS1307RTC/DS1307RTC.cpp.o: In function `DS1307RTC::read(tmElements_t&)':
/home/linux/arduino-1.0.5/libraries/DS1307RTC/DS1307RTC.cpp:57: undefined reference to `TwoWire::beginTransmission(int)'
...

me thinks Wire.h and Wire.cpp should read
#if defined(__MK20DX128__) || defined(__MK20DX256__)
 
Last edited:
Paul,

I am pretty sure that I installed Teensyduino 17(final) in the same directory ..\Documents\Arduino 1.05 as 17 (r.c. 3). However, I am not certain whether I had the IDE closed or not. I tried re-installing Teensyduino 17, but the board drop down in the IDE had an empty spot(where Teensy 3.1 is showing your attachment). I did as you advised, re-installed Arduino IDE 1.05, re-installed Teensyduino 17(final), everything is working fine now. Thanks for your help. Congrats on the new board!

-ren
 
Last edited:
Hi Paul,

I have been enjoying using the Teensy 3 modules I purchased; thanks for making these devices available to us! I ordered 2 3.1's and was trying to get them running but suffered the same issues as other folks in that 3.1 did not appear as a board type. My version of Arduino 1.05 was installed in C:/Program Files/Arduino and all sorts of re-installing, deleting etc of both 1.05 and Teensyduino 17 final did not put board type 3.1 on the menu. Looking at files I could see that Teensyduino was putting the correct board file into C:/Program Files/Arduino/hardware/teensy. Now, I have mydocuments/arduino with an old version of the IDE in it which I use for sketches in order to avoid the administrator issues with program files, and preferences sketches points at this. I put a copy of the boards file in here and then 3.1 appeared on the menu, but of course the core file was then missing. So what appears to be going on is that the folder pointed to in preferences for sketches is not searching their first for all files, so I need to tidy that up also. This may help other users to get rid of stray copies of the old IDE.

I have been using a copy of teensyduino 17 (final) that I downloaded a few days ago. Yesterday and today though Norton started to block downloads, so you probably need to look at this.

Chris

Filename: teensyduino.exe
Threat name: Suspicious.Cloud.7.EP
Full Path: c:\users\chris\downloads\teensyduino.exe

____________________________

Details
Unknown Community Usage,* Unknown Age,* Risk High

Origin
Downloaded from*http://www.pjrc.com/teensy/td_117/teensyduino.exe

Activity
Actions performed: Actions performed: 1

____________________________


High
This file risk is high.

Threat type: Heuristic Virus. Detection of a threat based on malware heuristics.
 
Status
Not open for further replies.
Back
Top