Accessibility statement

Programming for Microcontrollers - ELE00032C

« Back to module search

  • Department: Electronic Engineering
  • Module co-ordinator: Dr. Andrew Pomfret
  • Credit value: 10 credits
  • Credit level: C
  • Academic year of delivery: 2022-23

Module summary

In modern engineering, software is used everywhere for automation, control, monitoring, and user interaction. The majority of this software is ‘embedded’, meaning that it runs not on traditional PCs but instead on small, cheap devices based around microcontrollers. This module will introduce you to programming, and specifically to the process of writing simple software for microcontrollers.

Module will run

Occurrence Teaching cycle
A Autumn Term 2022-23

Module aims

Subject content aims:

  • To introduce the concept of computer programming as it applies in a practical context.

  • To teach the use of an integrated development environment and a subset of C/C++

Graduate skills aims:

  • To provide practice in report writing.

Module learning outcomes

Subject content learning outcomes

After successful completion of this module, students will be able to:

  • Develop simple software applications for microcontrollers in C/C++ using an integrated development environment.

Graduate skills learning outcomes

After successful completion of this module, students will be able to:

  • Write reports on the design and implementation of simple software projects.

Module content

Boolean algebra, binary and hex representations. Integer and floating point types. ASCII and string storage. Arduino language syntax. Microcontrollers. Interrupts and polling. Variables and constants. Functions and passing parameters. Structures and enumerated types. Error handling.

Assignment is an individual design and programming exercise with deliverables of commented code and a coding/design report covering specification analysis, design, flowchart & function plan, following a guideline template.

Professional Practice embedded into this module:

  • Communication skills (report writing; pair/demonstrator communication in labs; demonstrating program to others)

  • Electronic Design Realisation (Use of Integrated Development Environments)

  • Ethics (Open-source; Technical Academic practice - avoiding plagiarism & collusion in software)

  • Testing and Measurement (De-bugging)

  • Intellectual Property of software

  • Principles, Standards (Coding guidelines, e.g. for C)

  • Design (specification analysis; flowcharts & pseudocode; algorithms)

  • Systems thinking (Microcontrollers as the heart of a system; link between hardware & software)

  • Project Management (Design, code & test)


Task Length % of module mark
Essay : Programming Report and Code
N/A 100

Special assessment rules



Task Length % of module mark
Essay : Programming Report and Code
N/A 100

Module feedback

The Department of Electronic Engineering 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. Students are provided with their examination results within 20 working days of the end of any given examination period. The Department will also endeavour to return all coursework feedback within 20 working days of the submission deadline. The Department would normally expect to adhere to the times given, however, it is possible that exceptional circumstances may delay feedback. The Department 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.