Embedded Projects 2 (5 cr)
Code: 5G00DM70-3004
General information
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.