---
title: Microcontrollers & Embedded
description: This subject covers the integration of microprocessors with peripheral devices to control physical systems. Learners will understand how to program microcontrollers, interface with sensors and actuators, and design real-time embedded systems.
category: engineering
subcategory: electrical-and-computer-engineering
difficulty: beginner, intermediate, advanced
url: /subject/microcontrollers-and-embedded
---

# Microcontrollers & Embedded

This subject covers the integration of microprocessors with peripheral devices to control physical systems. Learners will understand how to program microcontrollers, interface with sensors and actuators, and design real-time embedded systems.

## Available Resources

3 Books • 3 Courses • 7 Websites

## Websites

### 1. All About Circuits - Embedded Section

Technical articles on microcontroller peripherals, firmware, and hardware interfacing from an electronics engineering publication, alongside its textbook series on circuit theory. Useful for filling gaps between a datasheet and a working design.

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

**Link:** https://www.allaboutcircuits.com/technical-articles/category/embedded/

**Tags:** embedded-systems, microcontrollers, electronics, firmware

### 2. Embedded Related

Community hub for practicing embedded engineers: technical blogs by working developers, discussion forums, and free online books covering DSP, real-time firmware, and debugging. Good for practitioner-level writing that rarely appears in textbooks.

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

**Link:** https://www.embeddedrelated.com/

**Tags:** embedded-systems, firmware, dsp, engineering-community

### 3. Interrupt - Memfault Blog

Memfault's engineering blog covering firmware practice in depth: ARM Cortex-M fault debugging, coredumps, watchdogs, OTA update design, linker scripts, and build tooling. Written by working embedded engineers with code you can run.

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

**Link:** https://interrupt.memfault.com/

**Tags:** embedded-systems, firmware, debugging, arm-cortex-m

### 4. 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

### 5. platformio.org

PlatformIO.org hosts PlatformIO, an open-source IoT development ecosystem with a cross-platform IDE/CLI, library registry, and build system for microcontrollers. It features documentation, tutorials, and access to a vast database of boards and embedded libraries for project development.

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

**Link:** https://platformio.org

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

### 6. 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

### 7. 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

## Courses

### 1. 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

### 2. 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

### 3. 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

## Books

### 1. Making Embedded Systems

**Author:** Elecia White

Practical guidance on designing firmware for resource-constrained hardware: interrupts, memory limits, debugging without a debugger, and interfacing sensors. Readers finish able to structure embedded C projects and reason about timing, power, and hardware trade-offs.

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

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

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

### 2. Programming Arduino: Getting Started with Sketches

**Author:** Simon Monk

A short introduction to programming Arduino microcontrollers in C, covering sketches, variables, functions, arrays, digital and analog I/O, serial communication, and libraries. Readers finish able to write and debug their own sketches for sensors, LEDs, and displays.

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

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

**Tags:** books, technology-computer-science, iot

### 3. The 8051 Microcontroller

**Author:** Kenneth J. Ayala

Covers the Intel 8051 architecture and its assembly instruction set, with worked hardware and software examples. After working through it you can write and debug 8051 assembly programs driving ports, timers, interrupts, and serial communication.

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

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

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

---

*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/microcontrollers-and-embedded