Project Goal (the challenge & solution)
The goal of this project is to build a bridge between Texas Instrument's Tiva™ C LaunchPad, based on the TM4C123GH6PM, and the Arduino form factor. The LaunchPad series of development kits already benefit from an Arduino-like code development environment in the form of Energia, but lack a compatible form factor to make use of the extensive list of shields.
This project aims to merge these two worlds by putting the processing power and integrated peheripherial set of the 80-MHz ARM M4F based TM4C123 series of micro controllers into the Arduino-Leo (and Uno, Duemilanove, Due, *Mega) compatible form factor.
This will provide typical Arduino users with a much more powerful board while maintaining a familiar programming environment (through the use of Energia). It also provides a platform for those wanting to grow beyond this basic development approach into a more low-level IDE (with breakpoints and stepping) by using TI's free Code Composer Studio and selecting the EK-TM4C123GXL project configuration.
I have a target retail cost of $20 per board, but it'll only get there if the demand is there. For the three I built, the cost per board was about $34 with the majority of the cost attributed to the TM4C123 and board fabrication. Volume pricing can cut that by more than half.
*The board breaks out all pins, but only utilizes the basic set of headers to maintain a 2" x 3" form factor.
Project Planning / Features List
✔ Circuit designed using KiCAD
✔ Initial method of programming using an EK-TM4C123GXL dev kit by tapping into its target ICDI JTAG headers
✔ Board layout. Includes placing pins such to be compatible with the Arduino form factor
✔ Board Fabrication (sent to OSH Park 4/16/2017)
✔ Board assembly (2 completed)
✔ Create custom pin map for use in Energia
✔ Be able to compile and flash over LaunchPad in Arduino and Energia IDE's
✔ Add USB Virtual COM enumeration to base sketch
✔ Hook in bootloader init to VCOM connection at 1200 baud
✔ gcc compiler support for Arduino and Energia in
- ✔ Windows 10
- ✔ Ubuntu 16
✔ USB DFU flashing support for Arduino and Energia in
- ✔ Windows 10
- ✔ Ubuntu 16 (working with just a few intermittent bugs to work out)
▢ Hardware testing and verification
- ▢ I2C using integrated ROM drivers
- ▢ CAN using Arduino API and integrated ROM drivers
- ✔ I2C using Arduino API
- ✔ GPIO using Arduino API and integrated ROM drivers
- ✔ ADC using Arduino API and integrated ROM drivers
- ✔ PWM using Arduino API and integrated ROM drivers
- ✔ SPI using Arduino API and integrated ROM drivers
- ✔ Serial using Arduino API and integrated ROM drivers
✔ Choose a better name for the board (see comments below)
▢ Small production run if enough people are interested
Probability of a World Changing Event
I suspect this will revolutionize hacker spaces everywhere. As the complexity and computational requirements of projects grow the basic Arduino just won't cut it any longer. This board is the next step in terms of performance, flash and memory size, low power modes, and low cost development and debug options. Will this solve world hunger? Not by itself. But maybe someone, somewhere, will use it to that end.
Specifications
(taken from TI's website)
CPU | ARM Cortex-M4F |
Pin & Package | 64LQFP |
Max Speed (MHz) | 80 |
Flash (KB) | 256 |
EEPROM (KB) | 2 |
SRAM (kB) | 32 |
GPIO | 43 |
USB D, H/D, or OTG | OTG |
DMA Channels | 32 |
Battery-Backed Hibernation Module | Yes |
Boot Loader in ROM | Yes |
Operating Temperature Range (C) | -40 to 105 |
Digital Comparators | 16 |
Capture Pins | 24 |
CCP Timers | 24 |
Motion PWM Outputs | 16 |
QEI | 2 |
SSI/SPI | 4 |
I2C | 4 |
UART | 8 |
ADC Channels | 12 |
ADC Resolution (Bits) | 12 |
CAN MAC | 2 |
SysTick | Yes |
SPI | 4 |
Other notable parameters
- Most GPIO are 5V tolerant
- Peripheral libraries are pre-loaded onto on-board...
I like ShieldMaiden :)