Available in 2022
Course code



10 units


3000 level

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.



  • Semester 1 - 2022

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

ENGG1003 Introduction to Procedural Programming or SENG1110 Object Oriented Programming


ELEC1710 Digital and Computer Electronics 1 or ELEC1700 Computer Engineering 1


ELEC2700 Computer Engineering 2 or ELEC2720 Introduction to Embedded Computing

Assessment items

Project: Assignments x 3

Formal Examination: Formal Examination

Contact hours



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

The University of Newcastle acknowledges the traditional custodians of the lands within our footprint areas: Awabakal, Darkinjung, Biripai, Worimi, Wonnarua, and Eora Nations. We also pay respect to the wisdom of our Elders past and present.