In our last Stellaris how-to we got the board working and set some registers to turn on the LED. This time we’ll start using StellarisWare Driverlib, which provides drivers for the microcontroller’s peripherals including GPIOs, UARTs, ADCs, and so on. These libraries make it easier to control the peripherals. We’ll build the Driverlib project, create a project from scratch to use the library, and run a simple LED blinking example.
For those that grabbed one of these TM1638 UI boards you can now easily use it with your Stellaris Launchpad. [Dan O] took it upon himself to publish an ARM library for the UI board.
There’s not a lot of new stuff to talk about here. We’ve already seen this being driven by an FPGA. [Dan] also links to both an Arduino and an MSP430 library for the board. The one thing that is good to know is that the board seems to run fine from the 3.3V supplied by the Stellaris Launchpad.
The ARM chip has four different hardware SPI modules which could have been used to drive this display. But [Dan] opted to bit bang instead. This give him more flexibility, like easily changing the pin mapping and foregoing the need for external components. All it takes is direct connections from three I/O pins which are used for clock, data in, and data out. We’ve embedded the obligatory demo video after the break.
We’ve already given an overview of the Stellaris Launchpad, but lets look at the first steps to running code on the device. First we’ll get the development software working, then we’ll build and run a very simple example.
TI allows use of the full version of their IDE, Code Composer Studio, with the Launchpad’s on-board debugger. To work with Stellaris microcontrollers, you’ll also need to grab StellarisWare. This free software package contains support for the Stellaris devices including peripheral drivers, a USB library, and code examples. Finally, you’ll need the ICDI drivers to communicate with the debugger. TI has all the required software for this board available here. See the TI getting started directions for a walk-through of how to install the required software.
We just got our hands on a Stellaris Launchpad. We had placed an order when the preorder was originally announced, but the marketing folks at TI reached out an offered to send us one a bit sooner and took them up on it. We’ve embedded a quick unboxing video after the break but read on for some info that didn’t make it into that clip.
The look and feel of the board and its packaging are almost exactly the same as the MSP430 version of the Launchpad. But why not? After all it worked so well the first time. This board hosts an ARM Cortex-M4 processor. The two buttons on the bottom are user buttons, the one on the upper right is a reset button. The top of the board is the programmer, with a micro USB port for connectivity. The kit also includes about a 2′ cable for this connection. Next to that jack is a switch that selects a power source. You’ll also notice a USB port to the left, this because the processor includes USB functionality, with a free library available from TI. Power can come from the programmer/debugger USB port, or from this device USB port. There are dual pin headers to either side on the face of the board, and pin sockets on the back which break out pins of the processor. Just below the reset button is a RGB LED, and a clock crystal has also been populated just above the chip.
When plugged in via the programmer’s USB port the PWR LED lights up as does the RGB LED. The firmware that ships on the device fades through a range of colors and the user buttons scroll through a set of predefined colors. The device enumerates as: “Bus 002 Device 005: ID 1cbe:00fd Luminary Micro Inc.” on our machine. But if you connect it via the device USB jack it enumerates as: “Bus 001 Device 015: ID 04e8:689e Samsung Electronics Co., Ltd GT-S5670 [Galaxy Fit]”. Interesting.
We have no idea if there are programming tools for flashing the board using a Linux box, but we’ll be trying to figure it out. If you have some info please share it in the comments.
[Tom] managed to build a geeky, quirky digital timer for the kitchen. Where most would have used a few seven segment displays along with some buttons and called it done, he found a way to make it a lot more fun. The plush addition on top is a yellow ducky with an orange beak. When time runs out the duck will quack, call you back to the kitchen.
As you can see in the video after the break, [Tom’s] got his hands full with the family. This project was quick enough for him to fit it in during what dwindling free time he manages to hold onto. He used one of the chips that came with his MSP430 Launchpad. Since this family of processors offer extremely low-power modes when asleep they’re perfect for this type of battery-powered application. As for the duck, it’s a toy that had a couple of watch batteries and a small PCB inside. Some poking around led him to a pad that activates the quacking when grounded.
This home automation hardware turns on and off the lights based on room occupancy. The hack is an extension of an earlier version that was only a proof of concept. [RPisces] took the idea and made it into reality by mounting the sensor hardware in a doorway.
He prototyped the device using the MSP430 launchpad. It monitors a pair of IR distance sensors which record a change when something passes between them and the opposite side of the hallway. This is a good sensor choice as it only requires hardware on one side of the passageway. Because two of them are used, it’s quite simple to figure out if a person is entering or leaving the room based on which is tripped first.
In this case [RPisces] drives a relay to switch a lamp on and off. But it could be used for just about anything. We’d enjoy seeing it trigger an audio system like the one [Quinn’s] installing in every room.
Here’s the first project we’ve seen for the new Stellaris Launchpad. It’s a frequency analyzer which displays a graph on an 8×8 LED module. What’s that you say? You haven’t received your new Launchpad board yet? Neither have we since they don’t start shipping until the end of the month. But [EuphonistiHack] works as a software dev for TI and snagged one of the early development units.
Hardware is rather simple. He uses an OpAmp to feed audio from his laptop to the ARM processor. The 8×8 LED module is an MSP430 booster pack that is addressed via SPI. On the software side of things he’s really taking advantage of hardware peripherals to simplify his work. A timer triggers each ADC reading which in turn writes the values using uDMA. Digital Signal Processing (available as a CMSIS library for many ARM chips) is then used to translate the ADC value to one that can be displayed on the LEDs. Check out the video after the break to see the final version.
The Hackaday writers are looking for an easier name for this hardware than “Stellaris Launchpad”. It doesn’t seem to lend itself to a shorter name, like RPi or Raspi does for the Raspberry Pi. If you’ve got a catchy nick name for the new board please share it in the comments.