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