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

Latest Module Specifications

Current Academic Year 2025 - 2026

Module Title Connected Embedded Systems
Module Code EEN1071 (ITS: EE513)
Faculty Electronic Engineering School Engineering & Computing
NFQ level 9 Credit Rating 7.5
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


WorkloadFull time hours per semester
TypeHoursDescription
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
Section Breakdown
CRN20722Part of TermSemester 2
Coursework0%Examination Weight0%
Grade Scale40PASSPass Both ElementsY
Resit CategoryRC1Best MarkN
Module Co-ordinatorDerek MolloyModule Teacher
Section Breakdown
CRN21155Part of TermSemester 2
Coursework0%Examination Weight0%
Grade Scale40PASSPass Both ElementsY
Resit CategoryRC1Best MarkN
Module Co-ordinatorDerek MolloyModule Teacher
Assessment 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
Formal ExaminationEnd of Academic Session written examination75%End-of-Semester
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
RC1: A resit is available for both* components of the module.
RC2: No resit is available for a 100% coursework module.
RC3: No resit is available for the coursework component where there is a coursework and summative examination element.

* ‘Both’ is used in the context of the module having a coursework/summative examination split; where the module is 100% coursework, there will also be a resit of the assessment

Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

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.

Indicative Reading List

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


Articles:
None
Other Resources

  • 1: Website, Derek Molloy, 2016, Course Notes Website, DCU,

<< Back to Module List View 2024/25 Module Record for EE513