TI LaunchPad

Develop. Make. Innovate.

  • Get started with microcontroller LaunchPad Evaluation Kits from Texas Instruments.
  • Choose from a variety of low-cost kits & BoosterPack plug-in modules.
  • Scalable software tools provide multiple points of entry for programming your LaunchPad.
>
Buy From TI Buy From Distributors

Meet your LaunchPad

On-board Emulation

The EK-TM4C123GXL LaunchPad features on-board emulation, which means you can program and debug your projects without the need for additional tools.

BoosterPack Compatibility

Two dual-gender, 20-pin stackable headers provide great connection options out of the box. These 40 pins allow you to add support for displays, wireless interfaces, sensors and other capabilities to your projects very easily and also offer basic compatibility with existing MSP430 and C2000 LaunchPads.

What's Included?

The Tiva C Series LaunchPad includes everything you need to get started with ARM Cortex-M4 development!

  • Tiva C Series TM4C LaunchPad Evaluation Board (EK-TM4C123GXL)
  • On-board In-Circuit Debug Interface (ICDI)
  • USB Micro-B plug to USB-A plug cable
  • README First document
  • Free EK-TM4C123GXL TivaWare for C Series software downloads

ARM Cortex-M4 based Microcontroller

The Tiva C Series TM4C123GH6PM microcontroller offers an 80-MHz, 32-bit ARM Cortex-M4 CPU with floating point, 256 kBytes of 100,000 write-erase cycles of flash memory, and a wide range of peripherals including motion control PWMs, 1-MSPS ADCs, eight UARTs, four SPIs, four I2Cs, USB H/D/OTG, and up to 27 timers.

Switches, LEDs & Jumper

Two general-purpose user switches, a reset switch, power LED, and user-programmable RGB LED are provided on board to ease development. A jumper is also included to allow current measurements, as well.

Specs

Part Number

EK-TM4C123GXL

Microcontroller Features

  • 80MHz
  • 256KB Flash
  • 32KB RAM
  • 2-KB EEPROM
  • On-chip ROM with drivers and boot loaders
  • 2x 12ch 12-bit ADCs (1 MSPS)
  • 16x Motion PWM channels
  • 24x Timer/Capture/Compare/PWMs
  • 3x Analog comparators
  • 4x SPI/SSI, 4x I2C, 8x UART
  • USB Host/Device/OTG
  • 2x CAN
  • Low-power hibernation mode
  • 43x GPIO pins

Price

$12.99

Supported Family

Tiva C Series TM4C123x MCU

Featured Microcontroller

TM4C123GH6PM

Why this LaunchPad?

Features a Tiva C Series microcontroller ideal for any system or design that requires the three Cs: connect, communicate, control

BoosterPack connector

40-pin

Links

Tool Folder
eStore Page
Project 0
BoosterPacks
TivaWare
Quick Start Guide
Board Overview Video
LaunchPad Wiki
TM4C123G LaunchPad Workshop

Software

Code Composer Studio by Texas Instruments

Code Composer Studio

By Texas Instruments
  • Full-featured code editing & debugging tool for all TI LaunchPad kits
  • Supports TI’s complete Embedded Processing portfolio from MCU to DSP
  • CCS provides a complete, professional environment with full debug capability
  • Free evaluation versions are available
More

Keil™ RealView® MDK-ARM

By Keil™ An ARM™ Company
  • A complete software development environment for Cortex™-M, Cortex-R4, ARM7™ and ARM9™ processor-based devices.
  • MDK-ARM is specifically designed for microcontroller applications
  • Easy to learn and use, yet powerful enough for the most demanding embedded application
  • Free evaluation versions are available
More

IAR Embedded Workbench for TI Tiva™ C ARM® MCUs

By IAR Systems
  • Integrated Development Environment and Optimizing C/C++ Compiler.
  • Supports TI microcontrollers and other TI Embedded Processors
  • Code examples available in C and Assembly
  • Free evaluation versions are available
More

Sourcery CodeBench™

By Mentor Embedded
  • Software environment for embedded C/C++ development
  • Based on open source components including GCC & GDB
  • Install, flash and debug in minutes!
  • Free evaluation versions are available
More

Other supplemental software tools & resources for Tiva C

TivaWare™ for C Series Software

TivaWare for C Series software is an extensive suite of software designed to simplify and speed development of Tiva C Series-based microcontroller applications.

More

LMFlash programmer

Free Flash programming utility intended for use with Tiva C Series MCUs, development boards, or evaluation boards.

More

TM4C PinMux Utility

Allows developer to graphically configure the device peripherals in an intuitive and rapid manner. The tool provides an easy-to-use interface that makes setting up alternate functions for GPIOs easy and error-free.

More

Energia — A simple IDE for LaunchPad

  • Open source and community-driven
  • Simple code editing tool with built-in serial monitor
  • Compile and download your code directly to the LaunchPad
  • Supported by a robust framework of intuitive APIs, function calls and large repository of code examples
More

BoosterPacks

BoosterPacks are modular plug-in boards that fit on top of the LaunchPad baseboards. These modules introduce new functionality to the LaunchPad evaluation kits including wireless, capacitive touch, LED lighting and more!

BoosterPacks include everything you need to create compelling new applications based on the LaunchPad evaluation kits, including a plugin module, software and documentation.

Build Your Own
See BoosterPacks

More Tiva C Resources

Project 0

Blinking an LED is the "Hello World" of microcontrollers. Follow this simple tutorial to get you up and running within minutes!

More

Tiva C Series Online Workshop

Now that your LED is blinking, check out this online workshop that goes into a little more detail to help you become more comfortable working with ARM Cortex-M

More

Visit the Tiva C Series LaunchPad Wiki

Go to the Tiva C Series LaunchPad wiki to find more tutorials, code examples, videos and other resources. Here you will find content generated by both TI and the broader online community!

More

Project Zero: Your First Project

Introduction

Note that the video below uses the Stellaris LM4F120 LaunchPad, but the content of the video is equally applicable to the Tiva TM4C123G LaunchPad.




In this project we will walk you through the process of importing your first project and modifying the project behavior. This Lesson will verify that your tools are properly installed and that you can edit, compile, download and debug your code on the Tiva™ TM4C123G LaunchPad.

We will cover:

  • Installing Code Composer Studio
  • Installing the debug drivers
  • Installing TivaWare™ for C Series
  • Importing a project into Code Composer Workspace
  • Edit, Compile, Download and Debug the Project0 starter example

Download and Install Software You Will Need

There are two ways to get all the tools you will need. One is to download a single package that contains all of the installers and documentation. The alternate if you already have one or more of the components needed is to download them separately. Use the separate method to obtain Code Composer Studio (CCS) for Linux.

Single Download

Use this if you don't have CCS or have not used Tiva C Series devices before.

  1. Download the EK-TM4C123GXL-CCS package from here.

    You can also download a package for one of the other supported compilers. This tutorial covers only CCS. The process should be similar.

  2. Unzip the package.
  3. Find the CCS Installer in the Software\CCS directory of the download package.
  4. Find the TivaWare installer in the Software\TivaWare directory.
  5. Note the location of the Software\ICDI directory. You will use this in a later step to install device drivers.

Individual Downloads

Use this if you already have CCS or one of the other components.

  1. Download the ICDI Drivers. Extract the zip file and note its location for later use.
  2. Download the SW-EK-TM4C123GXL package from here.
  3. Download Code Composer Studio. This tutorial assumes you use the Windows version.

    Linux support for this LaunchPad's ICDI interface in CCS is considered Beta at this time. See this forum thread for more information

Optional Files

LMFlashProgrammer is a handy windows tool that can be used to directly download binary images to the LaunchPad and other Tiva C Series kits.

  • It also can easily perform many flash program, erase and verify operations.
  • It can be used to program the USER0 and USER1 flash registers of the device which are often used for serial numbers or unique identification.
  • Perform a "Debug Mass Erase" which can unlock and restore a device that a user has locked themselves out of. Restores the device to a factory like condition.
  • Can perform an ICDI update of the firmware on the LaunchPad debug interface.

Hardware Setup and Driver Installation

  1. Extract the Stellaris ICDI Drivers.
  2. Plug the LaunchPad into your PC's USB port
  3. Follow the driver installation guide.
  4. Your device manager should show three Stellaris devices like the image below.
  5. Device Manager with properly installed ICDI Drivers

Import Project0 files into Code Composer Studio

Test Project0 Example

Before moving on be sure to test the project0 example prior to making any modifications.

If you run into trouble double check device manager and the three Stellaris devices are listed as mentioned above. Occasionally you must re-install the drivers even though the devices are listed as working correctly. If you suspect the drivers are working and the problem is CCS related try LMFlashProgrammer to download one of the binary files that come with StellarisWare. All of these binaries are tested and known to work. Make sure you select an ek-tm4c123gxl binary that you have not rebuilt or modified.

The project0 example should be blinking the LED alternating between RED and BLUE.

Modify Project0

If you are still in a debug session terminate the session and return to the CCS Edit perspective.

Note that all three LED colors are already defined on lines 36-38 of project0.c

#define RED_LED   GPIO_PIN_1
#define BLUE_LED  GPIO_PIN_2
#define GREEN_LED GPIO_PIN_3

Note on line 75 of project0.c that all three LED GPIO pins have been configured for output mode

GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED);

Copy Lines 82 through 90 of project0.c. Note that the 2nd parameter serves as a bit mask for which pins to write.

//
// Turn on the LED
//
GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, RED_LED);

//
// Delay for a bit
//
SysCtlDelay(2000000);

Paste the copied lines below line 100. The 'while(1)' should now look like this:

while(1)
{
    //
    // Turn on the LED
    //
    GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, RED_LED);

    //
    // Delay for a bit
    //
    SysCtlDelay(2000000);

    //
    // Turn on the LED
    //
    GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, BLUE_LED);

    //
    // Delay for a bit
    //
    SysCtlDelay(2000000);
    
    //
    // Turn on the LED
    //
    GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, RED_LED);

    //
    // Delay for a bit
    //
    SysCtlDelay(2000000);
}

Change line 105 from RED_LED to GREEN LED.

GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, GREEN_LED);

Download and Debug your Project0

Click the bug icon to build, download and debug your changes. CCS will change back to the Debug Perspective. The code will run until the first line of main and then stop. Click the run icon to resume operation. Observe red, blue and green blinking pattern.

Play with CCS to pause, set breakpoints and get to know the environment.

Experiment

  • Try turning on more than one color.
  • Experiment with the bit mask parameter of GPIOPinWrite.
  • Have fun, be creative.
  • Use this as a starting point for your own creations.
  • Look at the qs-rgb to see a set of RGB driver API's that use the timer PWM functionality to control brightness and mix colors.

Toast Success

Congratulations. You have just imported, modified, downloaded and debugged your first TivaWare Project.