Introduction: Programming MSP430-F2012 UC With Launchpad SBW

About: Texas Instruments; Launchpads; Arduino; Electronics; Climbing

MSP430F2012 is a clever 16 MHz low cost microcontroller from Texas Instruments with 10 GPIO (General Purpose Input Output), Analog Digital Converter (DAC), I2C, PSI,  Datasheet .
You can use it to drive servos, stepeprs, motors, leds, piezzo, midi, keyboard input and so on.
NOW it is very easy to program a MSP430F2012 with 10$ MSP430Launchpad from Texas Instruments and freeware Energia.

Step 1: What Do You Need?

A MSP430F2012 uC -> sample from Texas Instruments, or buy from Digikey 2.37$
OR A BOARD EZ430-T2012 - MSP430 F2012 Board 3 pieces for 15$
A MSP430 Launchpad -> from TI stroe 10$
Soldering station
4 wires
Download Energia IDE software from http://energia.nu/download/
Mac OS X, Windows, Linux

Step 2: Soldering the Wires

The Launchpad Spy-Bi-Wire interface hasn't a standard pin header. That is a half step header. I soldered 4 wires to the interface:

Launchpad                            F2012 board
o
o------------------------------------o
o------------------------------------o
o------------------------------------o
o------------------------------------o
o

I used more Flux not to have a short on pins. Use a multimeter to verify Your work!!!

Step 3: Start Energia an Upload Blink Example

Energia is an ARDUINO like IDE for MSP430 Launchpad microcontrollers. It became popular because it is very easy to use, it has a lot of examples. It works on Mac, Win an Linux. You can program an MSP430 as easy as an Arduino.
It can be download for free from http://energia.nu/

After You have installed the Energia IDE.

1. Attach the MSP430F2012 to the Launchpad SBW interface.
2. Remove the RST jumper of the Launchpad
3. Start the ENERGIA
4. Open -> FILE -> EXAMPLES -> BASICS -> BLINK
5. Upload


Upload BLink example:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
*/

void setup() {               
  // initialize the digital pin as an output.
  // Pin 14 has an LED connected on most Arduino boards:
  pinMode(RED_LED, OUTPUT);    
}

void loop() {
  digitalWrite(RED_LED, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(RED_LED, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

Step 4: Be Happy

Running Your first programs on an F2012.