Don't just imagine your future at University, experience it first-hand!

Step into the shoes of an undergraduate student and join us for our upcoming on-campus Discover Days in Science, Engineering and Fashion. These days are tailored exclusively for Year 12s who are interested in taking their academic journey to the next level. Find your favourite subject now!

Find out more about our Discover Days in Science, Engineering and Fashion

MEng Mechatronic Engineering / Course details

Year of entry: 2024

Course unit details:
Microcontroller Engineering II

Course unit fact file
Unit code EEEN20011
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 1
Available as a free choice unit? No


Brief Description of the Unit:

This unit will provide an overview of the use of microcontrollers in electronic products, and the type of peripheral devices used by the microcontroller to communicate with the rest of the system.

It includes some advanced topics in C/C++ programming including data structures for embedded systems and accessing memory-mapped peripheral interfaces from C/C++ programs.

A detailed study of a number of the peripheral devices available on the STM32 family of devices is also provided, with the set of devices chosen to be representative of those commonly used in embedded systems. Below are some examples of such devices:

  • Digital input/output facilities
  • Analogue-to-digital converters
  • Counter/timers
  • Serial (asynchronous and synchronous) communications interfaces.
  • Polled and interrupt-driven transfer

The module also covers some common design patterns in embedded systems including:

  • State machines
  • Dataflow
  • Time-driven



Unit title Unit code Requirement type Description
Microcontroller Engineering I EEEN10202 Pre-Requisite Compulsory
Electronics Project EEEN10141 Pre-Requisite Compulsory


This course unit aims to:

Provide an understanding of the operation, programming and application of the standard peripheral interfaces found on modern microcontrollers used in embedded systems. 

Learning outcomes

On the successful completion of the course, students will be able to:




Explain how hardware elements are manipulated by high level language programs.




Describe the operation of devices such as analogue-to-digital converters, timers, counters and serial peripheral devices.




Describe how interrupts are generated and processed, and the benefits of interrupt-driven data transfer.




Identify typical design patterns found in embedded software, and where they can be applied.




Design and code solutions common to embedded systems programming problems involving I/O pins, analogue-to-digital converters, timers, serial interfaces etc.




Formulate and test hypotheses through iterative software development.




Teaching and learning methods

  • Didactic lectures
  • Problem based learning
  • Laboratory based learning


Assessment methods

Method Weight
Written exam 80%
Written assignment (inc essay) 20%

Feedback methods


Study hours

Scheduled activity hours
Lectures 20
Practical classes & workshops 12
Independent study hours
Independent study 68

Teaching staff

Staff member Role
Peter Green Unit coordinator
Liam Marsh Unit coordinator

Return to course details