DCU Home | Our Courses | Loop | Registry | Library | Search DCU
<< Back to Module List

Module Specifications.

Current Academic Year 2024 - 2025

All Module information is indicative, and this portal is an interim interface pending the full upgrade of Coursebuilder and subsequent integration to the new DCU Student Information System (DCU Key).

As such, this is a point in time view of data which will be refreshed periodically. Some fields/data may not yet be available pending the completion of the full Coursebuilder upgrade and integration project. We will post status updates as they become available. Thank you for your patience and understanding.

Date posted: September 2024

Module Title Connected Embedded Systems
Module Code EE513 (ITS) / EEN1071 (Banner)
Faculty Engineering & Computing School Electronic Engineering
Module Co-ordinatorDerek Molloy
Module Teachers-
NFQ level 9 Credit Rating 7.5
Pre-requisite Not Available
Co-requisite Not Available
Compatibles Not Available
Incompatibles Not Available
Repeat examination
Description

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 Assessment25% Examination Weight75%
Course Work Breakdown
TypeDescription% of totalAssessment Date
AssignmentInterfacing Embedded Systems to the Real World: Students are required to develop a self-contained embedded system that interfaces to the real world using electronic sensors. High-level software must be written to wrap the low-level interface.10%Week 6
AssignmentInternet Connected Embedded: In this assignment students must develop a full-stack IoT solution that interfaces to a high-end Platform as a Service (PaaS). There is a significant reporting element to this assignment.15%Week 12
Reassessment Requirement Type
Resit arrangements are explained by the following categories:
Resit category 1: A resit is available for both* components of the module.
Resit category 2: No resit is available for a 100% continuous assessment module.
Resit category 3: No resit is available for the continuous assessment component where there is a continuous assessment and examination element.
* ‘Both’ is used in the context of the module having a Continuous Assessment/Examination split; where the module is 100% continuous assessment, there will also be a resit of the assessment
This module is category 1
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,

<< Back to Module List