Course Title: Embedded System Design and Implementation

Part A: Course Overview

Course Title: Embedded System Design and Implementation

Credit Points: 12.00

Important Information:

Please note that this course may have compulsory in-person attendance requirements for some teaching activities.

To participate in any RMIT course in-person activities or assessment, you will need to comply with RMIT vaccination requirements which are applicable during the duration of the course. This RMIT requirement includes being vaccinated against COVID-19 or holding a valid medical exemption.

Please read this RMIT Enrolment Procedure as it has important information regarding COVID vaccination and your study at RMIT:

Please read the Student website for additional requirements of in-person attendance:

Please check your Canvas course shell closer to when the course starts to see if this course requires mandatory in-person attendance. The delivery method of the course might have to change quickly in response to changes in the local state/national directive regarding in-person course attendance.


Course Code




Learning Mode

Teaching Period(s)


City Campus


125H Electrical & Computer Engineering


Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 1 2015,
Sem 1 2016


City Campus


172H School of Engineering


Sem 1 2017,
Sem 1 2018,
Sem 1 2019,
Sem 1 2020,
Sem 1 2021,
Sem 1 2022




125H Electrical & Computer Engineering


Offsh3 14,
Offsh1 15,
Offsh1 16,
Offsh2 16




172H School of Engineering


Offsh1 17


RMIT University Vietnam


172H School of Engineering


Viet1 2018,
Viet3 2018,
Viet1 2019,
Viet2 2020,
Viet2 2021,
Viet2 2022

Course Coordinator: Dr Glenn Matthews

Course Coordinator Phone: +61 3 9925 2091

Course Coordinator Email:

Course Coordinator Location: 10.07.007

Course Coordinator Availability: Email for appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Required Prior Study:

You should have satisfactorily completed Introduction to Embedded Systems (EEET2256) or other equivalent studies before you commence this course.

Alternatively, you may be able to demonstrate the required skills and knowledge before you start this course.
Contact your course coordinator if you think you may be eligible for recognition of prior learning. 

It will be assumed that you have had exposure to at least one computer programming environment. C++ / Java experience is desirable.

It will be assumed that you can design and build combinatorial and sequential digital circuits and, that you can develop simple computer interfaces. Experience with an integrated development environment and corresponding simulation tools is an advantage.

Course Description

This course builds on the introductory material developed in Introduction to Embedded Systems by extending basic microcontroller applications to include programming in a high-level language, the use of interrupts, stand-alone operation, real-time programming and, embedded system design.  

The course focuses on the use of the ARM Cortex-M architecture which has become a staple of the embedded systems industry. You will use an ARM development board to reinforce concepts discussed in the lectures and enhance your technical skills by deploying / debugging your code during your laboratory sessions.

The course aims to teach students the fundamentals of embedded system design using modern digital hardware. The core peripherals of the microcontroller will be discussed in detail and software architecture concepts will be developed.

If you are considering a career in digital hardware / embedded-systems, this course serves to provide the foundation for advanced material such as HDL (Hardware Description Languages) and programmable architectures covered in later years.

Please note that if you take this course for a bachelor honours program, your overall mark in this course will be one of the course marks that will be used to calculate the weighted average mark (WAM) that will determine your award level. (This applies to students who commence enrolment in a bachelor honours program from 1 January 2016 onward. See the WAM information web page for more information.

Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes

1.3 In-depth understanding of specialist bodies of knowledge within the engineering discipline.

2.1 Application of established engineering methods to complex engineering problem solving.

2.2 Fluent application of engineering techniques, tools and resources.

2.3 Application of systematic engineering synthesis and design processes.

On completion of this course you should be able to:

  1. Use both ARM assembly and C languages to develop structured code for microcontroller applications.
  2. Describe the ARM Cortex-M microcontroller architecture and I/O operations.
  3. Interpret datasheets from device manufacturers and implement Assembler / C code to interface with external peripherals.
  4. Interpret system timing requirements for embedded hardware and develop comprehensive code to implement a complex system in real-time (including debugging).
  5. Deploy standalone applications to an embedded platform and evaluate system performance.
  6. Critically evaluate embedded systems to identify potential implementation issues and suggest appropriate modifications to improve reliability / redundancy.

Overview of Learning Activities

Student Learning occurs through the following experiences and evaluation processes:

  • Comprehensive review of recorded lectures where syllabus material will be presented and explained. The lectures will contain demonstrations and examples to reinforce key concepts and processes.
  • Completion of lectorial questions and laboratory projects designed to give further practice in the application of theory and procedures, and to give feedback on student progress and understanding;
  • Completion of written laboratory reports consisting of programming and other embedded design problems requiring an integrated understanding of the course topics;
  • Private study, working through the course as presented in classes and learning materials, and gaining
  • Practice at solving conceptual and hardware programming problems.
  • Feedback will be provided throughout the semester in class and/or online discussions, through individual and group feedback on practical exercises and by individual consultation (where possible).

Overview of Learning Resources

You will be able to access course information and learning materials through RMIT University’s online systems.

Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

You will also use state-of-the-art laboratory equipment and computer software within the School.

Overview of Assessment

This course has no hurdle requirements.

  1. At undergraduate level assessment in this course consists of the following components: Laboratory work / Project work.
  2. Lectorial Tests.
  3. Design and Implementation Problem(s).

You will be required to submit formal individual reports for each laboratory task. Feedback will be provided in the submitted report. Furthermore, during the laboratory sessions the tutor will provide further insight into your design and offer suggestions on how it could potentially be improved or expanded.

All assessment tasks will also assess your ability to critically analyse results and provide arguments to support design decisions.

Assessment tasks

Assessment Task 1: Laboratory Tasks
Weighting 35%
This assessment task supports CLOs 1, 3, 4, & 5

Assessment Task 2: Laboratory Group Project
Weighting 30%
This assessment task supports CLOs 1, 2, 4, & 5

Assessment Task 3: Lectorial Tests
Weighting 15%
This assessment task supports CLO 1, 2, & 6
The lectorial tests will be conducted in class and will be 50 minutes in duration.

Assessment Task 4: Final Timed-Assessment - Design and Implementation Problem
Weighting 20%
This assessment task supports CLOs 1, 4, & 6
The final timed-assessment will be a 2.5-hour design problem that may be taken with a 24-hour period.