The University of Newcastle, Australia

Course handbook


Students in ELEC2720 will learn about microcontrollers, their low level architecture, and the techniques of programming a microcontroller using the C programming language. Students will develop a practical product by programming a microcontroller with C and will learn to use modern peripheral devices used in embedded systems, including interrupt controllers, direct memory access, communication devices such as SPI, I2C and USB, and display devices.

The assessments for this course are broken into a number of progressive practical assignments contributing towards a final demonstrable product. There will also be a final exam component to examine the basic concepts presented during the course. Students are encouraged to familiarise themselves with the materials available online. The lectorials and supervised laboratory sessions are interactive sessions for the students to discuss their questions with the instructors. The hardware required to complete the practical components of this course is readily available at low cost enabling inclined students to complete many of the activities off campus. All materials for this course will be available online prior to face to face sessions.

Availability2020 Course Timetables

PSB Singapore

  • Trimester 2 - 2020 (Singapore)


  • Semester 1 - 2020

Learning outcomes

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

1. Write C programs on microcontrollers

2. Program microcontrollers for developing practical products

3. Configure peripheral devices using special function registers

4. Apply direct memory access for fast data transfer

5. Network a number of microcontrollers via an appropriate serial communication protocol like I2C, SPI, etc

6. Program A/D converters and general purpose input output ports on microcontrollers

7. Apply standard libraries for USB communications and LCD interfacing


  1. Review of C programming
  2. C programming for embedded systems
  3. Review of ARM architecture
  4. Special function/configuration registers
  5. Hardware interrupts and vector interrupt controller
  6. Direct memory access
  7. A/D converters
  8. General purpose input-output ports and timers
  9. Serial communication, I2C, SPI, Synchronous parallel interfaces
  10. OSI model and Ethernet link interface
  11. User interface devices


If you have successfully completed ELEC2700 you cannot enrol in this course.

Assumed knowledge

ELEC1710 Digital and Computer Electronics 1, and

ENGG1003 Introduction to Procedural Programming

Assessment items

Written Assignment: Laboratory Assignment 1

Written Assignment: Laboratory Assignment 2

Written Assignment: Laboratory Assignment 3

Written Assignment: Laboratory Assignment 4

Written Assignment: Laboratory Assignment 5

Formal Examination: 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 2 hour(s) per Week for Full Term