Module Information

Module Identifier
Module Title
Micro Credentials: Programming with Microcontrollers
Academic Year
Distance Learning
CX12010 or equivalent in introductory programming
Exclusive (Any Acad Year)
This module cannot be taken as part of a degree course. Credits achieved for this module will not count towards a standard Aberystywth University degree.

Course Delivery



Due to Covid-19 students should refer to the module Blackboard pages for assessment details

Assessment Type Assessment length / details Proportion
Semester Assessment Mini-project  A short project exploring the module concepts  40%
Semester Assessment Assessed worksheets  Assessed worksheets  30%
Semester Assessment Weekly multiple choice quiz  Weekly multiple choice quiz  30%
Supplementary Assessment Programming task  40%
Supplementary Assessment Worksheet  Worksheet  60%

Learning Outcomes

On successful completion of this module students should be able to:

Explain and use the basic language elements; Language structure, conventions, variables, constants, data types, operators, expressions, statements, blocks.

Apply abstraction to a design problem, resulting in code that uses functions for separation and reuse of functionality.

Design and implement programs to solve microcontroller problems as presented through the module.

Use third party code and libraries as part of their software solution, and to understand the relevance of software licenses and IPR attribution.

Understand and explain the definition of a microcontroller.

Brief description

This standalone, micro-credential module aims to provide a basic grounding in programming with microcontrollers. After exploring their fundamentals you'll move on to writing your first programs for the ESP32 microcontroller family using the C ++ language. You may, if you wish, purchase your own ESP32 but this is not mandatory as we will mostly be using online emulators. Delivery will also be online through lectures, recordings and practical workshops and will therefore require an internet connection. On successful completion you will be awarded 10 credits at first year undergraduate level.


This module will introduce students to microcontrollers in general and, specifically, programming one using the C++ language. The module will firstly revise the use of variables, conditionals and loops to build a program. Then we will move on to the concept of programming using an IDE and online emulators. Finally it will present a number of problems for you to solve with your own microcontroller or an emulator.
The course will be presented in a number of blocks - each will have a worksheet with linked mini-videos plus a live workshop - the latter will be recorded so you can study the course at times that suit you.


Using online videos, worksheets and live workshops we will explore the following areas:
Fundamentals: what is, and what isn't, a microcontroller?
Microcontrollers: an overview and a closer look at the ESP32 family
C++: the computer language that we will be coding our ESP32 with.
Hands on: creating your own code to solve computational problems.

Module Skills

Skills Type Skills details
Students will have to solve computational problems using iterative code/test cycles
Students will gain problem solving skills as part of their coursework assessment and worksheet exercises.
Understand and utilise the fundamentals of programming a microcontroller
Students will learn to reflect on their coding endeavours - what went well, what went wrong and apply the lessons learned to future works.
Students will be expected to make appropriate use of the Internet to access Blackboard, contribute to online workshops and discussions, and access their online programming site.


This module is at CQFW Level 4