Embedded Systems Essentials with Arm: Get Practical with Hardware
About this courseSkip About this course
Embedded systems are the fundamental building blocks of our connected world, and Arm-based devices are the industry standard. This course will provide you with the practical skills and confidence to build your own embedded system using the popular and affordable ST Nucleo F401RE development board.
You can purchase all the bill of materials required for the course directly from our technology partner STMicroelectronics: https://www.st.com/content/st_com/en/campaigns/educationalplatforms/embedded-arm-edx-edu.html
For a limited time only they're also offering a free ST Nucleo F401RE board to learners who purchase a verified certificate. Further details can be found when your purchase your verified certificate.
Connected home appliances, biomedical devices, autonomous vehicles and IoT applications all rely on real-time operating systems (RTOS) to manage multiple digital and analog inputs, and efficient communication protocols to handle the transfer of data between peripherals and a microcontroller. By enrolling in Embedded Systems Essentials with Arm: Get Practical with Hardware , you will discover why these are powerful tools for any aspiring Embedded Systems designer.
You’ll begin by obtaining an understanding of the basic principles of serial data communication and learn how to implement synchronous and asynchronous serial links on the ST Nucleo F401RE board. You’ll then be introduced to the powerful multitasking capabilities of RTOS. Using this new-found knowledge, you'll discover how to manage microcontroller peripherals in a concurrent manner, utilizing threads and other RTOS capabilities.
Along the way, you'll get access to practical lab exercises using the ST Nucleo F401RE board , so you can obtain real-world experience in implementing these key concepts on an Arm-based microcontroller.
This is the 2nd course in our Embedded Systems Essentials Program. The 1st course – Embedded Systems Essentials: Getting Started – focuses on using a simulated microcontroller using the Mbed API. In this second course, you’ll get hands-on experience working with a development board building embedded systems applications, and it can be taken independently of the first.
As we continue to create increasingly complex IoT applications, driven by the advances of Artificial Intelligence and 5G, the next generation of developers will need to have a practical understanding of these processes on Arm-based microcontrollers. Upon completion of this course, you will have taken your next step into the exciting future of computing.
Course created with support from
At a glance
What you'll learnSkip What you'll learn
- Learn key serial communication protocols used in the embedded environment including SPI, UARTs and I2C; evaluating their benefits and limitations.
- Learn the features of a Real-time Operating System (RTOS) and how it facilitates multitasking in an embedded system.
- Develop working embedded prototypes using the Arm Mbed API, the ST Nucleo F401RE board and low cost parts.
- Learn hardware and software theory, immediately applied in practice.
- Apply your knowledge to create a user interface, temperature sensing system, and music player - with ideas to develop each further.
- Apply threads, mutex, semaphores and interrupts to write a fully-functioning multitasking program.
Learn deeper programming skills with C/C++, applying these to use of the powerful Mbed API.
Learn staged circuit development and troubleshooting skills.
Experience working with component data sheets to seek out and apply essential technical detail.
Gain a firm foundation to move towards more complex programming, distributed sensing and the IoT, through critical evaluation of systems developed
Introduction to Serial Communications
Understand the principles of simple serial data communication serial links using the Mbed API.
Further Serial Communications
Recognise the benefits of enhanced example serial data links and learn how to select their preferred application.
Introductory Real-Time Operating Systems (RTOS)
Understand the features of an RTOS and implement simple examples using Mbed.
Understand and implement features of an RTOS which facilitate multitasking.