Credits: 5

Schedule: 08.01.2019 - 21.05.2019

Contact information for the course (applies in this implementation): 

The main responsible teacher of the course is Prof. Pekka Nikander (

Design teacher Salu Ylirisku is also directly involved in the course.  The course has three teaching assistants:  Ville Hiltunen (embedded programming), Muhammad Tanweer (electronics design), and Pyry Vikberg (overall hardware-software hacking).

Teaching Period (valid 01.08.2018-31.07.2020): 

III-V 2018 - 2019 (spring)
III-V 2019 - 2020 (spring)

Learning Outcomes (valid 01.08.2018-31.07.2020): 


After completing the course, the students will be able to explain in concrete detail what is needed for creating a functioning IoT prototype including hardware, embedded software, and network-based service. They are able to describe what the use of Open Source Software (OSS) and Creative Commons (CC) sources gives to and requires from their projects and from the related value chain. The students will be able to explain the key challenges related to software and hardware development in Internet of Things (IoT) technology context. The students are able to describe an example sub-contracting process in IoT context. They will also be able to present a detailed business model for an IoT product.



After completing the course, the students will have experience of a complete IoT-device prototyping project from detailed project planning to prototype delivery. The students will have experience in functioning as a subcontractor in an IoT product development process. The students will have experience in building prototypes with advanced prototyping platforms.



After completing the course, the students will be able to plan and execute a multi-disciplinary prototyping process for IoT products. They will be able to estimate the cost and schedule for prototype production, including hardware and software. The students will be able to act as a representative for a subcontractor in technology sub-contracting process. They will be able to analyse a requirements specification and an invitation to tender, as well as to write an appropriate response to it. The students will also be able to evaluate the appropriateness of OSS/CC licencing for a specific IoT product and be able to judge the requirements for maintainability concerning using OSS components. They will be able to search for and evaluate the viability of OSS components and to contribute to OSS projects.

Content (valid 01.08.2018-31.07.2020): 

The course is based on lectures, assignments, tutoring, and project work. Basics of sub-contracting are covered, and at least the following technical aspects are addressed: IoT development project scheduling, role of errors and iteration, value chains with Open Source and Creative Commons licences, role of producer support, embedded software development, and IoT software development.

Teaching and learning happens through project work, lectures, tutoring, and learning diary keeping.

Details on the course content (applies in this implementation): 

The course consists mostly of hands-on implementation work.  There are five different skill tracks; see the course home pages for the track descriptions. The students are expected to already know the basics of their respective implementation skill, such as PCB design, embedded programming, web/mobile programming, mechanical design, or UI/UX design and implementation.

The actual teaching consists mostly of collaborative hands-on design and implementation meetings on Fridays, where the teachers and assistants are present and help the students with the practical problems.

The Tuesday "lecture" slots will be filled based on feedback from the students.  Potential topics include overall introduction to IoT, electronics prototyping, project planning and management, IoT communications protocols, subcontracting, procurement of PCBs and electronic components, etc.  

We prefer not to have traditional lectures, but more interactive sessions.  However, this will be adjusted based on the feedback from the students.

Our goal is to give a realistic experience of what it requires to implement an IoT device.  Though the devices and associated services are quite simple, they are selected to give a useful experience for running a HW startup or joining a company in the IoT field.

Assessment Methods and Criteria (valid 01.08.2018-31.07.2020): 

Assessment is based on active participation in lectures and tutoring, on assignments, project work, project outcomes, as well as on individual learning diary.

Workload (valid 01.08.2018-31.07.2020): 

Contact teaching 27.5 hours

Teamwork 82.5 hours     

Independent work 27.5 hours

Details on calculating the workload (applies in this implementation): 

Most of the work will go to actual implementation work.  

There are no mandatory lectures, other than the start and finish events.  However, especially the Friday hands-on sessions are likely to be very useful; we encourage all students to reserve time for them,

Other than that, the schedule depends mostly on the role and the group(s) in which you choose to work with.

Study Material (valid 01.08.2018-31.07.2020): 

The study materials are specified during the course.

Course Homepage (valid 01.08.2018-31.07.2020):

Prerequisites (valid 01.08.2018-31.07.2020): 

Relevant courses on IoT implementation, such as one or more of the following:
- Embedded Real-Time Systems (ELEC-E8001) tai Project in Embedded Systems (CS-E5460)
- Mobile Cloud Computing (CS-E4100) tai WWW-applications (CS-E4460)
- Laboratory Course in Internet Technologies (ELEC-E7330)

In case of doubt, you may negotiate with the responsible teacher about meeting the prerequisites.

Grading Scale (valid 01.08.2018-31.07.2020): 


Registration for Courses (valid 01.08.2018-31.07.2020): 

Registration occurs through WebOodi.

Further Information (valid 01.08.2018-31.07.2020): 

language class 3: English


Registration and further information