An MSP430 Flash Emulation Tool From An MSP430

It isn’t much trouble programming one of TI’s MSP430 chips, but outside of the official Flash Emulation Tool, TI doesn’t make programming one of these microcontrollers cheap. The most common way of programming an MSP430 is using a Launchpad Dev board, and [Vicente] has the best looking one yet.

The MSP430 series of chips can be programmed through JTAG or Spy-By-Wire, and the official, professional engineering tool from TI for these chips costs about $100. Those of us with more sense than money have another option – use one of the TI Launchpad dev boards as an MSP430 programmer.

[Vicente]’s project uses the MSP430G2 Launchpad, with just a few wires going to the proper connector found in the official programmer from TI. There are a few limitations; the programmer only works at 3.6V, so programming 1.8V devices might not be a good idea. Also, it only works with Spy-By-Wire and no JTAG support is available. Still, it’s a great looking project, and does exactly what it’s designed to.


44 thoughts on “An MSP430 Flash Emulation Tool From An MSP430

  1. Not only is this story not novel, making this special box is so fucking complicated. All you have to do is run three wires (TEST, RST, GND) from your launchpad board to your msp430 to program it.

    I guess they ran out of HaD Prize projects to post about.

    1. Don’t need to be so harsh. I never said that it was something new. Its easy? Yes. But it can be interesting for someone starting with the MSP430G line. I think there should be projects for all the audiences.
      In another words, if you know that you can program MCUs outside the Launchpad board and you know how to do that you don’t need that article. For the people startings with MCUs in the MSP430G line that have a launchpad board it can give some hints about how to program their projects in a ISP way.

      Aside from that I also don’t know how the posts are selected on Hack a Day. When I submitted my STM32F3 Gizmo that programs the STM32F3 Discovery board in a multitasking forth like languaje in console mode using an USB serial port it didn’t get trough altough it is a much more complex project.

  2. $115 for a tool that you’ll use over and over isn’t a lot to be honest. Consider how much time this guy put into building his tool and what it can do in comparison to the TI tool. If this was about a $500 JTAG pod from Seggar vs an FTDI based dongle that works with OpenOCD then I think I would agree more with the article copy; “Those of us with more sense than money have another option”. $115 is a few hours of pay for me.. and having the TI tool that can do more and works with more parts could potentially save me hours of frustration working with hacked up stuff. So just ordering the TI tool from Digikey would make a lot of “sense”.

    1. I can pay the TI emulator. Moreover, I could get it for free as a tool for my daily work. But then it would not be a hack. Some people like to spend their time in front of the TV. I liked more spending a little time building a small board and working on a little box.
      The phrase “Those of us with more sense than money have another option” is not mine so I don’t judge the “sense” of anyone.

    1. Don’t understand what you said about my watching list.
      It doesn’t surprise me that someone has made the same before.
      I imagine you are using a 1.4 version board becuause all J3 contacts are aligned.
      I will put a link to your project in my blog entry if you don’t oppose.

      1. Hi Vic,

        Sorry, I think you misunderstood me. The previous comment was addressed to the editors of this blog and not to you.
        I’ll be happy to see any link points to my blog from anywhere.


        1. That’s not what I was trying to say. The G2 are no exception if they have a hardware UART (USCI), but several G2 MCUs only feature a USI.
          I didn’t want to say that you cannot do hardware debugging on a UART because it is a too strong afirmation. Someone could say that a resident monitor programs using traps qualify as debugger although perhaps not a “hardware” one.

    1. If you are playing with ARM chips, you really should use better tools. There are plenty of $20 and below development boards with onboard SWDIO based debuggers from the chip vendors and often with connectors for external board. Unfortunately the debuggers are specifically targeted to their ARM families, but at least that’ll get you started.

      They are supported by OpenOCD and IDE. They will let you do hardware debugging. From my limited experiences with ARM that they have a lot more complicated beasts. Your core can ended up in hardfault or other exception handler if you forget to turn on gating clock or other silly things in your startup code etc. UART is not going to help you when the core crashes, but you can still look at the stacks, memory and peripheral setup if you use hardware debugging. SWDIO is the low pin count alternative to JTAG and is used on all the Cortex M series these days.

    2. No, thanks

      I like the MSP340 for its simplicity and the fact that they are available in DIP footprints.
      They are also very low power if used well.
      Never play an ace when a 2 is enough.

      For ARM Cortex I typically use the Discovery line of boards although I also have some Nucleo boards too. In this case I use ChibiOS/RT to do multitasking and program using a custom configured Eclipse IDE that runs GNUARM and OpenOCD.

      In a time when hardware debugging is so cheap and easy It puzzles me the use of Bootloaders. I know they are usefull, but for developing I don’t like them.

      1. There is a big long list of ARM Cortex M0 processors that cost about $1 in quantity and either have DIP footprints or can be trivially soldered to a DIP adapter. It’s pretty clear that they are specifically targeting AVR and MSP430 as direct competitors.

        1. Good to know about them. I didn’t know there are a lot of Cortex with DIP packaging and searching I can only find some NXPs. In fact, the LPC810 looks interesting.
          Don’t like adaptors when I need DIP.
          Time is scarce so I have focused on ST for the ARM Cortex line because their budget boards are quite interesting. Some freescale are interesting too.
          I leave to MSP430 the low profile projects. They are so low power…

          Off course M0 and M0+ are targeting low end 8 and 16 bits.
          Now I have got some Cypress SOCs that feature Cortex M0+
          They are an interesting blend of MCU and Programmable Logic

          Too many MCUs and too little time : (

        2. FYI: There is Freescale K2x port of ChibiOS 3.0 in progress.
          Segger make available replacement firmware for the Freescale eval boards. They replace the OpenSDA with a cut down version of their Jlink-lite. (free but with restriction)

  3. The G2 launchpad can only flash a very limited subset of chips. The F series launchpad onboard FET has a much much wider range and makes more sense for this “hack” (perhaps I should throw an arduino in a box with both 6 and 10 pin ICSP headers and call it an AVR programmer hack). Plus the chronos wristwatch comes with an eZFET which again has a larger range, and they have a few other devkits with eZFETs with them.

    1. Officially the G2 launchpad can only program the MSP430Gxxxx series of chips, however if you use it with the mspdebug program instead of the TI tools, you can program any chip that has a spi bi wire interface on it and thats a wider range.

    2. The G2 launchpad is enough for my interests and, on GDB, CCS and Energia it works great.
      If you can throw an arduino in an box and provide 6 and 10 pins ICSP headers enabling someone to easily program AVRs without the Arduino bootloader that could make a great article if explained at amateur level.
      Specially if it enables you to program AVRs and provide hardware debugging using free tools. That could move some Arduino aficionados to the more interesting AVR world.

    1. The newer F5529-based LaunchPad FETs are quite a bit faster than the G2 LaunchPads. If you are going to build a fancy case you are definitely better off using one of the newer LaunchPads. I don’t know how the newer LaunchPads compare to the Olimex tools, though.

      1. It could be true, I don’t know, but I have several MSP430 launchpad boards lying arround and no F5529 boards. They were 5€ when I bought them.
        I don’t think it is a fancy case, just a case. Today nothing is fancy if it is not printed in 3D ;-)

  4. That’s a seriously amateur piece of work. As others have said there are better Launchpads to start from. I’d go for the FR5969 as that programs all (I think) MSP430s has the awesome EnergyTrace++ functionality built into the FET. At the very least, cut that Launchpad before you mount it in a huge fugly case. They’re even marked clearly so you can see what’s the FET part and what’s the target.

    Other options are the tiny EZ430-F2013. TI gave these away free as a promo once. Even the full MSP-FET was on a half price offer until recently.

    Of course, as the ezFET board files are freely available you could even make your own FET like this one from Greeg over on 43oh

    1. Sorry if I seemed a little harsh to [Vicente]. I’m not knocking what he’s doing. It’s just that there’s lots of awesome stuff being done with MSP430s and HaD picked “I put one in a plastic box”.

      1. Thank you.
        I’m a bit puzzled about the level of harsh comments about this article. I’m afraid that it can affect some amateurs that could want to post on Hack a Day.
        I like writting low level articles because high level hackers, in fact, don’t need any kind of articles. By the comments I received I think I should keep them out of this site.

        1. I realized after I posted that it seemed like a personal attack. It wasn’t meant to be. It’s just surprising that something this basic (and that’s been done so many times before) ended up on HaD.

          Keep tinkering with the MSP430. It’s a great microcontroller as you probably know. One of my first MSP430 projects ended up on here. Feel free to go have a laugh at it. :-)

          It’s still going strong 3 years later on the same set of AA cells, so the low power claims are right.

          1. I’m always surprised on why something enters or not in the Hack a Day page. Anyway I think that there should be articles for all levels of readers. I’m sure, for instance, that not everybody that owns a Launchpad is fully aware of potential problems of using a Launchpad to program a board that i powered at 3V or less.

            I know that the MSP430 line features great MCUs. For whatever reasor I like them more than AVRs or PICs.

            Respect to your project,… ¿Didn’t it worked on one 9V battery? ¿Did they mutate to AA? ;-)

    2. It never pretended to be over the amateur level. It is written at amateur level and targets amateur public. Perhaps it is not the level of whoever reads this site but that’s another problem.
      I now I can cut it, but I am not limited in space and that way I can recover the board. The cut line, however, is only correct for the 1.4 board versions. The changes in the 1.5 version to support the hardware UART in the MSP430G2553 put one node in the wrong side of the line.

        1. That explains why my posts about the STM32F3 Discovery don’t get through.
          Respect to the merit, if I wanted to write for technical merit a would wrote to an IEEE publication. Interest, on the other way, is in the eye of the beholder.

        2. NotArduino, you really haven’t been paying attention to Hackaday if you think that is how articles are chosen. The writers have free reign to post what they like without any direction or thoughts about SEO getting in the way. I don’t know why this post was chosen, but you can be sure it went up on the merits of its content – perhaps it just popped in front of Brian at the right time.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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