Course Details
Intermediate Level
In this course, students will design and build Real-Time microcontroller-based embedded systems applications using Linux POSIX Threads, the RP2040 microcontroller chip and the RPi Pico microcontroller board - that is manufactured here at Avon Center by Gearbox-Europlacer, as well as the ESP32 RISC-V microcontroller chip from Espressif Systems.
Students will use Ubuntu Linux, the RPi Pico and the ESP32 microcontrollers in a series of hands-on labs and projects, supervised by lab mentors. These applications will be applied to modern Real-Time Embedded Systems and Linux POSIX Real-Time thread applications. The students will be taken through several labs on electronic circuits, microcontroller programming, Real-Time Rate Monotonic Analysis, Scheduling, POSIX Real-Time extensions for C/C++.
Students will also learn how to interface microcontrollers with external devices using GPIO, I2C, SPI and UART communications protocols, through hands-on labs and projects.

- Understand Real-Time Embedded Systems theory and apply this to create RT POSIX threads on Linux and Embedded Systems.
- Apply Real-time Systems theory to create real-time applications with hard deadlines that apply scheduling, memory locking and function queues.
- Apply different Scheduling Policies such as Round-Robin and FIFO to Real-time systems.
- Use of semaphores, mutexes and other Real-Time memory management locks.
- Use C/C++ to communicate with connected devices using I2C, SPI, GPIO and UART.
- Measure Acceleration with the MPU6050 accelerometer/gyroscope via the Inter-Integrated Circuit (I2C) interface.
- Use the RPi Pico/ESP32 microcontrollers to communicate with the external sensors/transducers using I2C, SPI, GPIO and UART.
- Learn how to implement Asset Tracking/Motion Detection using a professional-grade CCTV camera and infrared motion detector.
- Coming Soon
- Laptop with Ubuntu 22.04 (preferred) or Ubuntu 18.04+. Note: Students who have Windows or MacOS laptops can also use a virtual machine such as VirtualBox or VmWare and run Ubuntu 18.04+ from their Windows / MacOS machine.
- Logbook (or notebook) for lab exercises.
- Education: Any of the following requirements are needed to understand the Lectures, Course Content and Technical Labs, and to enroll in this course:
- Students who have completed the Embedded Systems Beginner Level Course.
- College/University/Polytechnic Undergraduate student in Mathematical & Physical Sciences, Engineering or Computer Science.
- In-Lieu of having a College/Polytechnic education, students who have experience in Electronics, Embedded Systems, Assembly, C/C++ or Java programming, or students who have previously completed Gearbox Academy courses are also welcome to enroll.
Enroll Now
Copyright by Gearbox Academy. All Rights Reserved