Overview
This laboratory course develops practical competence in the design, programming, debugging, measurement, and evaluation of embedded systems that interact with physical environments. Students work with microcontrollers or comparable development boards, embedded C or C++, hardware interfaces, sensors, actuators, and laboratory instrumentation.
Laboratory work progresses from board configuration and development toolchains to sensor acquisition, actuator control, serial communication, interrupt-driven programming, data logging, and an integrated embedded application. Core topics include digital and analog input/output, GPIO, pulse-width modulation, timers, interrupts, debouncing, analog-to-digital conversion, UART, SPI, I2C, real-time constraints, finite-state machines, concurrency, scheduling, memory and power limitations, fault handling, and basic embedded security.
Students read datasheets and schematics, construct and test circuits safely, use oscilloscopes and logic analyzers where available, manage software dependencies, and diagnose hardware-software faults systematically. The final laboratory project requires requirements definition, design development, implementation, testing under normal and failure conditions, analysis of results, and presentation of technical documentation supported by source code, schematics, test records, and a working demonstration.
Learning Outcomes
- Explain the relationship between embedded hardware, firmware, interfaces, and physical system behavior.
- Develop maintainable low-level programs using embedded C or C++ and appropriate development toolchains.
- Select and integrate sensors, actuators, and communication protocols for specified embedded applications.
- Design timing-aware, resource-conscious solutions using interrupts, finite-state machines, concurrency, and scheduling techniques.
- Operate measurement and debugging tools to identify and diagnose hardware-software faults.
- Test embedded applications under normal, boundary, and failure conditions using reproducible procedures.
- Document configurations, schematics, source code, experimental methods, and test results to professional technical standards.
- Evaluate embedded designs for reliability, energy use, safety, maintainability, and basic security.
- Synthesize an integrated embedded application that satisfies defined requirements and communicate its design and performance through a technical report and demonstration.
Timetable
| Type | Length | Frequency | Period |
|---|---|---|---|
| Lecture | 2 hours | Weekly | All semester |
| Lab | 3 hours | Weekly | All semester |
| Tutorial | 1 hour | Fortnightly | All semester |
Assessment Schedule
| Type | Description | Weighting |
|---|---|---|
| Deliverable | Laboratory exercises (8 × 5%) | 40.00% |
| Test | Practical debugging test | 15.00% |
| Assignment | Technical design and test report | 15.00% |
| Capstone | Integrated embedded systems project | 25.00% |
| Tutorial | Project demonstration and technical briefing | 5.00% |
Prerequisites
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.
