MSPM0_ValvanoWare  1.0
ECE445L starter code
ECE445L Introduction to Embedded Systems

July 29, 2026

Author
Jonathan Valvano, PhD
Daniel Valvano, BS

Overview

An embedded system is a system that performs a specific task and has a computer embedded inside. A system is comprised of components and interfaces connected for a common purpose. This book is an introduction to embedded systems. Specific topics include the MSPM0+ microcontroller, finite-state machines, debugging, fixed-point numbers, the design of software in assembly language and C, elementary data structures, programming input/output, interrupts, measurements with analog to digital conversion, graphics, sound production with digital to analog conversion, introduction to networks using serial communication, and real-time systems.
There is a web site accompanying this book https://users.ece.utexas.edu/~valvano/EE445L/ebook/index.htm. Posted here are projects for each of the example programs in the book

Hardware

The hardware used in these projects include
  • MSPM0G3507 LaunchPad (LP-MSPM0G3507)
  • RSLK2 Robot Systems Learning Kit
  • LEDs, Switches, slide pot, speaker
  • ST7735R or SSD1306 display
These project utilize the MSPM0G3507 LaunchPad. For more information see
https://www.ti.com/product/LP-MSPM0G3507/part-details/LP-MSPM0G3507

The RSLK2 Robot Systems Learning Kit is platform with lots of I/O. For more information see
https://docs.google.com/document/d/11wp2RbnZV15mRgctMgae81lJd9SU2MToSahXqwRGQOs/edit?tab=t.0

Modules

The documentation is divided into modules.
  • ADC contains the analog to digital converter
  • Display contains the ST7735R and SSD1306 displays
  • RSLK contains the sensors and motor interfaces
  • CAN contains the controller area network code
  • Clock contains the MSPM0G3507 clock and timers
  • DAC contains the digital to analog converter
  • Debugging contains dump, TExaS scope, and TExaS logic analyzer
  • EdgeTriggered contains edge-triggered interrupts
  • Wifi contains ESP8266 code
  • Math contains digital filters, DFT, and trig functions
  • FIFO contains software a first in first out queue
  • Flash contains software to erase and program the internal flash
  • LaunchPad contains software to input from LaunchPad switches and output LaunchPad LEDs
  • SPI contains synchronous serial communication
  • PWM contains pulse width modulation software
  • Timer contains periodic interrupts and period and pulsewidth measurements
  • UART contains universal asynchronous receiver/transmitter software