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-TM4C1294XL LaunchPad features on-board emulation, which means you can program and debug your projects without the need for additional tools.

BoosterPack Compatibility

Two stackable BoosterPack XL interfaces provide great connection options out of the box. These two 40-pin interfaces allow you to add support for displays, wireless interfaces, sensors and other capabilities to your projects very easily. This also offers basic compatibility with existing Tiva C, MSP430 and C2000 LaunchPads.

What's Included?

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

  • Tiva C Series Connected LaunchPad evaluation board (EK-TM4C1294XL PCBA w/ MCU)
  • Retractable Ethernet cable
  • USB debug cable
  • Read Me First instructions

ARM Cortex-M4 based Microcontroller

Tiva™ C Series microcontrollers integrate a large variety of rich communication features to enable a new class of highly connected designs with the ability to allow critical, real-time control between performance and power. The microcontrollers feature integrated communication peripherals along with other high-performance analog and digital functions to offer a strong foundation for many different target uses, spanning from human machine interface to networked system management controllers.

In addition, Tiva™ C Series microcontrollers offer the advantages of ARM's widely available development tools, System-on-Chip (SoC) infrastructure, and a large user community. Additionally, these microcontrollers use ARM's Thumb®-compatible Thumb-2 instruction set to reduce memory requirements and, thereby, cost. Finally, the TM4C1294NCPDT microcontroller is code-compatible to all members of the extensive Tiva™ C Series, providing flexibility to fit precise needs.

Specs

Part Number

EK-TM4C1294XL

Microcontroller Features

  • 120MHz
  • 1MB Flash
  • 256KB SRAM
  • 6KB EEPROM
  • Internal ROM loaded with TivaWare™ for C Series software
  • Cyclical Redundancy Check (CRC) hardware with 16-/32-bit Hash function that support four CRC forms
  • Support for four tamper inputs and configurable tamper event response
  • 10/100 Ethernet MAC
  • Ethernet PHY with IEEE 1588 PTP hardware support
  • USB 2.0 OTG/Host/Device with ULPI interface option and Link Power Management (LPM) support
  • Four Quad Synchronous Serial Interface (QSSI) modules with Bi-, Quad- and advanced SSI support
  • Ten I2C modules with four transmission speeds including high-speed mode

Price

$19.99

Supported Family

Tiva C Series TM4C129x MCU

Featured Microcontroller

TM4C1294NCPDT

Why this LaunchPad?

Easily connect your ideas and products to the cloud with the Connected LaunchPad. Evaluate and develop new designs for the Internet of Things and learn how easy it is to get connected to your end customers and provide new value-added services and benefits.

BoosterPack connector

2x 40-pin (XL)

Links

Tool Folder
eStore Folder
Board Tour Video
Quick Start Guide
User's Guide
Project 0
Out-Of-Box Demo Video
Connected LaunchPad Wiki
Connected LaunchPad Workshop
Design Files
BoosterPacks
TivaWare

Energia Support

The Tiva C Series Connected LaunchPad is supported by Energia, an open source software framework that enables students, makers and engineers to easily utilize TI’s LaunchPad development ecosystem

Easy-to-understand APIs & simplified development environment

Enable code re-use and simplify your software development with a common set of APIs supported across TI’s LaunchPad development ecosystem.

Abstracted, intuitive libraries

Support for the Tiva C Connected LaunchPad integrates intuitive libraries for Ethernet connectivity, enabling developers with cloud-connected features, including connecting with cloud partners, triggering SMS notifications/alerts, and more.

Active online community

Be part of a growing and active community and immediately leverage design resources, open source hardware and software designs and dynamic collaborative forums.

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

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
Get Help!

Get help!

Have technical questions on the Tiva C Connected LaunchPad? Post your questions on the TI E2E Community.

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

CLP Hello Blinky

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™ TM4C1294 Connected 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 or if you already have an IDE installed on your machine.

Single download

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

  1. Download the EK-TM4C1294XL-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-TM4C1294XL package from here.
  3. Download Code Composer Studio. This tutorial assumes you use the Windows version.

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.These registers contain the unique IEEE MAC address for your kit.
  • 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.
    • NOTE: This will delete your IEEE MAC Address from USER0 and USER1 flash registers. Be sure to record the MAC address before doing a "Debug Mass Erase".
  • 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 Project files into Code Composer Studio

  • Use the Tiva C Series QuickStart Guide for Code Composer Studio to complete CCS and TivaWare installation.
  • Use the quickstart guide to import the TivaWare libraries and ek-tm4c1294xl (Tiva TM4C1294 LaunchPad) program examples, including the hello example.
    • Note: this tutorial only requires the hello project. Importing driverlib, usblib, grlib and sensorlib is recommended.

Test The Hello Example

Before moving on be sure to test the hello 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 TivaWare for C Series. All of these binaries are tested and known to work. Make sure you select an ek-tm4c1294xl binary that you have not rebuilt or modified.

The hello example should blink LED D1 and print a "hello world" message on the UART terminal output. The debug virtual serial port uses 115200 baud rate and 8 bits per byte with no parity and 1 stop bit. (115,200 8N1).

Modify Hello

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

We will be modifying the hello application to read the button switches on the LaunchPad and turn on and off the LED's to match the button state.

Add drivers/buttons.c to your project

The good folks at the Tiva Team have provided a button driver that easily provides a debounced button state with a simple API. Let's use it.

  1. Right Click on the project in Code Composer's Project Explorer pane. Select Add Files…

    • Navitage to your TivaWare for C Series install directory (usually C:\TI\TivaWare_C_Series <version>\ where <version> is the version number of the release).
    • Navigate to the examples\boards\ek-tm4c1294xl\drivers\ sub-directory.
    • Select buttons.c and click the Open button.

    • In the import dialog window choose to Link to Files
    • Check the box to Create link locations relative to
    • From the drop down select SW_ROOT.
    • NOTE: By creating a link instead of copying the file then if you modify buttons.c the changes will be made in the TivaWare installation directory, not your local workspace. This is helpful because the buttons.c file can be used across multiple Connected LaunchPad projects in the future all of which can share the benefits of any modification you make to the code.
    • The source code for the buttons drivers is now a part of your project and you can begin to modify hello.c.

Modify hello.c

Now we modify the hello.c file to add the Button functionality.

  1. At about line 37 of hello.c add the following code. After the uartstdio.h include line is recommended.

    #include "drivers/buttons.h"
    

  2. Add the following code at about line 109 to declare a variable where we will hold the current button state.

        //
        // Declare a variable to hold the current button state.
        //
        uint8_t ui8ButtonState;
    

  3. Add the following code at about line 140 to call the ButtonsInit API. This will initialize the buttons driver and GPIO.

        //
        // Initialize the Buttons API and the GPIO for each button.
        //
        ButtonsInit();
    

  4. Delete all the contents of the while(1) loop. Leave the open and closing brackets. Approximate line number 150.

        while(1)
        {
        
        }
    

  5. Replace the contents of the while loop (approximate line number 150) with the following code. This will create a button polling delay, poll the button state and act based on the current state.

        while(1)
        {
            //
            // Delay for a little while.
            // A delay of 1 is approximately 3 clock cycles.
            //
            SysCtlDelay(g_ui32SysClock / 16 / 3);
    
            //
            // Call the button poll API to get current button state.
            //
            ui8ButtonState = ButtonsPoll(0, 0);
    
            //
            // select which action to take based on current button state.
            //
            switch(ui8ButtonState & ALL_BUTTONS)
            {
            case USR_SW1:
            {
                LEDWrite(CLP_D1 | CLP_D2, CLP_D1);
                break;
            }
            case USR_SW2:
            {
                LEDWrite(CLP_D1 | CLP_D2, CLP_D2);
                break;
            }
            case USR_SW1 | USR_SW2:
            {
                LEDWrite(CLP_D1 | CLP_D2, CLP_D1 | CLP_D2);
                break;
            }
            default:
            {
                LEDWrite(CLP_D1 | CLP_D2, 0);
            }
            }
        }
    

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

  • Have fun, be creative.
  • Use this as a starting point for your own creations.
  • Look at the driver code in buttons.c and pinout.c to see a set of board driver API's that you can use to control the on board functions.

Toast Success

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