The Official Course Outline now lives in ECOS.
ECOS is UNSW's Enterprise Course Outline Solution.
Given below are some details about the technical component of the course (only for those in Computer Engineering Stream)
Technical content
Technical design skills that you will learn in this course include skills you need to design embedded systems. These systems are pervasive in all areas of society from sensor taps to satellites and knowledge of how to design them is a vital skill for all computer science engineers. The discipline-specific objective of this course is to equip students with the knowledge and skills that enable them to design basic embedded systems, where a microcontroller is the central element. First, the course will focus on STM32 ARM microcontroller architecture and programming techniques in C and assembly language. Later, it will look at input/output, interrupts, timers and serial communication. On completion, students should be able to design a reliable embedded system using STM32 ARM microcontrollers in particular and other microcontrollers in general. The course touches upon several technical topics you need in designing embedded systems such as:
1. STM32 ARM microcontroller architecture and programming
2. General purpose Input/Output (GPIO)
3. I/O peripherals such as keypads and LCD
4. Interrupts
5. Timers
6. Analog Input/Output such as Analogue to Digital Converter (ADC) and Pulse Width Modulation (PWM)
7. Serial communication
Communication
Material related to the technical content will be available through webCMS. This includes the project brief, lecture notes, lab sheets, workshop guides and assessment guides. Edstem forum will be used for announcements, course discussions and questions.
Lectures
You are expected to attend all lectures, which are all delivered face to face and recorded and will be available through echo360.
Laboratories
The laboratory schedule is deliberately designed to provide practical, hands-on exposure to the concepts conveyed in lectures soon after they are covered in class. There will be weekly laboratory tasks provided via lab sheets. You are strongly encouraged to read over all the material and attempt any code writing before coming to your lab session, as it will allow you to complete the required tasks within the allocated time slot.
Throughout the labs, you will use a custom hardware board in combination with the STM32 cubeIDE. The hardware is a combination of a standard NUCLEO-F303RE board with a custom board that integrates a range of input and output components. Using this board ensures all students work from the same reference platform, which speeds up development and eases comparison.
All students will attend on-campus labs.
Technical lecture and lab schedule
Note that the following is the draft schedule for the lectures and lab. Note that based on student feedback during the course, there could be minor changes to the schedule.
Week |
Lectures |
labs |
Week 1 |
Introduction to STM32 ARM and GPIO |
Lab 1: Introduction to STM32 ARM and GPIO |
Week 2 |
I/O peripherals |
Lab 1: Introduction to STM32 ARM and GPIO |
Week 3 |
Holiday (Monday), assembly language (Friday) |
Lab 2: Debugging and I/O peripherals |
Week 4 |
Interrupts and timers |
Lab 2: Debugging and I/O peripherals |
Week 5 |
PWM |
Lab 3: Interrupts and Timers |
Week 6 |
No new content or assignment submission during week 6 due to flexibility week. |
|
Week 7 |
ADC |
Lab 3: Interrupts and Timers |
Week 8 |
Motor |
Lab 4: ADC, PWM and motor |
Week 9 |
Serial communication |
Lab 4: ADC, PWM and motor |
Week 10 |
Advance content |
Technical Assessment tasks (60% school assessments)
Item |
Weight |
Assessment criteria |
Due date |
Lab Exercises |
20% |
Refer to the assessment guide |
End of Week 2 lab End of week 4 lab End of week 7 lab End of week 9 lab |
Project implementation |
30% |
Refer to the assessment guide |
11:59 PM, Friday (Week 10) |
Project documentation |
10% |
Refer to the assessment guide |
11:59 PM, Friday (Week 10) |
Relevant Resources
As this is a project-based course and we are using a custom development board, no book follows the exact structure of the course content. However, the following two textbooks would be helpful in gathering theoretical knowledge:
1. Zhu, Yifeng, Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C
2. Sepehr Naimi, Sarmad Naimi, The STM32F103 ARM Microcontroller and Embedded Systems
UNSW leganto library reading list for these two text book is available here .
Resource created Monday 29 April 2024, 06:12:44 PM, last modified Tuesday 21 May 2024, 07:02:52 PM.