MOOC materials on IoT, for tutors

If you are a teacher or a tutor, it is a good starting point to develop your own, MOOC course at your university, professional school, institution, using your internal or public platform.

Here you will find all materials enabling you to implement your course quickly. Materials are provided raw: we do target EDX / openEDX and Moodle platforms, yet you may use any other online hosting environment. We do not offer ready exports nor snapshots for the aforementioned platforms, so you have to compose it yourself.

There are for types of content for each course, available for download:

  • Course Structure, where we describe in details organisation into the chapters, content type for each section, and we guide you to the related resource files and links (Youtube videos).
  • Learning Curves, where we provide complete texts and images presenting what to include in each section. Each chapter contains a structure and content that covers full teleprompter texts for videos, written articles to be put on the course page (usually as HTML) and parts for self-evaluation for students with marked correct answers, eventually accompanied with open questions. From time to time, we suggest using a form of the discussion or presentation (open questions) to let students integrate within the course. Of course, it requires your platform to provide kind of ‘forum’ to implement this feature but including or excluding those sections is absolutely up to you, so if your platform does not offer it, you may use other tools, i.e., like social media to integrate with your platform.
  • Course Videos that constitute the core of the course. Videos are hosted via Youtube platform but as “unlisted”. It means you won’t find them when searching, but you may access them for free using direct links. Links are provided in the course structure, and each video is accompanied with manually validated English subtitles. All videos are rendered with 1080p resolution, but accessing the best quality may be automatically limited by Youtube. Once the network congestion or low bandwidth is detected, you and your students may be offered a lower maximum resolution, i.e. 720p, 480p or even lower. All videos contain spoken audio in the English language.
  • Video Supplemental PDF files that contain graphics: images, diagrams, also overlayed texts and other important details, that may be not clearly visible or disappear when videos are not being watched in full resolution. We suggest you to providing a link to those materials right under video, to let your student access it quickly during watching. Note, many videos do not have supplementary resource files, refer to the Course Structure Definition File for PDF file names.


Course Structure Definition files, Learning Curves and Supplementary Materials files are available for download, in each course section below.

We suggest to download first the Course Structure Definition file, then related ZIP file that contains details: Learning Curves for each chapter and Video Supplementary Files.
Video files are hosted via our Youtube channel so that you won’t find them here. To simplify access to the videos, our Youtube channel is organised into the channels, so it is easy to access all videos in a row or individually, via links provided in the Structure Definition File.

Currently, we offer public access to the resources to the materials for three courses, marked as:

  • IOTOPEN1x – A Subjective Introduction to the IoT,
  • IOTOPEN2x – IoT Networking and Fog layer devices,
  • IOTOPEN3x – Data management, data security and Robot Operating System as a common tool for IoT.

Course Title

A Subjective Introduction to the IoT


Brief Description
If you have no idea what is IoT and how to start your adventure with IoT, programming and networking, keep studying. This course is a painless introduction to IoT technology.

IOTOPEN1x Header

Full Description
This course covers an overview of selected IoT technologies, tools and methods. Firstly you’ll find out what is IoT then we will guide you through the popular IoT hardware, including Arduino and Espressif ESP8266 and ESP32 System on Chips, sensors and actuators, finally through the introduction to the networking. Right enough for now to let you understand IoT idea, start programming and embrace IoT technology. Even configure your devices to talk to your home network and send data over MQTT to the cloud.
In details, we discuss the genesis of the IoT deeply, enabling technologies that made IoT devices to hit over 20 billion of the devices to be interconnected by 2020. We also make a short review of the popular scenarios that extensively utilise IoT approach and devices.
Once you get an IoT overview, it is time to step into the technical details. In the following part of the course, we will introduce you to the Arduino microcontrollers, Espressif ESP8266 and ESP32 as well as several popular sensors and actuators.
Following section is on microcontrollers programming in popular Arduino IDE.
Finally, we will introduce you to the IoT networking. In this course, we use a regular IP network with basic MQTT application protocol presentation.
The course contains example codes in C++, usually “Hello World” style, including networking, communication with sensors and actuators and even short programming in C++ crash course.

What You Will Learn

  • Definition of IoT devices.
  • Use cases and scenarios for IoT.
  • IoT hardware including Arduino and Espressif SoCs.
  • IoT sensors and actuators, their connectivity and its programmatic control.
  • Programming in C++ general and specific for the aforementioned SoCs.
  • IP networking principles for Espressif SoCs.

Course Length and Effort
About 6 weeks, 4-5 hours per week. Self-study model.


  • Secondary school (high school) physics, algorithmic.
  • An elementary understanding of computer networks, in particular, IP networking.



Course Title
IoT Networking and Fog layer devices


Brief Description
In this course, students will learn about specific IoT networking protocols and Fog devices programming, here Raspberry Pi, in Python and C# languages.

IOTOPEN2x Header

Full Description
If you have some experience with IoT end node devices, here comes an advanced part for the networking.
We present networking layer protocols, in details 6LoWPan and selected application-level protocols, including an in-depth presentation of the MQTT and CoAP protocols. We also present important facts on other popular networking protocols like Bluetooth, BLE, TCP/IP, UDP, HTTP and their relation and usability in the IoT world. The course contains material covering different networking IoT scenarios, including gatewaying, routing, star and mesh network topologies.
We also present in details Raspberry Pi platform as an example of the Fog computing device, including a short course on Python programming for Raspberry Pi under Raspbian OS and C# programming for Raspberry Pi under Windows 10 Core IoT OS.
As materials are provided by authors who develop real IoT solutions and work not only in academia but also in industrial projects, your study will have applied character, getting you ready for challenges of the IoT challenging world, including Industry 4.0 and Smart Cities, Smart Metering and many, many others.

What You Will Learn

  • IoT network topologies including star and mesh, a device to device, device to gateway and device to cloud.
  • 6LoWPan and its relation to IPv4 and IPv6.
  • General information about Bluetooth Scatternet and Bluetooth Mesh (5.0) network topologies.
  • Cellular communication principles and their use in IoT solutions.
  • Information about hardware and operating systems for the Raspberry Pi platform.
  • Programming (including GPIO and interfacing sensors and actuators) in Python for Raspberry Pi under Raspbian OS. This includes basic information on OS installation and development environment configuration.
  • Programming (including GPIO and interfacing sensors and actuators) in C# and Microsoft Visual Studio for Raspberry Pi under Windows 10 Core IoT OS. This includes basic information on OS installation and development environment configuration.

Course Length and Effort
About 8 weeks, 4-5 hours per week. Self-study model.


  • General understanding of embedded systems.
  • Understanding of the way GPIO works in particular with connection to different sensors and actuators, digital transmission and embedded systems protocols like SPI, I2C and OneWire.
  • Understanding of IP networking, wired and wireless communication and higher-level protocols like HTTP.



Course Title
Data management, data security and Robot Operating System as a common tool for IoT


Brief Description

Data management and its security and privacy is an important topic for IoT. Development of the common solutions with the same vulnerabilities creating a new challenge!
An open source software makes possible source code development under community monitoring and fast reaction in case of a problem. Robot Operating System as a way to IoT data collection and control will be shown.

EDX3 Course Logo
Full Description If you are interested in home automation and connected devices, this course is for you. IoT security and privacy come as a big challenge with an increasing number of connected devices. Authors will guide you through the guideline and will show common vulnerabilities. After that par,t you will be able to make your work more secure. There is a lot of software solution for IoT, and we’ll focus on the popular open-source framework OpenHAB. It provides an interface to connect and tune your device. The next tool for software development in the IoT field is the Robot Operating System. It’s a common framework for robot programming, but the unique IoTbridge tool provides a bridge between ROS and the OpenHAB Home-Automation system. We are staying on the way to Web3 technologies these make possible a peer-to-peer communication between devices. Now the traffic between machines becomes more significant than the traffic generated by people. And direct routing between devices became reasonable in the sense of sustainability and economy of  IoT solutions. What You Will Learn
  • Security and privacy guideline.
  • Several cases of how to find and fix vulnerabilities.
  • Robot Operating System programming introduction.
  • IoT bridge library for device and software communication.
  • OpenHAB as a common interface for home automatization and IoT.
  • Peer-to-peer device communication.
Course Length and Effort About 4 weeks, 4-5 hours per week. Self-study model. Prerequisites
  • C++ or Python programming.
  • Understanding of the basic programming for embedded systems, for example, ESP32.
  • Knowledge of IP networking, wired and wireless communication, and higher-level protocols like HTTP.


This Intellectual Output was implemented under the Erasmus+ KA2: Strategic Partnership in the Field of Education, Training, and Youth – Higher Education.
Project IOT-OPEN.EU – Innovative Open Education on IoT: improving higher education for European digital global competitiveness.
Project number: 2016-1-PL01-KA203-026471.

Erasmus+ Disclaimer
This project has been funded with support from the European Commission. 
This publication reflects the views only of the author, and the Commission cannot be held responsible for any use which may be made of the information contained therein.

Copyright Notice
This content was created by the IOT-OPEN.EU consortium: 2016 – 2019.
The content is Copyrighted and distributed under CC BY-NC, free for Non-Commercial use.


IOT-OPEN.EU consortium partners collective content.