Accessibility statement

Embedded Systems Design and Programming - ELE00146M

« Back to module search

  • Department: Electronic Engineering
  • Module co-ordinator: Prof. Martin Trefzer
  • Credit value: 20 credits
  • Credit level: M
  • Academic year of delivery: 2024-25
    • See module specification for other years: 2023-24

Module summary

This advanced embedded systems module covers the design and programming of digital embedded systems, consisting of several interacting parts which may include electrical or mechanical parts, sensors, and actuators. On the design side, the module covers concepts and methods of complex embedded devices and systems, including microcontrollers, FPGA and SoC, looking at features of system architecture and interfacing of components. On the programming side, the module covers concepts and methods to control resource-constrained, real-time computational devices using the low-level C programming language.

The aim of this module is for you to understand the need for advanced embedded systems, and the engineering process to design, implement, program, and validate them.

Module will run

Occurrence Teaching period
A Semester 1 2024-25

Module aims

Subject content aims:

  • To teach concepts of digital embedded systems architecture and design techniques, including hardware, firmware, and software.
  • To teach techniques for implementation, interfacing (digital protocols and analogue-digital conversion), and control of such systems, including simulation, and test using industry-standard digital design tools (e.g., Mentor, Xilinx, Synopsys).
  • To introduce and compare design and characterisation techniques for digital electronic hardware systems, including examples from microprocessors, FPGAs, and sensors.
  • To provide experience in the design of complex embedded systems, considering real-time requirements and performance parameters in resource- and input/output-constrained embedded systems.
  • To introduce the use of IP components for embedded microprocessor and systems-on-chip design.
  • To provide experience in the verification and simulation of complex digital systems.
  • To introduce concepts relative to test, verification, and fault tolerance in digital systems.
  • To define the requirements for an effective technical documentation of a digital system.

Graduate skills aims:

  • Gather information from reliable sources, analyse it critically and put it into context of the lectures and practicals.
  • Use qualitative and quantitative methods to explain digital electronic systems architecture, behaviour, and phenomena.
  • Communicate effectively with peers, and form learning/working groups.
  • Effectively solve problems and identify and prioritise tasks.
  • To report the results of experiments concisely and accurately.

Module learning outcomes

Subject content learning outcomes:

After successful completion of this module, students will:

  • Be able to use and understand the complete design methodology (specification, implementation, synthesis, place and route, floor-planning, timing analysis, etc.) required to implement complex embedded digital systems.
  • Be able to implement, characterise and use digital IP blocks, and interface sensors and actuators to a real-time processor.
  • Be able to describe advanced embedded systems design techniques and the concepts of real-time computing.
  • Be able to implement and use complex IP modules within a FPGA design.
  • Be able to describe the definition of a “system” of parts and how parts interact to meet functional requirements, how to design and build a system from component parts either physical or simulated.
  • Be able to develop complex testbenches for component and system verification and devise appropriate verification strategies.
  • Be able to solve system design problems by integrating algorithms, actuators, and sensors.
  • Be able to explain how to interface an algorithm with hardware devices or other software modules.
  • Be able to describe the characteristics of and an ability to model a range of hardware devices, sensors, and actuators.
  • Be able to analyse computer programs to understand their structure, and design and implement small computer programs independently.

Graduate skills learning outcomes

After successful completion of this module, students will:

  • Be able to report the results of experiments concisely and accurately.
  • Be able to create innovative designs for embedded systems and components to fulfil requirements of a project brief.
  • Be able to identify types of problems to pick the appropriate solution strategy whether computational or physical.
  • Be able to produce and interpret measures of systems performance, and critically analyse results and observations.

Module content

Topics covered include:

  • CPUs, microcontrollers, FPGAs
  • Embedded C programming
  • Peripherals
  • Concurrent and distributed systems
  • Data/control interfaces
  • Intellectual Property blocks and components
  • Resource constraints
  • Real-time requirements
  • Interrupts
  • Multi-tasking, concurrency, mutual exclusion


Task Length % of module mark
Closed/in-person Exam (Centrally scheduled)
Group Presentation
N/A 70
Lab Worksheet
N/A 15
Oral presentation/seminar/exam
N/A 15

Special assessment rules


Additional assessment information

Lab reports are focused around the submission of code, with additional elements (e.g. screenshots, pseudocode, and short explanations) to allow the evaluation of the students’ level of understanding.


Task Length % of module mark
Closed/in-person Exam (Centrally scheduled)
Group Presentation
N/A 70
Lab Worksheet
N/A 15
Oral presentation/seminar/exam
N/A 15

Module feedback

'Feedback’ at a university level can be understood as any part of the learning process which is designed to guide your progress through your degree programme. We aim to help you reflect on your own learning and help you feel more clear about your progress through clarifying what is expected of you in both formative and summative assessments. A comprehensive guide to feedback and to forms of feedback is available in the Guide to Assessment Standards, Marking and Feedback.

The School of PET aims to provide some form of feedback on all formative and summative assessments that are carried out during the degree programme. In general, feedback on any written work/assignments undertaken will be sufficient so as to indicate the nature of the changes needed in order to improve the work. The School will endeavour to return all exam feedback within the timescale set out in the University's Policy on Assessment Feedback Turnaround Time. The School would normally expect to adhere to the times given, however, it is possible that exceptional circumstances may delay feedback. The School will endeavour to keep such delays to a minimum. Please note that any marks released are subject to ratification by the Board of Examiners and Senate. Meetings at the start/end of each term provide you with an opportunity to discuss and reflect with your supervisor on your overall performance to date.

Indicative reading


The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.