Embedded learning materials

Good textbooks and relevant published learning and teaching materials are excellent resources for
both educators 
and students. Here is a recommended list organized by technology topic to help
supplement today’s engineering 
learning environments. While some of these books may link back
to TI technology, we’ve recommended them 
because we believe they are good guides for instruction
and learning. We do not receive financial remuneration 
for any of these materials.

Featured Resource

by Steven F. Barrett and Daniel J. Pack

This book provides a thorough introduction to the Texas Instruments MSP430™ microcontroller introducing the MSP430FR5994 and MSP430FR2433 LaunchPad™ Development Kits.  Each chapter provides laboratory exercises. This is an excellent reference for capstone design projects.

Recommended material for microcontrollers

Embedded Systems: Introduction to Arm® Cortex™-M Microcontrollers, 5th edition 

by Jonathan W. Valvano 

This book, now in its fifth edition, is the first in a series of three books that teach the fundamentals of embedded systems as applied to the ARM® Cortex™-M family of microcontrollers. This fifth edition focuses on the LaunchPads based on both the TM4C123 and TM4C1294 microcontrollers. This first volume is an introduction to computers and interfacing focusing on assembly language and C programming

Embedded Systems: Real-Time Interfacing to Arm® Cortex™-M Microcontrollers, 2nd edition 

Jonathan W. Valvano 

This is the second in Valvano’s series of three books that teach the fundamentals of embedded systems as applied to ARM Cortex-M microcontrollers. This second book focuses on interfacing and system-level design.

Embedded System Design using TM4C LaunchPad™ Development Kit

This lab manual consists of experiments that equip users to build a variety of production-
ready applications with the TIVA C series microcontrollers.

Embedded Systems Design with the Texas Instruments  MPS432™ 32-bit Processor

by Steve Barrett, Daniel Pack and Dung Dang

This book provides a thorough introduction to the Texas Instruments MPS432™ microcontroller. The MPS432 is a 32-bit processor with the ARM Cortex M4F architecture and a built-in floating point unit. At the core, the MSP432 features a 32-bit ARM Cortex-M4F CPU, a RISC-architecture processing unit that includes a built-in DSP engine and a floating point unit. As an extension of the ultra-low-power MSP microcontroller family, the MSP432 features ultra-low power consumption and integrated digital and analog hardware peripherals.

TI MSP432 ARM Programming for Embedded Systems

by Muhammad Ali Mazidi, Sepehr Naimi, Shujen Chen and Misagh Salmanzadeh. 

This textbook covers the details of the MSP432 peripherals such as ADC, Timer, SPI and I2C with ARM programs. It also includes the programs for interfacing of MSP432 to LCD, Serial COM port, DC motor, stepper motor, sensors and graphics LCD. All the programs in the book are tested using the MSP432 LaunchPad development kit.

Real-time Bluetooth Networks: Shape the World

by Jonathan W. Valvano

This book offers a format geared towards hands-on self-paced learning. The overarching goal is to give your students an experience with real-time operating systems that is based on the design and development of a simplified RTOS that exercises all the fundamental concepts.

Embedded Systems: Introduction to the MSP432 Microcontroller (Vol 1) 

by Jonathan W. Valvano

This book is the first in a series of three books that teach the fundamentals of embedded systems as applied to the MSP432 microcontroller. This first book is an introduction to computers and interfacing, focusing on assembly language and C programming. 

Embedded Systems: Real-Time Interfacing to the MSP432 Microcontroller 

by Jonathan W. Valvano

This is the second in a series of three books that teach the fundamentals of embedded systems as applied to the MSP432 microcontrollers. These books are primarily written for undergraduate electrical and computer engineering students. They could also be used for professionals learning the ARM platform. This second book focuses on interfacing and the design of embedded systems.

Microcontroller Engineering with MSP432: Fundamentals and Applications

by Ying Bai

This book aims to develop professional and practical microcontroller applications in the ARM-MDK environment with the MSP432 LaunchPad development kits. It introduces ARM Cortex-M4 MCU by highlighting the most important elements, including: registers, pipelines, memory, and I/O ports. The MSP432 microcontroller provides various control functions with multiple peripherals to enable users to develop and build various modern control projects with rich control strategies. 

Embedded Systems: Real-Time Operating Systems for Arm Cortex M Microcontrollers

by Jonathan W. Valvano

This book specifically covers the TM4C and MSP432 microcontrollers; however, it could be used with any Cortex-M microcontroller. This third volume is primarily written for senior undergraduate or first-year graduate electrical and computer engineering students. It could also be used for professionals designing or deploying a real-time operating system onto an ARM platform. The book focuses on operating systems, high-speed interfacing, control systems, robotics, Bluetooth, and the Internet of Things (IoT). Rather than buying and deploying an existing OS, the focus is on fundamental principles, so readers can write their-own OS.

An Introduction to the Texas Instruments C2000 Real-time Control Microcontrollers

by Gautam Iyer

This book introduces TI's C2000 microcontroller.

Programmable Microcontrollers: Applications on the MSP432 LaunchPad

by  Cem Unsalan, H. Deniz Gurhan and  M. Erkin Yucel 

Bolster your electronics skills and learn to work with the cutting-edge MSP432 LaunchPad development kit using the practical information contained in this comprehensive guide.  Discover how to configure the MSP432 LaunchPad development kit, program custom functions, interface with external hardware, and communicate via Wi-Fi. Ideal for practicing engineers and hobbyists alike, this hands-on guide empowers you to program various microcontrollers by thoroughly understanding the MSP432.

Tiva ARM Programming for Embedded Systems: Programming ARM Cortex-M4 TM4C123G with C

by Muhammad Ali Mazidi, Shujen Chen, Sarmad Naimi and Sepehr Naimi   

This volume covers the peripheral programming of the Tiva C series. Throughout the book, you will use C language to program the Tiva C Series TM4C123G chip peripherals with the TM4C123G LaunchPad development kit, which is based on ARM® Cortex®-M4F MCU.

Introduction to Embedded Systems: Using Microcontrollers and the MSP430 

by Manuel Jiménez, Rogelio Palomera and Isidoro Couvertier 

This textbook  introduces embedded systems design, using microcontrollers as core components.  It develops concepts from the ground up, covering the development of embedded systems technology, architectural and organizational aspects of controllers and systems, processor models, and peripheral devices. Since microprocessor-based embedded systems tightly blend hardware and software components in a single application, the book also introduces the subjects of data representation formats, data operations, and programming styles. 

Programmable Microcontrollers with Applications: MSP430 LaunchPad with CCS and Grace

by Cem Unsalan and H. Deniz Gurhan 

Expand your design skills to include the MSP430 family of ultra-low-power microcontrollers with this practical guide. Discover how to configure the MSP430, efficiently program custom functions, process analog and digital signals and interface with external components.

Microcontroller Programming and Interfacing: Texas Instruments MSP430 

by Steven Barrett and Daniel Pack 

This book provides an introduction to the Texas Instruments MSP430 microcontroller. Programming techniques, interface concepts and tutorial information with illustrated examples are included. The book is intended for an upper division undergraduate course in microcontrollers or mechatronics, but it may also be used as a reference for capstone design projects.

MSP430-based Robot Applications: A Guide to Developing Embedded Systems

by Dan Harres

This book provides an explanation of the basic areas of electronics and computer architecture; along with examples demonstrating the interface, sensor design, programming and microcontroller peripheral setup necessary for embedded systems development. Mechanical knowledge of robots is not required, as this book starts by revealing how to modify a simple radio-controlled car to create a basic robot. The fundamental electronics of the MSP430 microcontroller are described; including programming details in both C and assembly language and full explanations of ports, timing and data acquisition. 

MSP430 Microcontroller Basics

by John H. Davies

This book begins with an overview of embedded systems and microcontrollers followed by an in-depth look at the MSP430 microcontroller including the its architecture, functionality and development environment.

Featured Resource

by Naim Dahnoun 
The only book to offer special coverage of the fundamentals of multicore DSP for implementation on the TMS320C66xx SoC.  The book teaches readers how to use the development tools, take advantage of the maximum performance and functionality of this processor and have an understanding of the rich content which spans from architecture, development tools and programming models, such as OpenCL and OpenMP, to debugging tools.

Recommended material for digital signal processing

Real-Time Digital Signal Processing from MATLAB to C with the TMS320C6x DSPs, Third Edition

by Thad B. Welch, Cameron H.G. Wright, and Michael G. Morrow
This textbook presents theory while reinforcing it with simulations. It shows the student how to use the results in real-time applications. With the combined expertise of the three authors, the reader can step into the real-time world of applications with the text that presents an accessible path.

Real-Time Digital Signal Processing: Fundamentals, Implementations and Applications, 3rd edition (2013)

by Sen M. Kuo, Bob H. Lee, and Wenshun Tian

This textbook introduces fundamental digital signal processing (DSP) principles and includes the latest DSP applications, shares new software development tools and adjusts the software design process to reflect the latest advances in the field. The key aspect of hands-on experiments is enhanced to make the DSP principles more interesting and to directly interact with real-world applications.

Real-Time Digital Signal Processing: Implementations and Applications, 2nd edition (2006)

by Sen M. Kuo, Bob H. Lee, and Wenshun Tian

This book provides an overview of DSP theory and programming with hands-on experiments using MATLAB, C and fixed-point processors from Texas Instruments 

Discrete-Time Signal Processing, 3rd edition (2011)

by Alan V. Oppenheim and Ronald W. Schafer 

This textbook is an authoritative text on DSP – ideal for those with introductory-level knowledge of signals and systems. Written by prominent DSP pioneers, it provides thorough treatment of the fundamental theorems and properties of discrete-time linear systems, filtering, sampling, and discrete-time Fourier Analysis.

Communication System Design Using DSP Algorithms: With Laboratory Experiments for the TMS320C6701 and TMS320C6711, 3rd edition (2003)

by Steven Tretter (University of Maryland)

Designed for senior electrical engineering students, this textbook explores the theoretical concepts of digital signal processing and communication systems by presenting laboratory experiments using real-time DSP hardware. The experiments are designed for the Texas Instruments TMS320C6701 Evaluation Module or TMS320C6711 DSK but can easily be adapted to other DSP boards. Each chapter begins with a presentation of the required theory and concludes with instructions for performing experiments to implement the theory.

Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming, 2nd edition (2008)

by Nasser Kehtarnavaz (University of Texas at Dallas)

This book is ideal for digital signal processing students implementing DSP systems. Combines textual and graphical programming to form a hybrid programming approach, enabling a more effective means of building and analyzing DSP systems.

Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK, 2nd edition (2007)

by Rulph Chassaing and Donald S. Reay

An extensive text on the hands-on teaching of Digital Signal Processing, now updated in a second edition to be compatible with the Texas Instruments Code Composer Studio (CCS) development environment. Maintaining the original's comprehensive, hands-on approach that has made it an instructor's favorite, this edition also features added program examples that illustrate DSP concepts in real-time and in the laboratory; expanded coverage of analog input and output; and material on frame-based processing. 

Embedded Image Processing on the TMS320C6000(TM) DSP: Examples in Code Composer Studio(TM) and MATLAB (2005)

by Shehrzad Qureshi

This is an application-oriented text and includes debugged and efficient C implementations of real-world algorithms. It covers TI technologies and features the C6416 DSK and focuses on image processing signal and algorithms using embedded processors.O

Digital Signal Processing and Applications with the OMAP - L138 eXperimenter

by Donald S. Reay

The OMAP-L138 processor contains both ARM and DSP cores and is aimed at portable and mobile multimedia applications. This book concentrates on the demonstration of real-time DSP algorithms implemented on its C6748 DSP core.

Real-Time Digital Signal Processing: Based on the TMS320C6000

by Nasser Kehtarnavaz

This book provides an overview of implementing and optimizing signal processing algorithms on the Texas Instruments family of C6000 DSP processors. 
Exploring BeagleBone second edition

Featured Resource

Practical techniques and instruction for building with the BeagleBone embedded Linux platform
The second edition of the book includes the new BeagleBone® boards emphasizing the PocketBeagle® and BeagleBone Black Wireless. Educators and developers can create examples and projects with more unique features using these new boards.
The new book includes new content covering examples such as building wireless sensor networks, Internet of Things (IoT) full-stack frameworks with emphasis on Message Queuing Telemetry Transport (MQTT) and interfacing to AdaFruit IO.  There is also new content on real-time interfacing.
This book will have widespread appeal for students who wants to bring the power of embedded Linux to their projects.

Recommended material for processors

ARM Assembly Language: Fundamentals and Techniques, 2nd edition 

by William Hohl and Christopher Hinds

Delivers a solid introduction to assembly language and embedded systems. Covers topics essential to writing meaningful assembly programs and is an ideal textbook. This edition still supports the popular ARM7TDMI, but also addresses the latest architectures from ARM®, including Cortex™-A, Cortex-R, and Cortex-M processors―all of which have slightly different instruction sets, programmer’s models, and exception handling. Includes expanded coverage of the ARM7™.

Getting Started with BeagleBone Linux-Powered Electronic Projects With Python and JavaScript 

by Matt Richardson 

A good guide to help students get started with BeagleBone Black, including examples that are easy to understand and implement

Order from O'Reilly or Amazon 

Programming the BeagleBone Black: Getting Started with JavaScript and BoneScript, 1st  edition 

by Simon Monk

This textbook explains essential application development methods through straightforward directions and downloadable examples. Discover how to navigate the board, write and debug code, use expansion capes and control external hardware. Easy-to-follow plans show students how to wire up and program a web-controlled roving robot and an e-mail notifier that lights an incandescent lamp.

BeagleBone Robotic Projects 

by Richard Grimmett

This book helps students turn the BeagleBone Black into a working robot. 

BeagleBone Cookbook: Software and Hardware Problems and Solutions

by Mark Yoder and Jason Kridner

BeagleBone is web server, Linux desktop and electronics hub that includes the tools you need to create your own projects—whether it’s robotics, gaming, drones or software-defined radio. If you’re new to BeagleBone Black or want to explore more of its capabilities, this cookbook provides scores of recipes for connecting and talking to the physical world with this credit-card-sized computer.

The BeagleBone Black Primer

by Brian McLaughlin

This book starts with the simplest embedded programming concepts. Explore the capabilities of BeagleBone Black and learn all the essentials, from controlling I/O to establishing network connections.

Mastering BeagleBone Robotics

by  Richard Grimmett

Master the power of the BeagleBone Black to maximize your robot-building skills and create fun projects. If you want a simple guide to building complex robots, then this book is for you. You'll need some programming knowledge and experience working with mechanical systems.

Programming the BeagleBone Black

by Yogesh Chavan 
This book reveals the hardware and software capabilities of BeagleBone to create real-life electronics and IoT applications quickly. It is divided into two parts. The first part covers JavaScript programs. The second part provides electronic projects and IoT applications in Python.

BeagleBone Essentials

by Rodolfo Giometti                     

This book introduces concepts of compilation and cross-compilation of user-space and kernel-space applications with basic debugging techniques. It also covers high-level programming by using scripting languages and how to access different peripherals such as serial ports, USB devices, I2C/SPI, and 1-Wire. Additionally it reveals how to use or develop system daemons in several programming languages, collect peripheral data and control a device.  

Building a BeagleBone Black Super Cluster 

by Andreas Josef Reichel

This book introduces key features of the BeagleBone Black. Real-life examples in the book will show you how to configure and compile software packets and how to write your own cluster software. The book concludes with programming and simulation examples using sophisticated physics simulation libraries as typical applications.