MSP430 LaunchPad Tutorials

From Texas Instruments Wiki
Jump to: navigation, search

MSP430 LaunchPad Navigation This is the place for finding resources for learning to use the LaunchPad. If everyone contributes their own projects and/or tutorials this community will grow to become an online resource for developing with the LaunchPad, microcontrollers, embedded programming, DIY projects, analog embedded systems, etc.


PROJECT 0: My First MSP430 LaunchPad projects

 Description  Title and Link

Learn how to start a new project with Code Composer Studio & blink the on-board LED on the MSP430 LaunchPad

Blink your first LED
Here's how to import existing projects into CCSv5 How to import code examples & projects into CCS
A tutorial explaining how to restore the default software Restoring the default software of the MSP430G2 LaunchPad

Basic Input/Output

 Description  Title and Link
Uses a timer to blink the LED via Timer A interrupts Blinking LED using timer
Twist on typical blinking LED example. Interfaces an external LED using a
transistor to drive current.
Turn blinking LED on/off with button press
Learn how to blink an LED on the MSP430 LaunchPad, with video Blinking an LED (video)
Learn how to take inputs from the on-board buttons on LaunchPad&nbsp Playing with the LaunchPad buttons
Learn how to create a new project and use the buttons with LaunchPad Using the LaunchPad buttons
This tutorial shows how to control servos using PWM Controlling servos with PWM
An easy example, in this tutorial, to understand the P1DIR and P1OUT registers in order to blink LEDs Managing P1DIR and P1OUT registers to blink the red and green LEDs
A beginner's tutorial to turn on a LED with a breadboard Switching on a LED with a breadboard (video)
An interesting way to learn counting in binary with electronics and discover GPIOs Using P1OUT pins and LEDs to count in binary (video)
A good example to understand how bit shifting works Using P1OUT and P2OUT registers of the LaunchPad to manipulate LEDs with bit shifting (video)
MSP430 Two part Programming Tutorial demonstrating in basic terms how to change the register settings for GPIO and the internal Peripherals. The C Bitwise operators used to perform the registry changes, are demonstrated in clear examples. ( Part 1

Part 2

Switch Deboucing Tutorial with 4 * MSP430 switch debounce algorithms. ( Part 1

Part 2

Constructing an anti-reset timer (for surge protection) with the MSP430. (Kompulsa) Using P1DIR and P1OUT to switch appliances on/off
MSP430G2553 PWM Example Using Timer A. (Kompulsa) Using Timer A0 To Generate A PWM Signal


 Description  Title and Link  Rating
Learn how to write a program that will read an ADC channel and toggle LEDs based on the conversion result.                                                                                        The basics of Analog to Digital Conversion on the MSP430G2231
Learn how to use the integrated comparator, which can be described as a 1-bit ADC. Using the Comparator Module
An in-depth look at analog signals Analog Signal Conversion
This tutorial will show how to use the integrated 10-bit Analog to Digital Converter Using the ADC10 module
This tutorial will show how to create a simple voltage divider using an LDR Interfacing an LDR (Light Dependent Resistor) with LaunchPad
LaunchPad doesn't come with an integrated DAC, but here's how to make your own Creating a simple DAC with LaunchPad and a few analog components
This tutorial walks through the ADC and provides a useful example with GUI A simple ADC example
Tutorial and Example Code covering MSP430G2231 and 2253 ADC Basics, Resolution, Registry commands and 3 code examples. ( MSP430 ADC Tutorial

Serial Communication

 Description  Title and Link  Rating
Use as few as three pins to control eight or more logic outputs. Includes sample code and schematic.                                                                           Interfacing with TI74HC595 Shift Register
A brief explanation of UART and the MSP430's integrated Serial Communication Modules (USI/USCI) Introduction to Serial Communication & UART
This tutorial explain how to create a UART transmitter on the MSP430 Creating a UART Transmitter
This tutorial explains how to create a UART receiver on the MSP430 Creating a UART Receiver
This tutorial combines the UART Transmitter and Receiver Creating a UART Transceiver
Learn how to implement a software-based UART Half-Duplex Software UART
This 3-part tutorial includes complete source code of the classic HelloWorld program for LaunchPad Sending printf() output to LaunchPad's Application UART

Low Power Modes

 Description  Title and Link  Rating
This tutorial explains how MSP430 Low Power Modes work                                                           MSP430 Low Power Modes
Goes to Low Power Mode after 8 seconds of inactivity using Watchdog Timer.
LED on in active/off in standby                                                                                       
Enter low power mode after inactivity
This tool helps users optimize applications for Ultra-Low Power.                                           ULP Advisor

GUI - Graphical User Interface

 Description  Title and Link
A tutorial to learn how to install and use the Temperature Demo GUI Using the temperature demo GUI with the MSP430 LaunchPad


 Description  Title and Link  Rating
In this tutorial, you'll learn how to use timers and interrupts with the MSP430 Introduction to interrupts timers
Interrupts are integral for many MSP430 applications. Learn more about them here. MSP430 Interrupt procedure
Interrupt from GPIO or Timer] Learn how to set off an interrupt based on a GPIO
or Timer signal                                                                                                                
Interrupt from GPIO or Timer
Presents differences between programming using interrupts and polling.
Includes sample code for onboard push-button.
Interrupt vs Polling


 Description  Title and Link  Rating
In this tutorial, learn about the MSP430's configurable timer module Learn how to use the MSP430 Timers
Learn about timers, PWM and clocks for the MSP430                                                                       Timers and Clocks and PWM! Oh My!
Timer tutorial demonstrating basic operation PWM and interrupts on the MSP430G2253, with 3 examples and C code. (                                                                      Tutorial and C code 

Video examples 


 Description  Title and Link  Rating
This tutorial will show how to interface your LaunchPad to a Bluetooth breakout board                                    Adding bluetooth to your MSP430 project
Interface a cheap ($5) HC06 Bluetooth module, then add voice control from your Android phone, full tutorial with C code and Android App (                                     Project Tutorial and code  Video demonstration

MSP430 Clocking System

 Description  Title and Link  Rating
Learn about the MSP430 clocking system and the various sources                                                                                             The MSP430 Clocking System
The DCO is the beating heart of the MSP430 - learn how to configure it here How to configure the Digitally Controlled Oscillator (DCO)
ACLK is a low frequency clock source that is ideal for low power operation Using the Auxiliary Clock (ACLK)
This tutorial shows how to use the external 32kHz crystal to source ACLK. Using ACLK and the 32kHz crystal

MSPGCC Tutorials

 Description  Title and Link  Rating
Here is a collection of code examples/tutorials based on MSPGCC Many tutorials based on MSPGCC
This tutorial shows how to blink an LED using MSPGCC with your MSP430 LaunchPad Blinking LED using MSPGCC
This tutorial shows how to create a PWM signal using MSPGCC with your MSP430 LaunchPad Generating a PWM using MSPGCC


 Description  Title and Link  Rating
A great web-based one day workshop with videos for MSP430 LaunchPad beginners                                                              MSP430 Online Workshop
An introduction to the MSP430 architecture Learn about the MSP430 Registers
Now that we know what Registers are, here are ways we can modify them How to flip bits within MSP430 Registers
Learn about setting up the foundation for an MSP430 project Loops and setting up a simple project
Learn how to create a new project in CCS v4 Setting up a Code Composer Studio version 4
Learn about breakpoints and other tricks to get your code running properly (Still applicable to CCSv5) Debugging with Code Composer Studio version 4
This tutorial introduces the use of pointers and the MSP430 flash controller Learn about MSP430 Flash Memory
This tutorial goes into detail regarding the MSP430 Flash and TLV tables. MSP430's Flash memory and TLV structure
This tutorial covers how to make clocking sources more accurate, especially in terms of serial communication. Clock accuracy
This tutorial will introduce how to program your LaunchPad in assembly Assembly Language with the MSP430
Display a value in human-readable form with printf() printf() with MSP430
Using Code Composer Studio to graph your variables to see data trends, full tutorial and video ( Tutorial Video

Community Driven Tutorials and Projects

 Description  Title and Link  Rating
Launchpad driving 4 servo mecanum wheels via wireless OddBot LaunchPad
LCD Booster Pack for MSP430 Launchpad BY Tenet  Tenet Technetronics's LCD booster pack
Interfacing an LED array with Launchpad Interfacing LED array
Interfacing switches with Launchpad to control some peripherals Interfacing switch breakout
Interfacing 7 segment display with Launchpad to display numbers from 0 to 9 Interfacing 7 segment display
Interfacing stepper motor with Launchpad to control elevator elevator control using stepper motor
Automatic table light control using MSP430 Automatic table light control
Interfacing Shift Register with MSP430 Launchpad  Interfacing shift register
Led fading through Launchpad (Software PWM) LED fading
Interfacing 16x2 LCD with Launchpad Interfacing 16x2 LCD
Interfacing servo motor with Launchpad Interfacing a servo motor
Simple game created using LaunchPad Simple game tutorital
DIY plug-in breadboard for the LaunchPad Video
Controlling RGB LED with LaunchPad using Linux Video
LaunchPad + Sparkfun LCD: Button press counter Video
LaunchPad controlling 2 servos Video
Bi-color clock using LaunchPad Article
LaunchPad + piezo speaker: Playing The Imperial March Article
Interfacing with a TI TLV5620 DAC to create a waveform generator Article
LaunchPad Metronome: Using only onboard button and LED Aricle
LaunchPad UART to SPI interface Article
LaunchPad Capacitive Sensing Demo Article
LaunchPad Morse Beacon Video
LaunchPad interfacing with photo-resistive light sensor and BlueSMiRF bluetooth modem running off 9V battery Article
LaunchPad-based photosensitive theremin instrument - the "glitchamin" Article

Led Zep

LaunchPad-based white noise generator Article
Interfacing Launchpad to Digital Caliper Article
LaunchPad-based Tea Timer Article
Simple voltmeter with data output to the serial port (website in German) Article
Launchpad UART Morse Article
LaunchPad Clock with four digit 7-segment display Article
LaunchPad Simple Music Player




LaunchPad Metronome with Buzzer



MSP430 LaunchPad State Machine project tutorial, walking the electronics including a 16*2 LCD and the C Code which is downloadable. (

Part 1

Part 2



Links to community-generated projects:

Have a tutorial or project of your own? Add it to the list above

If you are new to Wikis you may want to do some reading to understand what you need to do, this wiki article gives a good starting point for understanding syntax and ways of doing things. Essentially you will need to take a few simple steps:

  1. Register and log in on the TI Processors Wiki.
  2. Create a new page for your design.
  3. Copy the provided template page into your new page, this can be done easily by selecting the edit tab on the template page and copying (CTRL-C) the wiki text out of it and pasting (CTRL-V) it into your new page's edit page. It may be easier to "copy and paste" when not in "Rich editor" mode.
  4. Modify the template to fit your content.
  5. Edit this page to add a link to your design on the list above.

Or, simply link directly to where your tutorial is hosted! Whether it's an external site, or your own personal blog.