Skip to main content

Embedded Projects 2Laajuus (5 cr)

Code: 5G00DM70

Credits

5 op

Objectives

After completing the course student is able to implement microcontroller systems that are connected to real-life IO interfaces. This part concentrates on high level IOT- protocols such as MQTT and rest-API.

Content

Connecting to real life IO (LCD, keyboard, sensors, actuators). IoT protocol programming C++/Python, MQTT, rest-API.

Assessment criteria, satisfactory (1-2)

Student
-is able to create programs that control car movements with C/C++ and Arduino IDE.
-is able to control the car with lidar feedback and other sensors with the help of the teacher and fellow students.
-is able to get VM traffic light code working with MQTT protocol, with the help of the teacher and fellow students

Assessment criteria, good (3-4)

Student is able to get system working by adding some small own functionality for reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Assessment criteria, excellent (5)

Student is able to get end to end system working by adding several new own functionality to reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Enrolment period

23.11.2023 - 07.01.2024

Timing

01.01.2024 - 30.04.2024

Credits

5 op

Mode of delivery

Contact teaching

Unit

Software Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Vihtori Virta
  • Sonja Viinikainen
Person in charge

Vihtori Virta

Groups
  • 22I260EA
  • 22I260EB
    Degree Programme in Software Engineering

Objectives (course unit)

After completing the course student is able to implement microcontroller systems that are connected to real-life IO interfaces. This part concentrates on high level IOT- protocols such as MQTT and rest-API.

Content (course unit)

Connecting to real life IO (LCD, keyboard, sensors, actuators). IoT protocol programming C++/Python, MQTT, rest-API.

Assessment criteria, satisfactory (1-2) (course unit)

Student
-is able to create programs that control car movements with C/C++ and Arduino IDE.
-is able to control the car with lidar feedback and other sensors with the help of the teacher and fellow students.
-is able to get VM traffic light code working with MQTT protocol, with the help of the teacher and fellow students

Assessment criteria, good (3-4) (course unit)

Student is able to get system working by adding some small own functionality for reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Assessment criteria, excellent (5) (course unit)

Student is able to get end to end system working by adding several new own functionality to reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Location and time

According to schedule, more info during 1st lesson and in Moodle.

Exam schedules

Course will be evaluated by base of weekly exercises and final presentation.

Assessment methods and criteria

Course will be evaluated by base of weekly exercises and final presentation.
Students will get points by doing weekly exercises, which are defined in course's Moodle page.

Assessment scale

0-5

Teaching methods

briefing lectures
exercies
programming exercies by teams

Learning materials

Links to different e-materials in Moodle.
Books to read:
https://www.newbiehack.com/MicrocontrollerTutorial.aspx
https://www.renesas.com/en-us/support/technical-resources/engineer-school/mcu-01-basic-structure-operation.html

Student workload

Clasroom, lab, teamwork, individual work
Total work amount abt. 135h
Contact/remote teaching abt. 50h

Content scheduling

Advanced C and C++ microcontroller programming.
CPU peripherals (timers, int serivice, etc,)
IO-interfaces (I2C, Spi, Uart).
Connecting to real life IO (LCD, keyboard, joystic, sensors, motors).
1. Arduino exercises (Mega + IO)
2. WLAN/WEB server (ESP8266)
External (Possible topics)
3. MQTT broker Embedded linux env. (Raspberry or VM)
4. MQTT control messages

Completion alternatives

No

Practical training and working life cooperation

N/A

International connections

N/A

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

Weekly exercises does not fulfill minimum requirements (more details in Moodle).
Student has not shown his/her capability for the subject.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

Student can use SDK and other design environments.
Weekly exercies does't contain major failings and are demonsrated on agreed time.
Student is capable of teamworking.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

Student can apply the contest of course and usage of SDK systems. Exercies are done according the given instructions and demonstrated according course time schedule.
Student is capable to use SDK systems and other development systems.
Student is good teaworker.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

Student is self-governing and can apply wide area of course content.
Student has shown deep understanding managing of course content.
Reports are according intsructions and returned at agreed time.
Student can utilize SDK and other design tools with efficient way.
Student can debug and fix HW/SW errors. Student is proactive teamworker.

Enrolment period

15.12.2022 - 08.01.2023

Timing

01.01.2023 - 07.05.2023

Credits

5 op

Mode of delivery

Contact teaching

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Vihtori Virta
  • Kari Naakka
Person in charge

Kari Naakka

Groups
  • 21I260EA

Objectives (course unit)

After completing the course student is able to implement microcontroller systems that are connected to real-life IO interfaces. This part concentrates on high level IOT- protocols such as MQTT and rest-API.

Content (course unit)

Connecting to real life IO (LCD, keyboard, sensors, actuators). IoT protocol programming C++/Python, MQTT, rest-API.

Assessment criteria, satisfactory (1-2) (course unit)

Student
-is able to create programs that control car movements with C/C++ and Arduino IDE.
-is able to control the car with lidar feedback and other sensors with the help of the teacher and fellow students.
-is able to get VM traffic light code working with MQTT protocol, with the help of the teacher and fellow students

Assessment criteria, good (3-4) (course unit)

Student is able to get system working by adding some small own functionality for reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Assessment criteria, excellent (5) (course unit)

Student is able to get end to end system working by adding several new own functionality to reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Location and time

Remote teaching and lab exercises, informed during 1st remote lesson.

Exam schedules

Course will be evaluated by base of weekly exercises.

Assessment methods and criteria

Course will be evaluated by base of weekly exercises.
Students will get points by doing weekly exercises.
Weekly exercise points are defined in course's Moodle page.
Table below shows how exercise points affect the course grade.
Points = grade
0-35 = 0
36-48 = 1
49-61 = 2
62-74 = 3
75-87 = 4
88-100 = 5

Assessment scale

0-5

Teaching methods

briefing lectures
exercies
programming exercies by teams

Learning materials

Links to different e-amaterial in Moodle.
Google search for daily topics
Books to read:
https://www.newbiehack.com/MicrocontrollerTutorial.aspx
https://www.renesas.com/en-us/support/technical-resources/engineer-school/mcu-01-basic-structure-operation.html

Student workload

Clasroom, lab, teamwork, individual work
Total work amount abt. 135h
Contact/remote teaching abt. 50h

Content scheduling

Advanced C and C++ microcontroller programming.
CPU peripherals (timers, int serivice, etc,)
IO-interfaces (I2C, Spi, Uart).
Connecting to real life IO (LCD, keyboard, joystic, sensors, motors).
1. Arduino exercises (Mega + IO)
2. WLAN/WEB server (ESP8266)
3. MQTT broker Embedded linux env. (Raspberry or VM)
4. MQTT control messages

Completion alternatives

No

Practical training and working life cooperation

N/A

International connections

N/A

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

Weekly exercises does not fulfill minimum requirements (more details in Moodle).
Student has not shown his/her capability for weekly subject.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

Student can use SDK and other design environments.
Weekly exercies does't contain major failings and are demonsrated on agreed time.
Student is capable to teamworking.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

Student can apply the contest of course and usage of SDK systems. Exercies are done according the given instructions and demonstrated according course time schedule.
Student is capable to use SDK systems and other development systems.
Student is good teaworker.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

Student is self-governing and can apply wide area of course content.
Student has shown deep understanding managing of course content.
Reports are according intsructions and returned at agreed time.
Student can utilize SDK and other design tools with efficient way.
Student can debug and fix HW/SW errors. Student is proactive teamworker.

Enrolment period

15.12.2022 - 08.01.2023

Timing

01.01.2023 - 07.05.2023

Credits

5 op

Mode of delivery

Contact teaching

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Vihtori Virta
  • Kari Naakka
Person in charge

Kari Naakka

Groups
  • 21I260EB

Objectives (course unit)

After completing the course student is able to implement microcontroller systems that are connected to real-life IO interfaces. This part concentrates on high level IOT- protocols such as MQTT and rest-API.

Content (course unit)

Connecting to real life IO (LCD, keyboard, sensors, actuators). IoT protocol programming C++/Python, MQTT, rest-API.

Assessment criteria, satisfactory (1-2) (course unit)

Student
-is able to create programs that control car movements with C/C++ and Arduino IDE.
-is able to control the car with lidar feedback and other sensors with the help of the teacher and fellow students.
-is able to get VM traffic light code working with MQTT protocol, with the help of the teacher and fellow students

Assessment criteria, good (3-4) (course unit)

Student is able to get system working by adding some small own functionality for reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Assessment criteria, excellent (5) (course unit)

Student is able to get end to end system working by adding several new own functionality to reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Location and time

Remote teaching and lab exercises, informed during 1st remote lesson.

Exam schedules

Course will be evaluated by base of weekly exercises.

Assessment methods and criteria

Course will be evaluated by base of weekly exercises.
Students will get points by doing weekly exercises.
Weekly exercise points are defined in course's Moodle page.
Table below shows how exercise points affect the course grade.
Points = grade
0-35 = 0
36-48 = 1
49-61 = 2
62-74 = 3
75-87 = 4
88-100 = 5

Assessment scale

0-5

Teaching methods

briefing lectures
exercies
programming exercies by teams

Learning materials

Links to different e-amaterial in Moodle.
Google search for daily topics
Books to read:
https://www.newbiehack.com/MicrocontrollerTutorial.aspx
https://www.renesas.com/en-us/support/technical-resources/engineer-school/mcu-01-basic-structure-operation.html

Student workload

Clasroom, lab, teamwork, individual work
Total work amount abt. 135h
Contact/remote teaching abt. 50h

Content scheduling

Advanced C and C++ microcontroller programming.
CPU peripherals (timers, int serivice, etc,)
IO-interfaces (I2C, Spi, Uart).
Connecting to real life IO (LCD, keyboard, joystic, sensors, motors).
1. Arduino exercises (Mega + IO)
2. WLAN/WEB server (ESP8266)
3. MQTT broker Embedded linux env. (Raspberry or VM)
4. MQTT control messages

Completion alternatives

No

Practical training and working life cooperation

N/A

International connections

N/A

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

Weekly exercises does not fulfill minimum requirements (more details in Moodle).
Student has not shown his/her capability for weekly subject.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

Student can use SDK and other design environments.
Weekly exercies does't contain major failings and are demonsrated on agreed time.
Student is capable to teamworking.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

Student can apply the contest of course and usage of SDK systems. Exercies are done according the given instructions and demonstrated according course time schedule.
Student is capable to use SDK systems and other development systems.
Student is good teaworker.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

Student is self-governing and can apply wide area of course content.
Student has shown deep understanding managing of course content.
Reports are according intsructions and returned at agreed time.
Student can utilize SDK and other design tools with efficient way.
Student can debug and fix HW/SW errors. Student is proactive teamworker.

Enrolment period

15.11.2021 - 09.01.2022

Timing

03.01.2022 - 01.05.2022

Credits

5 op

Mode of delivery

Contact teaching

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Kari Naakka
Person in charge

Kari Naakka

Groups
  • 20I260E

Objectives (course unit)

After completing the course student is able to implement microcontroller systems that are connected to real-life IO interfaces. This part concentrates on high level IOT- protocols such as MQTT and rest-API.

Content (course unit)

Connecting to real life IO (LCD, keyboard, sensors, actuators). IoT protocol programming C++/Python, MQTT, rest-API.

Assessment criteria, satisfactory (1-2) (course unit)

Student
-is able to create programs that control car movements with C/C++ and Arduino IDE.
-is able to control the car with lidar feedback and other sensors with the help of the teacher and fellow students.
-is able to get VM traffic light code working with MQTT protocol, with the help of the teacher and fellow students

Assessment criteria, good (3-4) (course unit)

Student is able to get system working by adding some small own functionality for reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Assessment criteria, excellent (5) (course unit)

Student is able to get end to end system working by adding several new own functionality to reference code C/C++(MEGA, ESP, VM) , HTML/web page, MQTT.

Location and time

Remote teaching and lab exercises, informed during 1st remote lesson.

Exam schedules

Course will be evaluated by base of weekly exercises.

Assessment methods and criteria

Course will be evaluated by base of weekly exercises.
Students will get points by doing weekly exercises.
Weekly exercise points are defined in course's Moodle page.
Table below shows how exercise points affect the course grade.
Points = grade
0-35 = 0
36-48 = 1
49-61 = 2
62-74 = 3
75-87 = 4
88-100 = 5

Assessment scale

0-5

Teaching methods

briefing lectures
exercies
programming exercies by teams

Learning materials

Links to different e-amaterial in Moodle.
Google search for daily topics
Books to read:
https://www.newbiehack.com/MicrocontrollerTutorial.aspx
https://www.renesas.com/en-us/support/technical-resources/engineer-school/mcu-01-basic-structure-operation.html

Student workload

Clasroom, lab, teamwork, individual work
Total work amount abt. 135h
Contact/remote teaching abt. 50h

Content scheduling

Advanced C and C++ microcontroller programming.
CPU peripherals (timers, int serivice, etc,)
IO-interfaces (I2C, Spi, Uart).
Connecting to real life IO (LCD, keyboard, joystic, sensors, motors).
1. Arduino exercises (Mega + IO)
2. WLAN/WEB server (ESP8266)
3. MQTT broker Embedded linux env. (Raspberry or VM)
4. MQTT control messages

Completion alternatives

No

Practical training and working life cooperation

N/A

International connections

N/A

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

Weekly exercises does not fulfill minimum requirements (more details in Moodle).
Student has not shown his/her capability for weekly subject.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

Student can use SDK and other design environments.
Weekly exercies does't contain major failings and are demonsrated on agreed time.
Student is capable to teamworking.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

Student can apply the contest of course and usage of SDK systems. Exercies are done according the given instructions and demonstrated according course time schedule.
Student is capable to use SDK systems and other development systems.
Student is good teaworker.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

Student is self-governing and can apply wide area of course content.
Student has shown deep understanding managing of course content.
Reports are according intsructions and returned at agreed time.
Student can utilize SDK and other design tools with efficient way.
Student can debug and fix HW/SW errors. Student is proactive teamworker.