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.