Short Title:Embedded Systems
Full Title:Embedded Systems
Module Code:MIOT H6011
 
ECTS credits: 10
NFQ Level:9
Module Delivered in 2 programme(s)
Module Contributor:Benjamin Toland
Module Description:This modules reviews fundamental Embedded Systems technologies, tools and techniques before moving on to explore more specific techniques used in IoT Systems. The learner will examine and analyse various device platforms and be able to select appropriate hardware for specific situations. Key technologies examined will be device selection, IoT RTOSs, Embedded Linux and IoT wireless technologies such as BLE, MQTT, 6LowPAN, SIGFOX and LoRa. All will be considered from the perspectives of suitability, unit cost, development cost and power consumption. Backend support/processing/analytics will also be investigated through a specified platform such as Bluemix. C/C++ and JavaScript will be the main development languages.
Learning Outcomes:
On successful completion of this module the learner will be able to
  1. demonstrate mastery of basic Embedded System tools and techniques.
  2. fast-prototype IoT devices, backend and client applications using Javascript based or other RAD tools.
  3. design, build and test a low-power IoT wireless sensor network and supporting backend framework using specified technologies.
 

Module Content & Assessment

Indicative Content
Core Embedded Systems Techniques
Review of ES basics including I/O, ADC, I2C, SPI, UART, hardware interfacing, C/C++ development.
Low energy design
MCU selection. Measuring power consumption. MCU sleep modes and clock control. Peripheral power management. Power consumption of algorithms.
Wireless MCU Communications
Wireless MCU communications systems including interfaces such as Bluetooth, IEEE 802.15.4, MQTT, 6LowPan, SIGFOX, LoRa. Software abstraction and layered communications. Communications security.
RTOSs
Basic RTOS concepts including threads, race conditions, deadlock, semaphores, queues, mutexes etc. Tick length issues. Tickless RTOSs. RTOS configuration for image size and power consumption. IP stack support.
Embedded Linux
Review of Linux command line. Scripting. C/C++ development. I/O mapping on boards such as Beaglebone. Examining minimal configurations. Use of Busybox. Configuring linux for minimal installations. Socket programming.
RAD Device Development
Use of JavaScript and NodeRED on RAD boards.
Backend Services
Examination and use of backend services such as Bluemix/Watson IoT.
Mobile App Development
Development of native or hybrid mobile apps connecting directly to devices and to backend IoT frameworks and web services.
Indicative Assessment Breakdown%
Course Work Assessment %100.00%
Course Work Assessment %
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Project Design, build and test a complex embedded system demonstrating core embedded systems skills and technologies such as C/C++ development, RTOS development and Embedded Linux. Demonstration video of final system with supporting report/documentation. Technical Interview to examine depth of knowledge. 1 30.00 Week 5
Project Develop a fully functional IoT system exploiting rapid development tools such as the Beaglebone black board, NodeRED and Javascript, Bluemix/Watson IoT platform and native or hybrid mobile application. Demonstration video of final system with supporting report/documentation. Technical Interview to examine depth of knowledge. 2 35.00 Week 9
Project Design, build, test and demonstrate a fully functional IoT sensor network using ultra low powered nodes exploiting technologies such as 6LoWPAN, SIGFOX. Developed in C/C++, an IoT RTOS such as RIOT. Demonstration video of final system with supporting report/documentation. Technical Interview to examine depth of knowledge. 3 35.00 Sem 1 End
No Final Exam Assessment %
Indicative Reassessment Requirement
Coursework Only
This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination.
Reassessment Description
Repeat assessment will consist of submission of three similar but different mini-projects with supporting materials.

ITB reserves the right to alter the nature and timings of assessment

 

Indicative Module Workload & Resources

Indicative Workload: Full Time
Frequency Indicative Average Weekly Learner Workload
Every Week 75.00
Every Week 175.00
Indicative Workload: Part Time
Frequency Indicative Average Weekly Learner Workload
Every Week 75.00
Every Week 175.00
Resources
Recommended Book Resources
  • Derek Molloy. 2105, Exploring beaglebone, Chichester; John Wiley & Sons [ISBN: 1118935128]
This module does not have any article/paper resources
Other Resources

Module Delivered in

Programme Code Programme Semester Delivery
BN_EMIOT_M Master of Engineering in Internet of Things Technologies [BN535M 30 credits taught with a 60 credit research project] 1 Mandatory
BN_EMIOT_R Master of Engineering in Internet of Things Technologies [BN535R 60 credits taught with a 30 credit research project] 1 Mandatory