Electrical, Electronic and Computer Engineering

Information Technology

Embedded Systems (ELEC2303)


Professor Thomas Bräunl






Semester 1 - 6 points

Course outcomes:
  - Students will gain in-depth technical competence in the following areas:
    * Selection of appropriate sensors, actuators, and interfaces for solving a particular technical problem
    * Designing an embedded system hardware with specific sensors and actuators
    * Programming an embedded system with a combination of C and assembly language
  - Students will be aware of typical embedded system application areas and will be able to design an embedded system to solve problems in these application areas
  - Students will be able to use high-level system function units for designing embedded computer systems and be able to verify their performance and use it to modify the design
  - The course will involve lab sessions where students work in groups, where they have the opportunity to work as team leaders or effective team members, which are being assigned specific sub-tasks. Students will rotate their roles as team leaders and effective team members.
  - Students will learn about special demands of life-critical embedded systems in application areas like medical systems, transportation systems and control of manufacturing machinery.
  - Students are provided with a foundation in the embedded systems area. This is a rapidly expanding area, which they are encouraged to explore further and keep up with technology trends.

Unit Description
This unit includes the following topics:

Embedded microcontrollers:

CPU functionality, function units, structured CPU design, embedded system design, interfacing and integration, reconfigurable computing.


Sensors, actuators, digital and analog I/O, motor drivers, shaft encoders, interface standards, standard protocols.

Programming for embedded systems:

Assembly languages, C/C++ and interfacing with assembly languages, interrupt handling, timer interrupts, real-time systems, multi-threading, device drivers, data structures, programming techniques.

Contact Hours






 13 * 2 hrs

 week 1-13


 10 * 1 hr

 week 3-12


 8 * 2 hrs

 week 5-12

 weekly labs, 3h each,
2h supervised

For days, time and venues, see: www.timetable.uwa.edu.au

Tutorial and Lab assignments are available on the web.
Students should work in groups of two, so please find a partner from the same lab group.

Unit Co-ordinator:          Professor Thomas Bräunl
Tutors / Lab Supervisors: Stephen Whitely

Textbooks:         Bräunl: Embedded Robotics, 3rd Ed., Springer 2008

Recommended Reading:
Thomas Harman:    The Motorola MC68332 Microcontroller, Prentice-Hall, 1991
                            The Motorola MC68000 Microprocessor Family, Prentice-Hall, 1996
Niklaus Wirth:        Digital Circuit Design, Springer, 1995
J. Jones, A. Flynn:  Mobile Robots, 2nd Ed., AK Peters, 1999
Kernighan, Ritchie: The C Programming Language,
                              alternatively:  <any C programming book>

Lecture Notes:          see link (VPN required!)

Lectopia Recording: see link
OLCR Registration: see link

Tutorials:                  see link
Tutorial Solutions:   see link
Lab Assignments:    see link
Previous Exams:      see link
Supplem. Material see link

Embedded Systems Hall of Fame
Quiz:                         Answer A, B, C or D  (res)




% of final mark


Lab 1-8

weeks 5-12


labs are conducted in groups of two students
each lab is due at the end of the scheduled session in the same week

Test 1

week 7


open book

Test 2

week 13


open book

No final examination

Not applicable for this unit.

All work submitted must be the student's (or group's, resp.) own work.
Citations must be clearly marked as such.
See the faculty policy on plagiarism

See the faculty policy for scaling marks.

See the faculty policy for appeals.

Maintained by: Thomas Braunl, Last changed: Feb. 2010
URL: https://robotics.ee.uwa.edu.au/courses/embedded/
CRICOS Provider Code: 00126G