I finally set aside some time for one of my own projects. I have been playing around with ARM microcontrollers a lot lately and wanted to try out my GLCD display that uses the KS0108 protocol. It’s 5V but I had heard that some of these displays will work with 3.3V TTL. But the datasheet tells me otherwise. I tried using a pull-up resistor to 5V and configuring the Stellaris Launchpad pins to open drain, but the low voltage wasn’t getting below the 0.3V threshold needed by my display. My only choice was to use some type of level conversion. I actually ended up driving the KS0108 using a pair of TXB0108 level converters.
I figured this had to have been done before so I check over at Sparkfun. Their offerings are either one-way or have a direction pin that you must drive yourself. I figured there had to be a bi-directional solution and a search over at Mouser led me to the TXB0108. It is exactly what I was looking for and as you can see I etched my own circuit boards to make the TSSOP chips breadboard compatible. I’ve documented the process you can find the code and board files at my post linked above.
Update: one of the Reddit comments mentions this chip is available on a breakout board from Adafruit if you’re interested.
So you picked up your very own Stellaris Launchpad, a TI ARM dev board which can be in your hands for just five bones. They do distribute several free IDEs which are not size-limited but perhaps you’re more of a text editor and command line sort of person. Well you’re in luck. There’s now a guide to show you how to code for and program the Stellaris Launchpad from a Linux box with using one of the IDEs.
There are two main things that are needed to accomplish this. The first is a cross-compiling toolchain for the ARM architecture; something that has been readily available for quite some time. The second is a way to talk to the in-built Stellaris programmer from a Linux machine. The hardware uses the ICDI protocol, and as we reported last week the lm4tools project can be used for this purpose. The guide also covers building the StellarisWare package. It’s not a requirement, but it makes using the peripherals much easier and provides names for the I/O pins, etc.
Our favorite for debugging microcontroller projects is OpenOCD. From this thread post it looks like there is now ICDI support in the development branch of the software if you don’t mind compiling from source.
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.
Continue reading “Hands on the Stellaris Launchpad”
We received a tip from [Fabien] that Texas Instruments had posted a set of IDEs for the Stellaris Launchpad on their download page. At first we skipped right over the link, but then decided to take a look and see if things had changed any since the MSP430 Launchpad had been released. As we expected, there’s really no help on this page if you’re looking to develop for the hardware without using one of these IDEs.
Why would we want to forego the preconfigured development environments TI supplies? For one thing, they offer only trial licenses. When you go to download one of the packages you have to wade through a eyebrow-raising non-export agreement. When we made it that far, the ~500 MB Sourcery package we downloaded was quite slow. And we don’t see any option for installing any of these on a Linux machine. No matter what OS you choose, we think you should be able to develop for any architecture using the same development environment — be it Eclipse, GNU Emacs, Notepad, or whatever . We don’t want to download a huge package just to try out a new chip.
We know you can develop for Stellaris ARM chips using a vanilla cross compiler like arm-none-eabi (we use Sourcery CodeBench Lite — formerly CodeSourcery G++ lite). We hope that TI is planning on adding a barebones package that supplies a simple Makefile, Linker Script, and base libraries for the hardware. But we won’t hold our breath. After all, it is an industry standard to leave out Linux support.
[Ben] wanted a switch mode power supply for his breadboard. He ordered a PTH08080 module which is made by Texas Instruments. The spec sheet would make it a great choice for him, but he was not happy to learn that the pinout doesn’t conform to the 0.1″ spacing used by solderless breadboards. His solution was to make a breakout adapter from some protoboard.
The PTH08080 can source up to 2.25A. It accepts 4.5-18V input and can output 0.9-5.5V. The best part is the efficiency that a switch mode supply achieves compared to linear regulators. This design adds in two capacitors which are suggested in the application circuit from the datasheet (PDF). Notice that there are two headers on the breakout board. One supplies power and ground to the breadboard. The other gives him a place to connect the adjustment resistor used to select the output voltage. This connects between one pin on the PTH08080 and GND. [Ben] plans to upgrade the design by included a precision trimpot for easy output voltage adjustments.
Texas Instruments just open preorders for the new Stellaris LaunchPad. The boards won’t ship until the end of September, but if you don’t mind the wait you can get one for $4.99 including delivery (
we’d wager non-U.S. addresses have to pay for delivery, but leave a comment if you know for sure several readers have reported that international shipping is free).
We routinely pay more in shipping for parts orders so we already jumped at the opportunity and put in our own order. Earlier in the month we heard the first murmurs about the device. We’re glad to see they hit the $4.99 target price, but the TI website mentions that this is a promotional price that will be available for a limited time only. The board boasts an ARM Cortex-M4 processor, the Stellaris LM4F120H5QR. It includes 256 KB of flash memory, 32 KB of SRAM, and more peripherals than you can shake a stick at. To get you up and running quickly they’ve included two user buttons and an RGB LED. As with the 16-bit Launchpad, the board acts as its own programmer. It has a microUSB jack, but they’ve included a micro B to USB A cable in the kit to make sure you don’t need to also put in a cable order.
We’ll give a follow-up post once we finally get our hands on the board. We hope this will be easy to get working with a Linux box!
Texas Instruments is trying to take the success it had with the LaunchPad and apply it to other chip architectures. The board seen above is their new C2000 Piccolo LaunchPad. It’s a development board for the F28027 chip. This 32-bit offering is a part we know nothing about. A first look shows a clock speed between 40 and 60 MHz, 64k of Flash memory, and a JTAG programming interface. It sounds like an unrestricted copy of Code Composer Studio is also available to use as the development environment. At $17 won’t break the bank, but we also don’t feel that welling of excitement to get in on one of these units.
What does get us excited is the Stellaris LaunchPad offering. It’s not available yet (which always makes us want it more), but you can enter a drawing to get a free one when they are released. Be warned, with only 25 up for grabs the odds are against you. There are no details, other than a target price of $4.99 for the ARM development board. We’ve had a lot of fun with the STM32 ARM board, and this might be a new adventure to undertake.