Hardware, IoT & Embedded Systems

Design and program the electronics and software for smart devices and the Internet of Things (IoT). Covers microcontrollers, sensor integration, and low-level programming.

11 subcategories · 448 courses total

Embedded C/C++ Programming
Develop deep programming skills for resource-constrained devices. Focus on memory management, hardware register access, performance optimization, and C++ features for embedded systems.
94 courses
IoT System Design
Build end-to-end Internet of Things systems. Learn about communication protocols like MQTT and CoAP, and connect your devices to cloud platforms like AWS IoT or Azure IoT Hub.
52 courses
Microcontroller Fundamentals
Learn the core concepts of microcontrollers, including their architecture, memory, peripherals, and how to program them at a low level. Explore common families like AVR, PIC, and ARM Cortex-M.
44 courses
Sensor & Actuator Integration
Learn to interface with the physical world by integrating and programming a wide variety of sensors and actuators. Understand communication interfaces like I2C, SPI, and UART.
44 courses
Real-Time Operating Systems (RTOS)
Master the concepts of real-time operating systems for applications requiring deterministic timing. Learn about task scheduling, concurrency, and synchronization using systems like FreeRTOS.
44 courses
FPGA & HDL Programming
Design digital logic circuits using Hardware Description Languages (HDLs). Learn VHDL or Verilog to program FPGAs for high-performance computing and custom hardware acceleration.
40 courses
Raspberry Pi Projects
Explore the capabilities of the Raspberry Pi single-board computer. Learn to set up Raspberry Pi OS, program with Python, and build projects ranging from media centers to IoT gateways.
39 courses
Embedded Linux
Go beyond desktop Linux and learn to build and customize Linux systems for embedded devices. Cover topics like the build process with Yocto or Buildroot, kernel configuration, and device drivers.
38 courses
PCB Design & Layout
Learn to design custom Printed Circuit Boards (PCBs) from scratch. Master schematic capture, component selection, board layout, and routing using software like KiCad or Eagle.
37 courses
Firmware Development
Learn the complete lifecycle of firmware engineering, including requirements, design patterns, build systems, debugging, and over-the-air (OTA) updates.
12 courses
Arduino Programming
Master the Arduino platform, from basic setup and programming with the Arduino IDE to building complex projects with shields and various sensors. Ideal for beginners and rapid prototyping.
4 courses