Skip to main navigationSkip to main content
The University of Southampton

ELEC6254 Foundations of Embedded IoT Systems

Module Overview

This module explores the devices, technologies and software that enable embedded Internet of Things (IoT) systems. Typical architectures of IoT systems are introduced, including microcontrollers and sensors. We consider how these systems operate, are programmed, and how they are powered (either using energy harvesters or batteries) for effective and efficient operation. We also consider the small operating systems used by embedded IoT systems, e.g. ContikiOS, RIOT-OS and MBED, all of which have advantages and provide core libraries for IoT functionality. Students will also learn how to use typical IoT communications technologies, e.g. LoRaWAN (using our campus-wide base stations) and MQTT for passing data messages.

Aims and Objectives

Learning Outcomes

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • The architecture, operation, and constraints of an embedded IoT system
  • Software development techniques and tools/frameworks for embedded IoT systems
  • Approaches for efficiently powering and sustaining the operation of embedded IoT devices
  • IoT system design and sensor networks
Subject Specific Intellectual and Research Skills

Having successfully completed this module you will be able to:

  • Program microcontrollers, such as those in embedded IoT systems
  • Manage the interaction and trade-offs between different components of an embedded IoT system
Transferable and Generic Skills

Having successfully completed this module you will be able to:

  • Undertake practical laboratory experiments
  • Effectively communicate technical work
Subject Specific Practical Skills

Having successfully completed this module you will be able to:

  • Design, analyse and debug embedded IoT software
  • Design and test an embedded IoT system


*Architecture of Embedded IoT Systems* - Typical device system architecture: microcontroller, sensors/actuators, transceiver, RTC etc - Basic concepts: storage and CPU, data movement, fetch-execute, accelerators, input/output inc. SPI/I2C, peripherals - Embedded device memory architecture; SRAM, DRAM, Flash etc - Causes and implications of memory- or compute-constrained devices * Software for Embedded IoT Systems* - Embedded programming in C: flow control, function decomposition, data representation and structures, structured programming, addressing memory-mapped IO, interfacing with IO, peripherals, timers and interrupts - Software debugging and testability - Cross compilation - Operating systems for IoT devices (e.g. Contiki, RIOT-OS, mbed) *Powering the Internet of Things* - Energy for computing and communication, power budgeting, duty cycling - Battery-powered and self-powered (energy harvesting) system design *IoT System Design* - MQQT: principles and capabilities - LoRaWAN, 6LowPAN: Forming an embedded IoT sensor network

Learning and Teaching

Teaching and learning methods

Syllabus material will be taught through the module’s lectures, directed reading, and supervised laboratory sessions. Learning will be through a combination of reflection and independent study alongside the taught sessions, coursework, and laboratory sessions.

Assessment tasks40
Practical classes and workshops15
Independent Study20
Preparation for scheduled sessions15
Total study time150



MethodPercentage contribution
Continuous Assessment 40%
Final Assessment  60%

Repeat Information

Repeat type: Internal & External

Share this module Share this on Facebook Share this on Twitter Share this on Weibo
Privacy Settings