Course handbook


The course takes students through various steps involved in designing practical embedded software. It also introduces the basic building blocks of an embedded system.

Availability2018 Course Timetables


  • Semester 1 - 2018

PSB Singapore

  • Trimester 2 - 2018 (Singapore)

Learning outcomes

On successful completion of the course students will be able to:

1. Understand the building blocks of an embedded system (hardware and software)

2. Perform a functional hardware design for an embedded system

3. Develop software for commonly used peripheral devices

4. Write application software using simple looping executives and real-time operating systems

5. Understand and modify embedded software written by other professional developers


1.    ARM processor core

2.    Embedded programming in C for the ARM processor core

3.    Peripheral devices such as timers, UARTs, A/D converters and PWMs

4.    Bus standards such as SPI and I2C

5.    Interfacing graphic displays and touchscreens

6.    Filesystems

7.    Real-time operating systems 

8.    Common wireless communication interfaces

Assumed knowledge

ELEC2700 Computer Engineering 2 OR ELEC1710 Digital and Computer Electronics 1 AND ENGG1003 Introduction to Procedural Programming or SENG1110 Object Oriented Programming

Assessment items

Project: Assignments x 3

Formal Examination: Formal Examination

Contact hours

Callaghan and PSB Singapore


Face to Face On Campus 2 hour(s) per Week for Full Term


Face to Face On Campus 3 hour(s) per Week for Full Term