---
title: Embedded Systems
description: This subject covers the design of dedicated computer systems that control physical devices and hardware. Learners will understand microcontroller architecture, real-time operating systems, sensor interfacing, and low-level programming for robotic control.
category: engineering
subcategory: robotics
difficulty: beginner, intermediate, advanced
url: /subject/embedded-systems
---

# Embedded Systems

This subject covers the design of dedicated computer systems that control physical devices and hardware. Learners will understand microcontroller architecture, real-time operating systems, sensor interfacing, and low-level programming for robotic control.

## Available Resources

2 Books • 5 Courses • 4 Websites • 1 Papers

## Courses

### 1. Introduction to the Internet of Things and Embedded Systems

**Author:** Ian Harris

University of California, Irvine course taught by Ian Harris defining the Internet of Things and embedded systems: sensors and actuators, hardware and software trade-offs, design constraints such as power and cost, and basic networking and internet protocols. Prepares learners for hands-on IoT programming.

**Difficulty:** Beginner | **Price:** Free

**Link:** https://www.coursera.org/learn/iot

**Tags:** iot, embedded-systems, networking, microcontrollers

### 2. Embedded Systems Essentials with Arm

Learn embedded systems essentials with Arm! This course covers key concepts and practical applications for Arm-based devices.

**Difficulty:** Beginner | **Price:** Free

**Link:** https://www.arm.com/resources/education/online-courses/embedded-systems

**Tags:** arm, cortex-m, microcontrollers, embedded-c, iot

### 3. Introduction to Embedded Systems Software and Development Environments

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine. The course concludes with a project where you will create your own build system and firmware that can manipulate memory.

The second course in this 2 course series , Embedded Software and Hardware Architecture,  will use hardware tools to program and debug microcontrollers with bare-metal firmware. Using a Texas Instruments MSP432 Development Kit, you will configure a variety of peripherals, write numerous programs, and see your work execute on your own embedded platform!

**Difficulty:** Beginner | **Price:** Free

**Link:** https://www.coursera.org/learn/introduction-embedded-systems

**Tags:** arm, embedded-c, gcc-toolchain, git, firmware

### 4. Embedded Systems - Shape The World: Microcontroller Input/Output

**Author:** Jonathan Valvano, Ramesh Yerraballi

Hands-on UT Austin lab course on embedded systems built around the TI Tiva C (TM4C123) ARM Cortex-M4 LaunchPad, covering C programming, digital input and output, switches, LEDs, interfacing circuits and finite state machines. Learners can design and debug simple bare-metal microcontroller systems.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://www.edx.org/learn/embedded-systems/the-university-of-texas-at-austin-embedded-systems-shape-the-world-microcontroller-input-output

**Tags:** embedded-systems, microcontrollers, arm-cortex-m, embedded-c, digital-io

### 5. Advanced Embedded Systems

<p>The emergence of advanced embedded systems applications powered by the Internet of Things (IoT), Machine Learning (ML) and Edge Computing is changing th

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://www.edx.org/certificates/professional-certificate/armeducationx-advanced-embedded-systems-on-arm

**Tags:** courses, engineering-manufacturing, robotics

## Websites

### 1. FastBit Embedded Brain Academy

Kiran Nayak's embedded training site and course catalogue covering STM32 microcontrollers, ARM Cortex-M architecture, bare-metal driver development for GPIO, SPI, I2C and USART, FreeRTOS, DMA, and bootloaders, with a suggested order for working through them.

**Difficulty:** Beginner | **Price:** Free

**Link:** https://fastbitlab.com/

**Tags:** stm32, arm-cortex-m, firmware, rtos, device-drivers

### 2. Embedded Artistry

Free resources, articles, and templates for embedded software in robotics projects.

**Difficulty:** Beginner | **Price:** Free

**Link:** https://embeddedartistry.com/

**Tags:** firmware, embedded-c, cpp, software-architecture, embedded-linux

### 3. arduino.cc

Arduino's official site for learning and building with microcontroller-based projects. It provides boards and the Arduino IDE, tutorials, example projects, reference docs, and community resources for beginners to advanced users.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://docs.arduino.cc/

**Tags:** websites, engineering-manufacturing, electrical-engineering

### 4. embedded.com

Embedded.com is a technical resource for embedded systems developers, offering news, tutorials, articles, and design resources on microcontrollers, RTOS, and embedded platforms. It covers MCU architectures, peripherals, development tools, and industry trends to help engineers design and optimize embedded products.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://embedded.com

**Tags:** websites, engineering-manufacturing, electrical-engineering

## Podcasts

### 1. Circuit Break - A MacroFab Podcast

**Author:** Parker Dillmann, Stephen Kraig

Weekly podcast from electronics manufacturer MacroFab in which hardware engineers Parker Dillmann and Stephen Kraig discuss electronics design, component choices, prototyping, manufacturing problems, industry news and their own projects. Listeners pick up practical engineering judgment beyond textbook circuit theory.

**Difficulty:** Intermediate | **Language:** en | **Price:** Free

**Link:** https://www.macrofab.com/podcasts/

**Tags:** electronics-design, pcb-design, hardware-engineering, prototyping, electronics-manufacturing

## Books

### 1. Making Embedded Systems: Design Patterns for Great Software (2nd Edition)

**Author:** Elecia White

Elecia White's guide to structuring firmware for constrained hardware: modular architecture, interrupts, state machines, timers, power management, memory budgets, peripherals and debugging. Readers learn to write embedded software that is reliable, testable and maintainable beyond hobby-project code.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/1098151542?tag=edmonddante07-20

**Tags:** embedded-systems, firmware, embedded-software-design, state-machines, interrupts

### 2. Embedded Systems: Introduction to ARM Cortex-M Microcontrollers

**Author:** Jonathan W. Valvano

Volume one of Valvano's textbook series, teaching microcontroller programming in C on ARM Cortex-M parts: GPIO, interrupts, timers, ADC and DAC, serial interfaces, and finite state machines, with lab exercises on Texas Instruments Cortex-M evaluation boards.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/1477508996?tag=edmonddante07-20

**Tags:** books, engineering-manufacturing, robotics

## Papers

### 1. RP2040 Datasheet

**Author:** Raspberry Pi Ltd

The 600-plus-page chip specification from Raspberry Pi Ltd: bus fabric, dual Cortex-M0+ cores, clocks, every peripheral's register map, electrical characteristics, and the programmable I/O block. Working through it teaches how to read a datasheet and program hardware directly rather than through library wrappers.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf

**Tags:** rp2040, raspberry-pi-pico, datasheet, arm-cortex-m, embedded, pio

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/embedded-systems