NERP: Teensy 3.X – a 32-bit ARM microcontroller board for <20$

The Teensy name has been around for several years in the land of 8-bit MCU boards, but the 32-bit Arm platform introduced in Teensy v3.0, is a game-changer. PJRC (http://pjrc.com/teensy/teensy31.html)sent a few Teensy 3.0’s to Anna (our Electronics area host) at PS:1 with no discussion or fanfare. Thank-you, PJRC.

AT NERP TONIGHT, Ed will show the Teensy 3.0 hardware, Arduino tools, and some sample programs. After that introduction to the Teensy 3.0, Colorado Rob will show how he programs the Teensy 3.1 with a combination of tools and utilities from Eclipse, GNU, Freescale (manufacturers of the Teensy ARM MCU), and freeRTOS. ALSO – We’ll also raffle a new in box original aka white BeagleBone. Thanks to Drew for the donation!

The Teensy 3.X’s cost less than $20 and include all the peripherals you expect in a regular MCU. Some specs on the Teensy 3.1 are:

The Teensy 3.0 is (mostly) pin compatible with the 3.1. The v3.0 uses an MK20DX128VLH5 MCU with 34 dio pins, 14 analog input pins, etc. Other spec values are one-half or less of the ‘DX256VLH7.

The 32-bit ARM chips are internally much more complicated than 8-bit processors, but the user doesn’t have to be aware of this when programming them. The Teensyduino IDE from PJRC provides a familiar user interface and Arduino(TM) libraries that make getting from zero to blinky very easy. There are additional libraries that provide access to some of the ARM-specific resources such as the USB port.

I’ve been exploring the v3.0 samples and am pleased with their sale price and performance. My setup is the basic Arduino install + Teensyduino on Linux. After doing the Arduino install I played with some sample code that does HID mouse and keyboard emulation on USB. Making it work was pretty straightforward.

My thoughts on it so far are that the CPU is way overkill for most embedded things that you’d program with the Arduino programming environment and library.* Also, there is a huge increase in complexity to overcome to program if using “real tools”. But the Arduino tools are easy to set up and use. But for my embedded project, the Freescale CPU it uses has the potential to save a bit of money. Even though the CPU costs more than the AVR part I currently use, it includes a USB controller and a voltage regulator, so those component costs go away. I’ve been following a tutorial for setting up a dev tool chain for these CPUs using Eclipse, GCC and Freescale’s tools:

I’m looking at FreeRTOS (modified GPL) now. I’ve just gotten the ADC working with DMA which is pretty cool. My completion handler gets called when there are 32 samples ready for me, which is what I need for the carrier detect algorithm. The Freescale tools are pretty powerful for what they allow you to do, and an RTOS provides interesting departure from the sequential programming typical of Arduino development.

*Rob and I differ on this point…

NERP is not exclusively raspberry pi, the small computer interest group at Pumping Station:One in Chicago.

NERP meets every other Monday at 7pm at Pumping Station:One, 3519 N. Elston Ave. in Chicago.Doors open at 6:30pm.The next meeting isFeb 3rd, 2014.NERP is free and open to the public.
Ed Bennett ed @ kinetics and electronics com
Tags: electronics, embedded, NERP, Open Source, raspberry pi, hackerspace, Beagle Bone, Element14,Pumping Station One