This foundational module introduces the core building blocks of an embedded system. Learners will gain a deep understanding of Microcontroller (MCU) architecture, including the roles of the CPU, RAM, ROM/Flash Memory, and Peripheral Interfaces (e.g., Timers, Interrupt Controllers) integrated onto a single chip. We will differentiate MCUs from Microprocessors (MPUs) and explore key concepts such as clock speed, reset sequences, and the fetch-decode-execute cycle. The module emphasizes understanding hardware constraints and selecting the appropriate MCU based on project requirements (e.g., power consumption, processing speed, I/O needs).
This practical module focuses on writing robust and efficient firmware. Embedded C is covered extensively due to its low-level access, deterministic performance, and minimal resource usage, which are critical for MCUs. Key topics include direct register access for fine-grained control of peripherals, memory management, and writing efficient interrupt service routines (ISRs). Alternatively, for more powerful, Linux-based embedded systems (like Raspberry Pi), the module covers utilizing Embedded Python and libraries for rapid prototyping and higher-level application logic. The goal is to program the MCU to interface directly with hardware pins and manage basic I/O operations.
This module is dedicated to connecting the microcontroller to the physical world. For sensors, we cover various types (e.g., ultrasonic distance, gyroscope, accelerometer) and their communication protocols (I2C, SPI, Analog-to-Digital Conversion/ADC). For actuators, the focus is on controlling different types of motors essential for robotics: DC motors (using H-bridges for direction control), Stepper motors (for precise positioning), and Servo motors (using Pulse Width Modulation/PWM for angular control). Emphasis is placed on using external drivers and power sources to protect the MCU and deliver necessary power to the actuators.
This core robotics module applies the knowledge from Module 3 to achieve autonomous movement. Learners will study Robot Kinematics (the geometry of motion without considering forces) to understand how wheel rotation translates into robot movement. Key concepts covered include:
The final module culminates in a Mini Robotics Project, requiring the integration of all skills acquired. The typical project involves building a small autonomous mobile robot (e.g., a line follower or a simple obstacle avoidance vehicle). This capstone phase emphasizes the Embedded Software Engineering lifecycle: from defining the system architecture and selecting components to writing, debugging, and testing the complex firmware that handles concurrent tasks—reading sensors, executing PID control loops, and managing high-level navigation decisions. The final deliverable is a functional, programmable, and autonomous robot.