MEng Electrical and Electronic Engineering with Industrial Experience

Year of entry: 2027

Course unit details:
Microcontroller Engineering

Course unit fact file
Unit code EEEN20011
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 1
Offered by Department of Electrical & Electronic Engineering
Available as a free choice unit? No

Overview

Brief Description of the Unit:

The unit introduces the architecture and operation of modern 32-bit microcontrollers. Students will use C/C++ to program an STM32F401RE at a high level through API-based interaction with on chip peripherals. This interaction highlight the benefits and limitations of Abstraction and Encapsulation in object-oriented programming.

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
- Low-level communications protocols e.g. Asynchronous Serial. I2C and SPI
- Polled and interrupt-driven transfer

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

- State machines
- Time-driven

Pre/co-requisites

Unit title Unit code Requirement type Description
EEEN10202 Pre-Requisite Compulsory
EEEN10141 Pre-Requisite Compulsory

Aims

This course unit aims to: Provide an understanding of the operation, programming and application of modern microcontrollers and standard on-chip peripheral devices found within them.

Learning outcomes

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

ILO1 - Explain how hardware elements are manipulated by high level language programs. [Developed] [Assessed]

ILO2 - Describe the operation of devices such as analogue-to-digital converters, timers, counters and serial peripheral devices. [Developed] [Assessed]

ILO3 - Describe how interrupts are generated and processed, and the benefits of interrupt-driven data transfer. [Developed] [Assessed]

ILO4 - Identify typical design patterns found in embedded software, and where they can be applied. [Developed] [Assessed]

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

ILO6 - Formulate and test hypotheses through iterative software development. [Developed]

Teaching and learning methods

  • Didactic lectures
  • Blended learning
  • Problem based learning
  • Laboratory based learning

Assessment methods

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

Feedback methods

Written exam - standard exam feedback provided after the exam board.

Coursework tasks - in lab during assessment.

Study hours

Scheduled activity hours
Lectures 20
Practical classes & workshops 8
Tutorials 2
Independent study hours
Independent study 70

Teaching staff

Staff member Role
Liam Marsh Unit coordinator

Return to course details