DCU Home | Our Courses | Loop | Registry | Library | Search DCU


Module Specifications

Archived Version 2021 - 2022

Module Title
Module Code

Online Module Resources

NFQ level 9 Credit Rating 7.5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

Connected embedded systems are the building blocks of the Internet of Things (IoT). Connected refers to the fact that the systems interface to the real world via sensors and actuators, and also that the embedded systems can communicate to one another and to cloud-based Platform-as-a-Service (PaaS) solutions. This module exposes students to state-of-art research and solutions for such embedded systems, including: embedded Linux, multi-platform SoC solutions, real-time interfacing, telemetry protocols for IoT, and messaging.

Learning Outcomes

1. Describe current state-of-art research and solutions for connected embedded systems
2. Design embedded systems that utilize full-stack mainline Linux, appreciating the strengths and weaknesses of OS-based embedded solutions
3. Interface embedded systems to the real world using a variety of sensors and actuation hardware, and write high-level program code that wraps low-level sensor interfaces
4. Evaluate state-of-art real-time approaches (e.g., SoC-based) and research for embedded applications that require determinism, and to appreciate real-time constraints on the communication required for interconnected embedded systems
5. Identify and research an appropriate communications framework to suit a specific connected embedded application
6. Develop a distributed locally-connected multi-processor system using wired and/or wireless network topologies and communications
7. Build full stack IoT solutions (real-world interfacing to cloud-based platform-as-a-service (PaaS) solutions) and document the processes and design detail involved

Workload Full-time hours per semester
Type Hours Description
Lecture36Classroom Lectures
Independent Study87Study of the on-line tutorials, self-directed research and study of the materials.
Independent Study20Exam study
Independent Study45Completion of Assignment work
Total Workload: 188

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

A Networked Future
The module begins with a big-picture introduction to the Internet of Things (IoT) that describes technology, services and frameworks. Opportunities and challenges are described along with discussions on emerging technologies as they relate to applications such as the environment, biomedicine, consumer electronics, defence, and communications. Other topics related to embedded devices include the: Internet of Industrial Things, Internet of Tiny Things, and the Internet of Nano Things.

Embedded Linux
Linux on an embedded system, including topics such as: bootloaders; Git; managing Linux systems; systemd, and, real-time limitations of OS-based embedded devices. The Embedded Linux OS is used as a practical platform for this module, allowing for the application of the concepts to be applied in practical assignments.

Interfacing to the Real-World
Programming on embedded devices using high-level languages. The conflict between OS and non-OS (bare metal) coding. Interfacing to the real world using embedded Linux, which includes the use of electronics for sensing and actuation. Brief discussion on interfacing electronics via ADC, SPI, I2C, CAN bus, and UART devices. Cross-platform development in C/C++, and wrapping low-level devices with high-level OOP constructs. Linux kernel programming is described, including a discussion on user-space versus kernel-space coding.

Real-Time Embedded Systems
Principals of real-time operating systems, including: software architectures for real-time embedded, multicore processors, RTOS, Real-Time Scheduling, Resource Sharing, Message Queueing and Inter-task Signalling and Communication. FPGA solutions and microkernel-based QNX Oss are also discussed. System on a Chip (SoC) based real-time acceleration and the challenges of multi-platform integration are investigated.

Communicating with Embedded Systems
Frameworks for messaging with distributed embedded systems are discussed, including historical and current solutions. Other topics include: Ad-hoc communication; Machine-to-machine communication and autonomy; and, telemetry protocols for IoT (including MQTT, CoAP, XMPP).

Local Distributed Embedded
Wired and wireless network topologies for local distributed embedded applications (e.g., Ethernet, CAN bus, RFID, ZigBee, Wi-Fi, Bluetooth) are described. Other topics include: communication efficiency; frameworks for service processor integration; messaging passing interfaces (MPIs) and XML/JSON; data aggregation; embedded data storage; and, Rete algorithm rules engines.

Internet Connected Embedded
This section describes a detailed coverage of the concepts involved in an Internet distributed connected embedded system, such as: device management, key management, debugging, triggers, listeners, alarms, design for failure (e.g., Last Will and Testament (LWT)). Platform-as-a-Service (PaaS) solutions such as ThingSpeak, Amazon AWS IoT, IBM BlueMix IoT are examined, and one such PaaS is utilized in the second assignment.

Assessment Breakdown
Continuous Assessment% Examination Weight%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Indicative Reading List

  • Derek Molloy: 2014, Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux, 1, Wiley, New York, 978-111893512
  • Derek Molloy: 2016, Exploring Raspberry Pi: Interfacing to the Real-World with Embedded Linux, 1, Wiley, New York, 978-111918868
Other Resources

22913, Website, Derek Molloy, 2016, Course Notes Website, DCU, ee5IOT.eeng.dcu.ie,
Programme or List of Programmes