Arduino, as a company, has created a diverse number of boards as Open Source Hardware . This diversity caters to various physical, electrical, and I/O requirements, allowing for a broad spectrum of applications. That said, an entire industry has sprung up around reproducing variants of the Arduino.
All of these boards, however, have two things in common.
- They use Atmel AVR 8bit microcontrollers (Typically ATmega328 or in the case of the Mega - ATmega1280 or 2560)
- They have an Arduino bootloader installed to allow quick and convenient development/upload cycles with the Arduino IDE.
One of the most recent trends, has been to reproduce the Arduino form factor, complete with I/O, A/D and D/A for other microcontrollers, to allow them to utilize the hundreds (thousands?) of "shields" developed to support the Arduino family.
Many of these alternative boards have also provided plug-ins (cross compilers and compatible libraries) for the Arduino IDE, to allow a smooth transition from the comfort of developing for the Arduino's 8bit AVR chip to a more complex 16 or 32bit microcontroller.
Today, I'm going to discuss the Teensy 3.1.
Although not pin compatible with the Arduino family, it does leverage the Arduino IDE through Teesyduino for quick application development, while hopefully grooming it's users to step into more robust ARM development tools. If UNO form factor compatibility is a requirement (for instance to use an existing shield) then the Teensy Development board from PetitStudio will do the trick.
The Teensy 3.1 is based on the Freescale K20P64M72SF1 ARM Cortex M4 processor. It runs at 96Mhz, has 256K flash, and 64k RAM, 43 digital I/O, 21 Analog inputs, 12 PWM outputs, 12 Timers, 2 I2C ports, and 4 Serial UARTS. Whew...
In addition to that, there are two TRUE Analog to Digital Converters that can be read simultaneously ie: no multiplexing inputs. Currently, Pedvide's ADC library can be used to access both ADCs. Thanks to Freescale, there is also a CAN Bus.
(Controller Area Network - communication channel used in automobiles) Libraries for this will be available shortly.
Comparison Of Arduino UNO R3, Mega2560, and Teensy 3.1 specifications
|Arduino Mega2560||Teensy 3.1||Units|
|Direct Memory Access||N/A||N/A||16||Channels|
|Voltage Input||5||5||5V Tolerant||Volts|
|Prog Gain Amp||0||0||2|
|Timers||3||6 Total||12 Total||Pins|
|CMT (infrared) Type||0||0||1|
|PIT (interval) Type||1x8bit 2x16bit||2x8bit
|RTC (date/time) **||0||1||1|
|High Res Baud||0||0||3|
Now, if you've happened to get this far, here is the meat of this article:
There are few "shields" available for the Teensy as yet. There are a few adapters that provide UNO form factor, there is an audio shield, a TFT display shield, and a Smartmatrix shield, as well as a few other special use shields.
What I am looking to develop, is a multifunction shield that maintains the small size of the teensy as much as possible, but incorporates a 9dof like the LSM9DS0 Teensy 3.1 Micro Shield, as well as an l293d to drive two small DC motors. I2C, as well as Remaining I/O will be brought out to right angle headers on the edge of the shield.
Before I complete the board design, I'm looking for feedback, motivation, and warnings (like "that l293 is going to get too hot!") ...
My Teensy Playlist on Youtube
OSH Park: SmartMatrix Shield for Teensy 3.1
SmartMatrix Shield for Teensy 3.1
Adafruit 2.8" TFT Touch Shield for Arduino for Teensy 3.1
Audio Adapter Board for Teensy 3.0 & 3.1 and OctoWS2811 Adapter for Teensy 3.1 – Control tons of NeoPixels!
Github: KurtE- Modified version of Trossen Bioloid library to user Serialx objects
PCJR.com : Teensyduino IDE extension
Teensy 3.0 now supported by the USB Host library
Freescale Hack It Together (H.I.T.) Project Initiative - Get Excited!