This textbook introduces basic and advanced embedded system topics through Arm Cortex M microcontrollers, covering programmable microcontroller usage starting from basic to advanced concepts using the STMicroelectronics Discovery development board. Designed for use in upper-level undergraduate and graduate courses on microcontrollers, microprocessor systems, and embedded systems, the book explores fundamental and advanced topics, real-time operating systems via FreeRTOS and Mbed OS, and then offers a solid grounding in digital signal processing, digital control, and digital image processing concepts — with emphasis placed on the usage of a microcontroller for these advanced topics. The book uses C language, “the” programming language for microcontrollers, C++ language, and MicroPython, which allows Python language usage on a microcontroller. Sample codes and course slides are available for readers and instructors, and a solutions manual is available to instructors. The book will also be an ideal reference for practicing engineers and electronics hobbyists who wish to become familiar with basic and advanced microcontroller concepts.
Microcontrollers are simpler to program. They have a fairly wide usage area. More importantly, they can be handled by a wide range of audience. In fact, the most well-known example of this usage is the Arduino platform. The reader may ask the question “Then, why is the Arduino platform not being used in this book?” We deliberately used the STM32F429ZIT6 microcontroller based on the Arm Cortex-M architecture such that we can explain the working principles of microcontrollers in detail. Besides, we will introduce the Mbed platform which works similar to the Arduino platform. One final note, most of the concepts to be explained on microcontrollers in this book can be applied to other embedded system hardware groups with minor modification. Therefore, the reader can expand the usage area of these concepts. However, they should first be mastered on microcontrollers as explained in this book.