This is truly a bargain-of-the-year kind of story. A few months ago, I ordered two of the new TI Stellaris LaunchPad Eval Boards, which incorporate a TI Stellaris LM4F120H5QR microcontroller. I ordered one for me and one for my new boss (as an ethical bribe, but that’s a different story). The TI Stellaris LM4F120H5QR microcontroller is based on an 80MHz version of the ARM Cortex-M4F processor core. The ARM Cortex-M4F processor core is a full-fledged 32-bit processor core and the “F” designation says it includes a hardware floating-point unit. The TI LM4F120H5QR microcontroller also incorporates 256Kbytes of Flash EPROM, 32Kbytes of SRAM, and 2Kbytes of EEPROM for memory.
When combined with the ARM Cortex-M4F’s largely 16-bit Thumb-2 instruction set, that’s a lot of program and data space crammed into a low-cost, 32-bit microcontroller. The price for the bottom-most member of the Stellaris microcontroller family is listed at $1.53 in 10K quantities. The LM4F120H5QR microcontroller that’s soldered to the $4.99 Stellaris LaunchPad Eval Board resides in the LM4F120 microcontroller series that’s one notch up from the bottommost Stellaris LM4F110 series.
Key features of the TI Stellaris microcontrollers include:
- IEEE754-compliant, single-precision floating-point capability at 80 MHz
- SIMD instructions
- As much as 256Kbytes of embedded flash memory and 32Kbytes of SRAM
- Low-power modes including power-saving hibernate
- As many as two 12-bit 1MSPS ADCs and 24 analog input channels of
- As many as two CAN controllers
- Optional full-speed USB 2.0 with device, host, and OTG
- Advanced motion control capability, with as many as 16 motion control PWM outputs and two quadrature encoder interfaces
- As many as eight UARTs, six I2C, ports, and four SPI/SSI ports
Here’s a composite block diagram of the TI Stellaris LM4F microcontroller series that shows the large number of goodies you can get on one inexpensive piece of silicon:
But this is a review of the incredibly low-cost Stelaris LaunchPad Eval Board, not the TI Stellaris microcontroller itself. Here’s a photo of the board with some key features called out:
You can see the 64-lead Stellaris LM4F120H5QR microcontroller soldered diagonally in the center of the LaunchPad Eval Board so that most of its I/O pins can be more easily fanned out to the two 20-pin, dual-row, unisex, tenth-inch headers that flank the microcontroller on either side of the board. This diagonal mounting seems to have become common for surface-mount microcontroller packages. What’s that other 64-lead device at the top of the board? It’s a second LM4F120H5QR microcontroller, supplying the second USB port I/O and, I’m guessing here, operating the board’s serial debugging interface. There’s also a set of landing pads for a mini JTAG port on the back side of the board. That’s a nice touch that cost essentially nothing to add.
The Eval Board’s two dual-row headers have pins that stick up from the component side of the board and female headers on the opposite side of the board. These headers allow you to add auxiliary boards in the same way that you can plug shields onto the very popular Arduino series of microcontroller boards—another meme that’s becoming common in small microcontroller boards like the TI LaunchPad series and the Arduino series.
The TI Stellaris LaunchPad series uses proprietary header definitions that fit TI’s own “BoosterPack” series of add-on boards. TI sells Stellaris-specific BoosterPacks including a variety of input, output, and display boards and it also has a line of BoosterPacks for its MSP430 series of microcontrollers. These MSP430 BoosterPacks are also pin-compatible with the Stellaris LaunchPad board. At the time of this writing, the TI.com Web site shows 38 available BoosterPacks.
However, this is a review of the TI Stellaris LaunchPad board and not the BoosterPacks.
If you look at the above photo, you’ll see that the TI Stellaris LaunchPad board also includes two micro-USB connectors, an RGB LED, a power switch, a reset switch, and two user switches. The board is supplied preprogramed with a simple program that lights the RGB LED and cycles through several colors with the behavior based on user switch presses. One switch activates a continuous sweep and the other steps through the colors with each switch press.
How easy is it to get the demo working? Pretty darn easy. I took the supplied USB-to-micro-USB cable and plugged it into the laptop I’m using to write this review. I plugged the other end into the top micro-USB connector, threw the power switch to the right, and the board booted. It immediately started cycling the RGB LED through the spectrum.
Actually, that’s what I was supposed to do but it’s not quite what I did. I mistakenly plugged the micro-USB connector into the LaunchPad board’s other USB connector and when it didn’t power up as expected, I threw the power switch to the left, connecting board power to the left-hand micro-USB connector. That’s the connector that the LM4F120 microcontroller is supposed to drive. Even so, the board powered up as expected and I had just proven that it’s foolproof. Even a fool like me can get it working without reading directions.
You’re supposed to plug the micro-USB cable into the top micro-USB connector, which is clearly marked “Debug.” This port includes the In-Circuit Debug Interface (ICDI) and serves as a virtual JTAG port for debugging purposes. I confirmed that doing it the right way also seems to work.
The board doesn’t come with any development software at all. There’s no CD included, which I might have expected if I hadn’t paid $4.99 (including shipping) for this board. Not to worry, however. Everything you need including docs, I/O drivers, specs, etc. can be downloaded for free from this page on the TI Web site.
You can also download free evaluation versions of four different software-development platforms including IDEs for the TI Stellaris microcontroller series:
- TI’ Code Composer Studio (full version free for developing code for TI microcontrollers)
- IAR Embedded Workbench—KickStart Edition (free version limited to 32Kbytes of code)
- Keil RealView Microcontroller Development Kit (Eval version)
- Mentor Sourcery CodeBench (30-day limited eval, full version)
Now for the bad news. I’m sorry to say that the $4.99 deal that includes shipping is over. Sadly, you can’t get a TI Stellaris LaunchPad Eval Board for a fiver any more. You can, however, buy the board from the TI eStore for $12.99, which is still darn cheap for what you get! The TI eStore Web page says that the board is now shipping—confirmed, I just received two of them—and to allow six to eight weeks for delivery.
Now, finally, here’s a bit of information on the low-power aspects of this microcontroller. The TI Stellaris LM4F microcontroller series includes a hibernation module that manages microcontroller power. When the processor and peripherals are idle, power can be completely removed from the device with only the Hibernation module remaining powered. Power can then be restored based on an external signal or at a certain time using the built-in, 32KHz Real-Time Clock (RTC). The Hibernation module can be independently powered from an external battery or an auxiliary power supply and the TI Stellaris LaunchPad Eval Board includes a jumper that supplies separate power to the hibernation module. If you pull that jumper and insert an ammeter in series with the jumper pins, you can measure the hibernation current.
The Hibernation module’s power pin is named VBAT and the Hibernation current, VDD3ON, is nominally rated at 5 μA on the microcontroller’s data sheet when the Hibernation module is enabled and running at 32KHz with the processor clocks stopped. One of the key strategies for using 32-bit microcontrollers like the TI Stellaris LM4F is to program them to get their business done quickly using their superior 32-bit processing power so that they can hibernate most of the time.
In conclusion, I think that the TI Stellaris LaunchPad Eval Board is a true bargain even at the new “higher” price of $12.99. I heartily recommend you get one to dip your toe into the world of low-cost, low-power, 32-bit microcontrollers. At $4.99 I would have suggested you skip lunch at Taco Bell and buy a TI Stellaris LaunchPad Eval Board. Instead, at $12.99, you can skip the lunch special at El Torito one day and buy a TI Stellaris LaunchPad Eval Board with the money you save.