Frequency analyzer built from the new Stellaris Launchpad

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.

79 thoughts on “Frequency analyzer built from the new Stellaris Launchpad

  1. Okay, I see on [EuphonistiHack]’s blog that he isn’t using the microphone (plainly visible) on the bottom of the 8×8 display. As I was wondering why he needed to use a laptop to supply the audio signal, and I guess he’s not that far along, or the onboard microphone isn’t good enough.

    1. I think the answer is because he’d have to implement an amplifier to take the low microphone level and get a line-level signal that he feeds his level-shifter/driver for the ADC. Easy enough to do but his real interest is in showing off the capabilities of the uP and he probably prioritized his time there.

    2. I probably should have mentioned this in my writeup, but in short, I didn’t like the microphone very much. I was never able to find a datasheet for the microphone itself, but in just playing around with it, it appeared to not be very sensitive. Also, the signal appeared to be fairly high impedance. I figured that if I was having to wire up a custom circuit to condition the audio, I might as well just abandon the on-board mic and use a generic audio source.

      I think I could probably add a few resistors to the hardware conditioning circuit to implement an amplifier with a controllable gain, but that idea didn’t sound too interesting, so I skipped on it (for now).

  2. It’s pretty obvious:

    MSP-EXP430G2 = Launchpad.

    MSP-EXP430FR5739 FRAM board = Fraunchpad (commonly referred to this within the community)

    Stellaris EK-LM4F120XL = Staunchpad.

    Per Merriam-Webster:
    adj \ˈstȯnch, ˈstänch\
    Definition of STAUNCH
    a : watertight, sound b : strongly built : substantial
    : steadfast in loyalty or principle
    — staunch·ly adverb
    — staunch·ness noun
    See staunch defined for English-language learners »
    Variants of STAUNCH
    staunch also stanch
    Examples of STAUNCH

    She is a staunch advocate of women’s rights.
    He’s a staunch believer in the value of regular exercise.
    I’m one of his staunchest supporters.

    1. How does this compare to the other cheap board TI is selling that has a socket for programming and using different devices?

      That one enables programming a chip then using it in other projects. With this one you’re stuck with the entire board, whether or not your project needs all its features.

      Much cheaper than an Arduino though.

      1. Galane, there’s a pretty huge difference between the msp430 launchpad and the stellaris launchpad. As the names might suggest, the two are different product lines that are aimed at different markets. As far as differences that you as a developer will care about, I figure there are three main areas.

        For one, the Stellaris uC’s tend to have more heavy duty peripherals in the silicon. The upside is more functionality, but the downside is more power draw.

        Two, the processors are different. The MSP430 uses a 16 bit processor, whereas Stellaris controllers can use either the ARM Cortex M3 or M4 processor (both 32 bit). Again, this lets the 430 runs with lower power, but the M4 on the Stellaris allows for some pretty nifty functionality, like hardware floating point support, which makes doing DSP stuff much quicker :)

        Three, the software libraries are different. This is the area I know the least about due to the fact that I haven’t done a project on an MSP430 in about two years now, but the software libraries are different. I’m incredibly biased, so I wont make any value statements about which is better, but suffice to say that the MSP430 software libraries are written and maintained by a different team of developers than the Stellarisware library.

    1. LOL we are like a group of in your business defuses try to choose a nickname for someone else’s kid. More likely than not something else will turn out to be the nickname that sticks :)

  3. Can someone answer answer two newb questions about the circuit?

    1) By my reckoning, the cap tied to the AC signal should have a capacitance more along the lines of 10uF rather than 1uF. Is this a mistake in his schematic? The schem shows two 1uF caps, but it’s clear from his pic that he’s using two different kinds.

    2) This raises the question: Why did he tie a cap to the V+ on the op-amp?

  4. Hello There I am trying to do something similar, I wish to know 2 things, 1) I cannot get my ADC triggered by the Timer so could you please tell me how did you setup both ADC and Timer that they trigger each other. And The other thing is I cannot get CMSIS compiled on my PC. I would appreciate it if you could tell me how I can compiled CMSIS lib for Stellaris Launchpad LM4F120; my email id is just in case if you wish to reply me

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.