Use Your Launchpad as a Programmer

Several members have asked this question on the Forums. Rocket4Kids did a nice write up on how you can program other SBW or Spy-By-Wire MSP430 controllers with the Launchpad. His notes are concised below:

This has been mentioned a few times before but as not too many people know about it. I thought I would bring it up again with my particular spin on things. It is a little known fact that the Launchpad can easily program external chips. In fact, I only programmed a chip in the Launchpad socket itself just a few times before connecting it to an external breadboard.

A picture is worth a thousand words, so here is my Launchpad-breadboard setup:

To understand what is going on here, it is best to look at the schematic and PCB layout that is included in the Launchpad User’s Guide. It is important to note that the “Emulation” side is completely separate from the “EXP-MSP430G2″ or “target” side. You can actually (physically) cut the board along the dashed line if you want. Aside from power and ground, all of the signals cross the dashed line via the jumper pins. If you remove the jumper pins, you have access to all of the signals required to program an external chip.

Many people also seem to be confused about the minimal support circuitry required for the MSP430, so that is definitely worth going over. The schematic in slau318 is nicely split on multiple pages to show G2/target side of things on a single page. This is essentially what you will be building on the breadboard.

Obviously the chip requires power and ground, and these are provided via the Launchpad. The power supply must be properly decoupled for proper operation. This involves a 10 uF cap (electrolytic or tantalum) somewhere on the breadboard and a 0.1 uF (a cheap ceramic is just fine) as close to the MSP430 as possible. The RST line must be held high with a 47 k resistor. If you wish to reset the chip, just apply a jumper from RST to ground. You could use a switch, but a simple wire works just fine when needed.

It is important to note that the chip is programmed over the TEST/RST lines, *not* the TX/RX serial lines. If you do not need serial communication, TX/RX do not need to be connected to the launchpad, and the pins can be used as GPIOs.

Below is Robg’s cut emulator board mounted on a breadboard for debugging/programming

Do you have any questions? Feel free to ask them below or in the Forums.


Join the best MSP430 blog on the net and stay up-to-date with our latest news, projects and design resources. We will not share your info with anyone.

13 Comments

  1. Isn’t there some smallish asymmetrical trickery either side of the dashed line to allow for the software/hardware UART selection (configurable with the orientation of 2 jumpers.)

    ie wouldn’t cutting the pcb leave the hardware jumper configuration broken?

    (On a latest rev board…I think 1.5)

    Reply
  2. Or put more concisely than I have above:

    I believe later revisions of the board deliberately vertically reversed one of the UART jumpers to allow horizontal OR vertical jumpering.

    This means there are tracks that cross the dotted line… so cutting would be a bad idea (for later revisions) and potentially one of the UART headers used for the above would need to be from below the dotted line rather than above (for those later board revisions).

    I might well be wrong, but I suspect that this instructible could well trash later model boards so please double check and warn users.

    Reply
  3. Thunderclapp, with a bit of solder you can fix that problem, you need to file the protective layer from the PCB away though.

    Reply
    • Sorry, I know this is an old post, but on what version did they do this change? I know that had something to do with the Tx and Rx being reversed in the original version because it was bit bang right? Then I’ve got disconnected from all this, and I forgot what was the problem and in what version they were going to change it, also I find really difficult to follow TI’s documentation, is this change fully documented in the Launchpad website?

      Reply
  4. I was wondering if you program a msp430 using the launchpad then take the msp430 out of the launchpad and connect it to a circuit that is not connected to a computer, will the program still be there?

    Reply
    • Yes, it will.

      Reply
  5. Nice post. I learn something totally new and challenging on sites I
    stumbleupon every day. It’s always exciting to read through content from other authors and use a little something from their web sites.

    Reply
  6. I’ve done this for a while, but with larger programs I’ve been having problems reliably debugging them. I’ve got a lot of intermittent freezing and “errors no source found” etc… when debugging with the launchpad. Has anyone else had this problem?

    I’m trying to program and debug an MSP430F5637 with 13.5k sized code. The programming works fine, but the debugging seems buggy.

    Reply
  7. I’ve done this for a while, but with larger programs I’ve been having problems reliably debugging them. I’ve got a lot of intermittent freezing and “errors no source found” etc… when debugging with the launchpad. Has anyone else had this problem?

    I’m trying to program and debug an MSP430F5637 with 13.5k sized code. The programming works fine, but the debugging seems buggy.

    Forget to check email notification the first time.

    Reply
  8. i am doing a project on RF.For this i am using TI tx and rx, and MSP430G2452IPW20 micro controller. How can i interface it with MSP430 launchpad

    Reply
  9. Hello there..
    I have an MSP430 Launchpad.. I have downloaded the program onto the IC.. Although I was wondering how I could remove the IC from the launchpad.. ?? Do I have de-solder it for the IC to be removed ??

    Reply
    • The IC is in a socket, just unplug it…

      Reply
  10. I followed the above instructions to program one of my board with MSP430F2410 using launchpad via JTAG SpyBiWire using code composer studio. It looks like I have done everything right but the CC studio says — MSP430: Error connecting to the target: Could not find device (or device not supported).
    I see some activities in the oscilloscope for both (RST and TEST) signals.
    How to tell code composer studio that I am using SpyBiWire connection for programming as there are options for USB and UART only.
    Could you please suggest some insights to my problem?
    Thanks.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *


four + = 8

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>