Embedded Systems with TM4C123 @Valvano logo

Embedded Systems with TM4C123 @Valvano

Free

Free open-source example projects for ARM Cortex-M embedded systems

FreeFree tier
Type
Open Source

About Embedded Systems with TM4C123 @Valvano

A collection of example files and starter projects for embedded systems education, specifically for ARM Cortex-M microcontrollers including the TM4C123 (LM4F120) and TM4C1294. The projects accompany the three-volume textbook series by Jonathan W. Valvano: 'Embedded Systems: Introduction to ARM Cortex-M Microcontrollers', 'Real-Time Interfacing to ARM Cortex-M Microcontrollers', and 'Real-Time Operating Systems for ARM Cortex-M Microcontrollers'. Topics range from introductory examples and debugging to finite state machines, human interface devices, edge-triggered interrupts, serial interfaces (UART, I2C, SSI, CAN), data structures (FIFO, heap, linked list, interpolation), timers (SysTick, PWM, input capture), ADC/DAC, and advanced topics like WiFi, DMA, FFT, Flash EEPROM, and RTOS. The projects compile using Keil uVision4/5 and Texas Instruments Code Composer Studio (CCS). The files are free to use, edit, and distribute under the condition that copyright notices remain intact.

Key Features

Comprehensive example library covering introductory through advanced embedded topics
Supports TM4C123 (LM4F120) and TM4C1294 microcontrollers
Available in C99 and assembly language versions
Compiles with Keil uVision4/5 and Texas Instruments CCS
Includes projects for finite state machines, serial interfaces, interrupts, timers, ADC/DAC, DMA, FFT, and RTOS
Accompanies the Valvano textbook series (3 volumes)

Pros & Cons

Pros
  • Fully free and open source with permissive reuse license
  • Wide range of topics from basics to advanced (RTOS, FF
Cons
  • Examples may require older compiler versions (Keil uVision 4/5, CCS)
  • Limited to specific microcontroller families (TM4C123, TM4C1294, LM4F120)
  • No official support or warranty provided by the author

Best For

Learning embedded systems programming with ARM Cortex-M microcontrollersTeaching university-level courses (e.g., EE319K, EE445L, EE445M)Prototyping and developing real-time embedded applicationsReference for implementing common embedded peripherals and communication protocols

FAQ

What microcontrollers are supported?
The examples run on the LM4F120, TM4C123, or TM4C1294 microcontrollers.
Are the example files free to use?
Yes, they are copyrighted by Jonathan W. Valvano but you may use, edit, run, or distribute them as long as the copyright notices remain intact.
What compilers are supported?
Projects compile with Keil uVision4/5 and Texas Instruments Code Composer Studio (CCS).
How do I get started with the examples?
Download the appropriate zip file (e.g., ValvanoWareTM4C123.zip for Keil 4/CCS or ValvanoWaveTM4C123v*.zip for Keil 5) and unzip to get a directory structure with projects organized by microcontroller and topic.