Overview
This course examines the integrated design of embedded computing systems, with emphasis on the interaction of hardware, firmware, real-time behaviour, and physical environments. Topics include microcontroller architecture, memory systems, buses, development toolchains, C and C++ programming for embedded targets, GPIO, interrupts, timers, PWM, watchdogs, debouncing, polling, interrupt-driven design, low-power operation, and real-time scheduling.
Students design and implement embedded systems incorporating analog and digital sensors, actuators, ADCs, DACs, motor drivers, displays, and wired or wireless communication interfaces, including UART, SPI, I2C, CAN, and USB. The course addresses finite-state machines, modular and event-driven software, device drivers, concurrency, timing analysis, hardware debugging, version control, unit and integration testing, fault handling, cybersecurity awareness, electromagnetic compatibility, reliability, and hardware-software co-design.
Practical work culminates in a functioning embedded prototype supported by technical documentation. Students apply datasheets, simulation tools, debuggers, oscilloscopes, logic analysers, and laboratory instrumentation to validate system requirements, diagnose faults, and evaluate power, safety, security, and reliability trade-offs.
Learning Outcomes
- Translate system requirements into an appropriate embedded-system architecture and implementation plan.
- Select microcontrollers, peripherals, sensors, actuators, communication interfaces, and power-management strategies for defined applications.
- Develop efficient, modular, maintainable firmware in C or C++ using structured, event-driven, and finite-state-machine techniques.
- Integrate analog and digital devices using GPIO, ADCs, DACs, timers, PWM, interrupts, and device drivers.
- Implement reliable communication and timing behaviour using suitable wired or wireless protocols and real-time scheduling concepts.
- Apply datasheets, simulation environments, version-control systems, debuggers, oscilloscopes, logic analysers, and other laboratory instruments to embedded-system development.
- Diagnose hardware, firmware, timing, communication, and integration faults through systematic testing and measurement.
- Evaluate embedded designs with respect to power consumption, safety, cybersecurity, electromagnetic compatibility, reliability, and maintainability.
- Synthesize and demonstrate a functioning embedded prototype supported by clear technical documentation, verification evidence, and engineering justification.
Timetable
| Type | Length | Frequency | Period |
|---|---|---|---|
| Lecture | 2 hours | Weekly | All semester |
| Lab | 3 hours | Weekly | All semester |
| Tutorial | 1 hour | Fortnightly | All semester |
| Workshop | 2 hours | Fortnightly | Second term |
Assessment Schedule
| Type | Description | Weighting |
|---|---|---|
| Assignment | Embedded architecture and requirements assignment | 15.00% |
| Assignment | Firmware and peripheral integration assignment | 15.00% |
| Test | In-semester test | 15.00% |
| Deliverable | Laboratory reports (5 × 2%) | 10.00% |
| Test | Practical hardware and debugging test | 15.00% |
| Capstone | Embedded prototype, demonstration, and technical documentation | 30.00% |
Teaching Staff & Programs
This course is delivered jointly by faculty from the participating programs listed below. In line with the Douchewater Way, the University of Sexology tailors core instruction directly to each cohort's specific discipline — adapting curriculum to program needs rather than forcing students into a one-size-fits-all model. Learn more about our approach at The Douchewater Way.

