Skip to main content

Embedded Projects 2 (5 cr)

Code: 5G00DM70-3006

General information


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.