Course Title: Embedded System Design and Implementation

Part A: Course Overview

Course Title: Embedded System Design and Implementation

Credit Points: 12.00


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,
Sem 1 2023,
Sem 1 2024




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,
Viet3 2022,
Viet1 2023,
Viet3 2023,
Viet1 2024

Course Coordinator: Dr Priya Rani

Course Coordinator Phone: -

Course Coordinator Email:

Course Coordinator Location: 012.11.013-2

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 for:

BH073P23/BH073VRI23 Bachelor of Engineering (Electronic and Computer Systems Engineering) (Honours)
BH091CNH23 Bachelor of Engineering (Computer and Network Engineering) (Honours)/Bachelor of Computer Science  

PLO 1 Demonstrate an in-depth understanding and knowledge of fundamental engineering and scientific theories, principles and concepts and apply advanced technical knowledge in specialist domain of engineering.

PLO 2 Utilise mathematics and engineering fundamentals, software, tools and techniques to design engineering systems for complex engineering challenges. 

PLO 4 Apply systematic problem solving, design methods and information and project management to propose and implement creative and sustainable solutions with intellectual independence and cultural sensitivity. 


This course contributes to the following Program Learning Outcomes for:

BH071P17 Bachelor of Engineering (Telecommunications Engineering) (Honours)
BH072 Bachelor of Engineering (Computer and Network Engineering) (Honours)
BH073P22/BH073VRI22 Bachelor of Engineering (Electronic and Computer Systems Engineering) (Honours)
BH075/BH075HKG Bachelor of Engineering (Electrical Engineering) (Honours)
BH091CNHDD Bachelor of Engineering (Computer and Network Engineering) (Honours)/Bachelor of Computer Science
BH094ECHDD Bachelor of Engineering(Telecommunications Engineering)(Honours)/Bachelor of Computer Science
BH097ECHDD Bachelor of Science(Physics)/Bachelor of Engineering(Telecommunications Engineering)(Honours)
BH109EEHDD Bachelor of Engineering(Electrical & Electronic Eng)(Honours)/Bachelor of Business(Entrepreneurship)
BH111ECHDD Bachelor of Engineering (Electronic and Computer Systems Engineering)(Honours)/Bachelor of Business
BH083EEHDD Bachelor of Engineering (Electrical Engineering) (Honours)/Bachelor of Commerce
BH081EEHDD Bachelor of Engineering (Electrical Engineering) (Honours)/Bachelor of Business (Management) 

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;
  • 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 Quizzes.
  3. Design and Implementation Problem(s).

You will be required to submit formal individual reports and comprehensive code solutions 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 Quizzes
Weighting 10%
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 25%
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.