Paul Stoffregen has built a new Teensy. The latest in the line of very powerful, USB-capable microcontrollers is the Teensy 3.5 and 3.6 development boards. It’s faster, more capable, and bigger putting even more pins on a solderless breadboard.
The first Teensy was one of the first Arduino compatible boards with native USB. The Teensy 2.0 was even better with support for USB keyboards, mice, and MIDI. Even today, the Teensy 2.0 is the de facto board to use if you want to build anything like a USB keyboard. The Teensy 2.0 was followed by the exceptionally powerful Teensy 3.0, the first 32-bit Arduino compatible board, and thanks to Paul’s contributions of a pile of Arduino libraries, doing cool stuff faster has never been easier. Since the launch of the Teensy 3.0, its successors, the 3.1 and 3.2 have launched. If you want the power of an ARM microcontroller with the deepest Arduino library support, there’s only one board you should consider.
Like the launch of the Teensy 3.0, Paul is Kickstarting the launch of the latest Teensys with a crowdfunding campaign. Let’s dig into everything these new boards have to offer.
Inside the Teensy 3.6
The high-end offering in the new line of Teensys is the Teensy 3.6. The main CPU is the Freescale/NXP Kinetis K66 ARM Cortex-M4 running at 180 MHz. There’s 1 Megabyte of Flash on board, 256K of RAM, and 4K of EEPROM in this chip, 32 DMA channels, two CAN bus ports, and a USB High Speed (480 Mbit/sec) port.
The microcontroller also supports 25 analog inputs with 13-bit resolution, two analog outputs with 12-bit resolution, a native SD card port, Ethernet MAC capable of 100 Mbps (you’ll need a ‘shield’ for this), I2S audio, a crypto acceleration unit, random number generator, six serial ports, three SPI ports, four I2C ports, and a real-time clock.
Like the Teensy 3.0, 3.1, and 3.2 before it, the 3.5 and 3.6 are loaded up with IO. pins. There are 62 IO pins available as 0.1″ headers and as SMD pads on the back, and they’re all entirely compatible with the Teensy 3.2. That means the Teensy Audio Adapter board and the Prop Shield will still work with these latest Teensys.
Of course the Teensy is just a microcontroller board, and you need libraries to build anything with it. In the massive thread over on the PJRC forums, a community of Teensy hackers have been putting together device libraries for the past few months. The FAT file system works on the SD card, you can have six serial ports, and Paul has been hard at work getting the crypto accelerator library working.
The crowdfunding campaign for the latest Teensys is live now, with the Teensy 3.6 available for $28, and the slightly lower spec, but 5 volt tolerant, Teensy 3.5 available for $23.
This thing is fast, and I have no idea what to use it for
There are faster microcontrollers around. The STM32F7, an ARM Cortex M7 running at 216MHz was released last year, but so far we’ve only seen a single development board and only a few projects using this powerful microcontroller. The current state-of-what’s-on-the-workbench is still firmly planted in the ARM Cortex M4, and we’ve seen some very impressive projects from video generation to quadcopter control boards with these chips.
The Teensy 3.5 and 3.6 are a bit more powerful than what you would find currently available — the chip has only been available for a few months. With this comes a lot of possibilities, and I don’t even know what it could be used for. A cursory glance at the datasheet tells me it’s possible to connect SDRAM to this chip somehow. I haven’t looked into that enough to see if it’s even possible with the Teensy 3.6. If it is, though, we’re going to see some very impressive builds generating video for LED walls, or real-time synthesis on audio waveforms stored on an SD card.
There’s a lot you can do with this Teensy, and we can’t wait to see what the community comes up with. Paul has hit this one out of the park, and for once you might be limited by your imagination and not what a microcontroller can do.
80 thoughts on “Introducing The Teensy 3.5 And 3.6”
Cool! Love this guy and his work
Wow, this thing fits in that range of devices where I want something like an Arduino but using a Pi with Linux is just so much easier. :-)
I use pi’s and odroids to get some of these features, and BTW, love linux but….ANY multitasking/preemptive opsys does exactly that – pre-empt, or as otherwise described “go off on some demented errand of its own”. Given the time slice it becomes difficult to do deterministic low-latency things with linux (and not only linux) even with the help of DMA etc – for many things you just need the CPU to pay attention to events as they happen, not whenever the opsys gets around to it. High speed control loops for example…things where a change in input needs to produce a computed change in output inside some hard real time deadline. Even an i7 can’t mange that above some rather small 2-3 digit number of Hz (note, your game playing graphics card isn’t running one of those kinds of opsys itself), much less an odroid or a pi. It’s not the CPU’s fault here – it’s the need for that complex opsys that supports a lot of things your little project may not require, but doesn’t support “right now” event handling.
You’re mostly correct, but practically all CPUs support interrupts, just like microcontrollers, and the handlers can service them at a higher priority level than the other tasks in the operating system. A real-time OS is preferable though.
But isn’t Freescale’s Kinetis M4 supported by uClinux anyway?
1MB FLASH and 256kB of RAM isn’t going to cut it for uClinux.
I’ve booted a version of Linux including X off a floppy disk, so are you so sure about that?
The problem is not the Flash. It’s the RAM. 256KB is not nearly enough. 4 – 8 MB, is more like it.
With a quick check of the pins I found A0 to A24. In theory, it should be possible to add external RAM of 16Mbit.
Not sure about data pins, so I don’t know if 16M x8 or 16M x16 is possible.
Most pins have multiple functions, so hooking in a huge RAM would be non-trivial. Do-able, but not easy without compromising all the other functions the card supports.
Some kind of wireless version would be a really nice addition to the product line.
Yeah. I, at least, cannot really imagine any scenario where I’d like to bog down a device I make out of something this with something as unwieldy as an Ethernet-cable, and I really, really like ESP8266 for having built-in WiFi. Then again, I am not aware of any ARM-chip with built-in WiFi, so a Teensy-board with WiFi would have to use an additional chip for that, increasing its size and power-consumption somewhat.
I can see a Poe breakout adaptor as a very interesting way of providing both network and power at the same time. I have enough random wifi devices around the house already. I can sting a Ethernet cable with Poe just about anywhere I want due to the lowish voltage. Can’t say that for an outlet for a wall wart.
There are SOC ARM with WiFi. You find them in routers and things or even modules like this:
Sometimes, connectivity is required (building aircon systems, alarm systems, etc)
But local security “in depth” says the the first step to fighting intrusion is controlling access (ie. no Wi-Fi allowed).
Solution: wired connections. 100M Ethernet can give you about 50 metres before you need a hub / router.
Correction: for Cat 5e or cat 6 cable, maximum run is 100 metres (328 feet). 55m is the limit for 10GBASE-T, according to Wikipedia.
What is the speed limit on the Teensy? 10M? 100M? 1G?
My dad has been using LoFi (https://hackaday.io/project/1552-lofi) and Teensy for a security system. I can’t tell you much, but his repo is hosted here: https://github.com/larsenkb/lofi (the “src” directory has a README).
I really like the backwards pin compatibility. This is the best balance of adding more pins without breaking older designs. Kudos.
Waitaminute… What happened to Teensys 3.3 and 3.4? If these are a major revision from the 3.2, I’d expect PJRC to jump to 4.0.
I think the point is that all 3.x versions are pin-compatible.
Would you believe quite a few people have said the same (expecting “4.0”), mostly when we’ve talked in person.
Calling something a new major version implies it’s new & different enough that it isn’t backwards compatible. I went with 3.5 & 3.6 because these are intended to give best possible backwards compatibility with 3.0, 3.1 & 3.2. At some point a 4.0 version seems inevitable. But 4.0 will mean backwards compatibility has been sacrificed. Maybe that’ll be a different form factor, or different way to power the board, or wireless that isn’t backwards compatible, or maybe even 1.8V signal levels (the day when 3.3V looks as ancient as 5V is coming, maybe sooner than many anticipate).
Originally I was going to skip only version 3.3, which might (a very big maybe) get used to make an faster 28 pin form factor board. In the lengthy beta test thread on the forum, at least a few beta testers made some pretty compelling suggestions to go with 3.6.
I rather like that the 3.5 is the 5V tolerant one, and the 3.6 is the more powerful.
A Google search for Teensy 3.3 highlights why skipping at least that version number is a good idea: most results involve level conversion and/or voltage regulators with prior Teensy boards.
Nope, I need 400Mhz and an onboard fire extinguisher….. (From a 90s draft of the UAE FAQ asking “What do I need to run the emulation at full speed?” )
Nice board but the Pi Zero and the C.H.I.P. computer are cheaper and more capable. Maybe the closest comparison will be the new ESP32 boards when they come out and I expect them to be significantly cheaper. As a previous comment said, if it had Wifi and/or Bluetooth, it would be more interesting. If what you want is a powerful processor with lots of I/O and analog capabilities the Cypress PSOC4 and PSOC5 prototyping kits at between $4 and $10 are worth a look. Given all that, if you want a powerful Arduino compatible board for, say, robotics or 3D printer control, this could be interesting. I have found the quality of Teensy boards to be very good.
You go and try to find a zero, and for a lower price ($5 on paper but in shops here IF they have it it’s more than 20 euros) and then use it for projects where you would use a teensy.
The rest of us are happy with with the teensy which is small available and has tons of features and runs simple code fast and that doesn’t need a whole OS making it more cumbersome. Raspis are for running software to control the teensy maybe.
And there are tons of things where you don’t need BT/WiFI and where trying to get a reliable connection over such is just pointlessly silly. And BTW, raspis have no WiFI/BT either, so why you complain then compare it to another board without such..
And then there’s the power use, we didn’t even discuss that yet.
Pimoromni has had stock for some time. At £4, people need to stop this childish ‘I can’t find a PRi zero’ meme…… https://shop.pimoroni.com/search?type=product&q=zero
I agree with everything else you say.
Unicorns DO exist! :D
LOL. Seriously,t hat’s the first time I’ve seen one in stock! Awesome!
I don’t order from the UK as a general rule. And I did check 2 ;local’ pi shops before I posted to not miss the boat completely.
pi zeros are in stock pretty much everywhere http://whereismypizero.com/
That site isn’t accurate – it either links to sold out kits, expensive kits, or sold out expensive kits. Of all the sites linked, Pimoroni is the only one willing to take my money and sell me a Pi zero
As long as it is 1-per-order it is still sold as a loss-leader, forcing you either to pay as much as the board for shipping, or buying something extra so you don’t feel your shipping fee is ‘wasted’.
“More capable” is a point of view, really. Sure, they have more RAM and faster CPUs, but they don’t have NEARLY as capable I/O. These things are more of a Swiss-army knife for real-time peripherals, Pis and CHIPs and the likes aren’t.
You could run FreeDV on that thing
Not to bag on Paul’s hard work, but I’m still not a fan of his proprietary bootloader chip.
The argument for it is that it saves the flash space and compile-time fixup that a flash resident bootloader needs. This is valid for the old AVRs and the Kinetis parts on the Teensys to date. However, there are other ARM SoCs that are price and feature competitive with the K66 (LPC43xx for example) that have mass storage bootloaders in ROM. Some Kinetis parts already have a HID-class USB bootloader in ROM (KLx7), and newer parts with ROMs based on the 2.0 Kinetis bootloader will have USB mass storage support in addition to HID (KL82, K82).
The bootloader chip means that SWD is not available for hardware debugging. This is a major turn off if you want to develop your own code/libraries or do serious development work.
For these new Teensy boards, I added a provision to use the debug signals. See the comments and bottom-side photo on the Kickstarter page. There’s a pin you pull low to tell the bootloader chip to tri-state those signals. Drive that pin high or just disconnect (it has a weak pullup) to return to Teensy’s normal mode.
I’ve never used Teensy before, so forgive me if this is a silly question, but how on earth did people develop code on this platform before this change was made to allow SWD/JTAG debugging? Given these specs, these Teensy boards sound like they’d be aimed at pretty high-end, complicated stuff. Tough to imagine debugging something like a misbehaving DMA’d ADC with printf() statements…
With SWD and a good source code level debug environment, at least you can try to poke at the peripheral registers and see if it makes a difference without having to recompile the source code. You can also set break points, trace code execution, and look at the snapshots of memory. You can also find out the fault that caused a crash – not that it will tell you a higher level cause.
Even with SWD, it is hard to debug anything in real time, so I won’t waste my time with any new platform that are restricted to printf() only and have poor support for source level hardware debugger.
The Teensy(or teensies) are great but I’ve been very reluctant to even try them because unlike Arduino they stink of closedness. I’ve bought a pile of original Arduino boards but even more cheap chinese clones from Ebay. I can’t bother worrying about the day this guy decides he is bored of selling Teensies and I can’t source them any more.
So… I don’t have any teensies either (no need for that much grunt) but you’re clearly speaking from a position of ignorance there.
Paul is probably the most active open-source hardware developer you’ll ever see. Check out the other comments on this very page to see that he’s already replied to a bunch of people’s questions. I’d say the Teensy boards are actually _better_ supported than most of the products in the Arduino product line.
The bootloader is closed source. For the AVR8 series anyways. I haven’t looked at the ARM series.
It is his perogative to close source his bootloader but is also my (or anyone elses) choice not to buy his product because of it.
AFAIK, PJRC never made any promises about the bootloader being open source so no promises are being broken anyways.
I’ve had desktop computers that weren’t as powerful or as useful. Consider me sufficiently impressed.
Nice design work, but with the blue pill selling for <$2 on Aliexpress, $19.80 for the Teensy 3.1 is pretty steep.
If your program fits in the 20KB of RAM it has, all the more power for you! However, not every project will, and I really hope we will get to run MicroPython on this (it runs on Teensy 3.1, but with some caveats).
There are ARM board at the $10 range that have enough resource for that. You can’t expect a $2 board for everything when you waste memory on framework.
For bare metal or lean coding, it is good for a lot of applications.
Note that you are buying more than bare hardware. Paul has invested a serious amount of time to create the Teensy libraries. If your application uses one or more of the libraries, the price of a Teensy may be a bargain compared to the time it would take to write the code yourself, especially for 1 or 10s of units.
Those libraries are a blessing and a curse. On one hand, you can get lazy and use the library to program stuff in a short period of time, but you are essentially limited by the single thread programming model inherited from Arduino and throw CPU speed away at problems.
On the other hand, when you actually want to take better use of the hardware and/or learn more, all of a sudden you are out of the comfort zone because there are few libraries in between. There are RTOS for some of the ARM chips that help a bit with low level drivers, but render these libraries useless.
I cringe almost every time I look at Aduino code. While Paul’s may be less bad than some others, I still wouldn’t support it. Objects used where functions would do, lack of separation of code and configuration, etc.
Ive done mostly AVR asm, and plan to try ARM asm and maybe freertos.
tekkieneet and Ralph, I hear you, but libraries have their place – for instance, in projects that are: just for fun or beginners, one or just a few units, doesn’t need to be optimized, need to be done quick, etc. Not everyone has the time, skill and/or desire to write lower-level, optimized code. To each their own.
“you can get lazy and use the library”, that’s a ridiculous statement. A library is a tool, and it’s not lazy to use a tool properly.
I have 3 teensys, all 3.x, paid and happy to pay full price for the support forums, libraries, speed and breadboard friendlyness of them. But then I also donate to open software groups whose software I find benefits me or my buisness. I know a lot of people freeload (and I did for ages too when I was a poor student) but peopel shoudl be rewarded for there time if it helps others.
I think that SOC only gets down to $6.66 if you buy a bajillion, so it’s probably not going to get that cheap.
i need that 480MBit/s USB but not in host mode!
The USB hardware is capable of either host or device mode. If you look at the bottom side photo, there’s little solder jumper pads near the 5V pin, marked “H” and “D”. This allows the 5V line to be reconfigured to power the board, instead of the board powering the USB.
Of course, no software exists yet for device mode and probably won’t for quite some time. But the capability is there in the hardware…
oh i am fine with lack of software… i may even just skip the 5V line if that is an option (use the default usb to power supply). The interesting bits are how i get the data going, registers… some abstracted BT-Stack with DMA access etc… i have no idea atm…
But i will find out as soon as i have my teensy 3.6s. I may finally be able to build some stuff i failed with the teensy 2.x because it only gave me 1.2 MB/s tops
The CPUs on both these boards have a floating point unit, so they should be labelled “Cortex-M4F”. I wish more people would get this right because it’s important for some workloads.
Those are going to be some of the most performant and cost effective Arduino boards out there. Great Job Paul!
Carrot dangler! I’ll wait the two and half months but I dont have to like it.
The older Teensies could not record I2S audio to the SD card, because their access to the SD was too slow. Wondering if this one can. A Linux computer seems too much overkill for a ham radio voice recorder, which I’ve been using a Next Thing CHIP for.
Teensy 3.2 can indeed record I2S audio (mono) to SD card. Here’s the code:
Love the teensy performance, but compile time and mandatory library linking and compilation using teensyduino (or whatever it’s called) and getting a large portion of ram filled up really turned me off.
I’ve never used the Teensy platform before — I was looking around and couldn’t tell which RTOS they use. Does anyone know? Freescale is pushing people toward FreeRTOS these days, right?
they don’t run an operating system
As far as I know, they’re only intended to be used with Arduino IDE and Arduino – libraries, and thus don’t use any RTOS at all. Not having any experience with Teensies I have no idea what running some RTOS on them would entail, but you wouldn’t be able to use Paul Stoffregen’s libraries and all the hard work he’s put into them, then.
Paul, Robin and the Teensy community knocked this one out of the park! Great work and congratulations to all of you!
Pay no attention to the trolls and haters who have no Teensy experience. Some people just have to bitch.
Ha! I was going to say the exact same thing.
It’s funny, people are saying his board has too many free programming features, or it needs more free programming features. It’s too advanced for what they do and there are cheaper boards, or not advanced enough for the given price point. Also people complaining about $20 for a full development suite, that you can hit the ground running with, that 10 years ago would have been impossible. This is a niche that firmly puts itself between the Arduino and raspberry pis for the casual maker, and a slightly more powerful (than low mhz real time microcontrollers) for quick and dirty deving. If you want more go with a raspberry, if you want less go with a Chinese Arduino. $20 is not alot to ask for what you get.
$20 can buy you a development board from the chip vendors that comes with hardware debugger (SWD) on board these days e.g. some of the Freedom board,s ST development boards. Normally the debuggers on its own would cost you more than the board. So I do expect a lot for my $20. Unfortunately, FRDM-K66 for this chip is $60.
This is what I mean by people aiming for the lowest common denominator a.k.a get the cheapest thing….even if its junk. So many people just want cheap junk simply because its cheap….and when its not so cheap, that it’s practically free they whine and complain. I’d like to see how many of you so called hackers can mass produce boards like the Teensy’s for the price that Paul has set.
And that’s not to mention his amazing support for so many Arduino libraries for his hardware as well as other Arduino hardware. If you ask me there are way too many spoiled hackers out there spoiled with junk Chinese hardware. And yes the blue pill board is neat but it is still junk. For starters its a 2-layer board whereas the Teensy 3.1 is a much better designed four layer board and don’t get me started about the crappy 10k resistor on the USBDM pin which is an error and was supposed to be 1.5k. Other problems with that board include:
– The micro-USB connector is not soldered to the board well, and easily broken
– Analogue power and ground is connected directly to digital power and ground, which can cause additional noise on the ADC input.
And as for the closed source bootloader, I’m not a fan of it either but for the price and the board being intended for the Arduino crowd, it can be tolerated. Besides if the design is completely open, and is cloned, it becomes harder for Paul to maintain his business and continue to make awesome teensy boards for us.
For the Teensy 3.1 specifically, it is an Arduino board…debugging is usually not something that a typical Arduino user demands.. this is reinforced by the lack of Debugging capability in the Arduino IDE and many other high level programming IDE’s such as platformio and the online mbed IDE.
So please, if you have something good to say or even constructive criticism regrading design/functionality please say it…but if you just want to whine about the price..please keep it to yourselves.
You can get away with discontinuity as long as it is a small fraction of the rise and fall time, so a carefully done 2 layers breakout board can get away with things. You can do all the fancy 4 layers controlled impedance all you want. The end user disregard all that and use a breadboard and/or long loose wire without proper termination to connect to other circuits. These extra long loose wires are going to be the problem. There are not enough power/ground connections on the pinout for return path to make a difference anyways. :P
BTW his audio board is 2 layers and without even an attempt of a ground pour and layout isn’t clean for audio.
Just put my backing in! I’m using Teensies all over my EV project and I already have an idea of how I’ll use my 3.6.
I’m even spreading the love at work. At least one intern is being introduced to the world of Arduino through the Teensy platform.
My only complaint is the SMD pins on the bottom. This makes it nearly impossible to rework once it’s installed on a PCB.
I am really tempted to back the campaign myself, too. I have no prior experience with Teensies and I can’t think of anything where I’d need all that power, but Paul Stoffregen seems to put a lot of work on his libraries and boards and I like that.
I sometimes worry that saying “thank you” to a Developers/designer of such high level hardware will come across as childish, however am totally going to risk it because Paul’s contributions to the maker community are so huge that it has changed how I see the open source movement. People like him have nothing but my sincerest admiration and respect.
Thank you Paul!
Wow, I have been buying Teensy boards since I graduated my diploma and my most recent project has just run into memory limitation issues! This is a Godsend, I cannot praise Teensy enough.
Can use this to make DIY SD card reader with internal encryption (without factory backdoors)
Without AXI4 extensions to interconnect (as is available on the Cortex-7 chips) to Wishbone bus interconnection, relying on SPI or I2C for data transfer from SERDES won’t allow any kind of OpenMP scaling or processing. :(
(屮ಠ益ಠ)屮 Why didn’t he go for the jump to Cortex-M7’s with a bunch of I/O Expanders/Channels/Pins. ლ(ಠ益ಠლ)
Rasberry Pi’s? is winning Arduinos? winning BeagleBones? winning. 555’s? winning. Closed source and crappy open source stealing Allwinner Soc’s? Fail. Nano Sized Babbage Machine? Epic winning.
He will HAVE to adapt design since Freescale isn’t it’s NXP. So… the Kinetis V Series. ლ(｡-﹏-｡ ლ) Already?
“are a bit more powerful than what you would find currently available — the chip has only been available for a few months. ”
Just wondering if anyone has done anything IoT oriented with a teensy? I’m tossing up whether to use it with some kind of wifi add on (any suggestions on this would be appreciated) alternatively have people done something with a particle or someother device as the internet connected component then talking to a teensy?
I was really hopeful that the Teensy 3.5 and 3.6 would allow using normal debugging tools like a SEGGER J-Link or any other SWD debug probe. Paul had indicated that the DE, DD and DC on the bottom of the Teensy 3.5 and 3.6 would allow that. At least as of April 2016, this is still not possible as the firmware on the KL02Z seems not to respect a pull-up DE line. So I ended up up hacking and modifying my Teensy 3.5 and 3.6. Now I can use Eclipse, GDB and a J-Link (or any other SWD debug probe) to develop for the Teensy 3.5 and 3.6: https://mcuoneclipse.com/2017/04/29/modifying-the-teensy-3-5-and-3-6-for-arm-swd-debugging/
Please be kind and respectful to help make the comments section excellent. (Comment Policy)