ENCE361-20S1 (C) Semester One 2020

Embedded Systems 1

15 points

Start Date: Monday, 17 February 2020
End Date: Sunday, 21 June 2020
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Friday, 28 February 2020
  • Without academic penalty (including no fee refund): Friday, 29 May 2020


Embedded Systems is the study of specialised computer hardware, such as microcontrollers, programmed to perform a series of tasks, typically using a high-level language such as C, and targeted towards dedicated applications.

Main lecture topics include:
• Introduction and study of an advanced RISC-based microcontroller
• Microcontroller peripherals, such as PWM, serial, and ADC/DAC modules.
• Implement memory structures, such as double and circular buffers, for use in project work.
• What is a hardware/software interface? How can we use application programming interface (API) libraries to build an embedded system project?
• Extend hardware abstraction methods introduced in ENCE260.
• Design real-time kernels, as used in multitasking operating systems, and evaluating the performance of several kernels using context diagrams and CPU load analysis.
• The rate monotonic scheduling (RMS) algorithm is introduced.
• Apply knowledge of computer architecture to select hardware components and complex devices, such as microprocessors, for specific applications.

Learning Outcomes

  • At the end of this course, the student will be able to:
  • Build on a first course in microcontrollers to design, test, and debug an embedded system from a project specification.
  • Enhance their design skills by utilising internal microprocessor peripherals, such as timers, serial interfaces, and analogue-to-digital converters to build an embedded system.
  • Learn to implement an algorithm in the C programming language.
  • Understand what is meant by the hardware and software interface and the constraints of a real-time embedded application.
  • Write well structured code for the development of software modules to run on an advanced microprocessor.
  • Learn how to use a commercial high-level debugger to locate and correct programming errors.
  • Show competency in utilising an advanced commercial toolchain to develop an embedded application.
  • Develop a simple task scheduler for a multitasking operating system.
  • Learn the basics of scheduling theory and apply this to an embedded system with real-time constraints.
  • Understand the difference between event driven programming using interrupts and background task management.



ENEL353, ENEL323, COSC361, ELEC361, ENEL340

Course Coordinator

Ciaran Moore


Le Yang


Assessment Due Date Percentage 
Project Milestone 1 4%
Test 20%
Project Demos 10%
Project Code 14%
Project Report 12%
Final Exam 40%

Indicative Fees

Domestic fee $975.00

International fee $5,500.00

* All fees are inclusive of NZ GST or any equivalent overseas tax, and do not include any programme level discount or additional course-related expenses.

For further information see Electrical and Computer Engineering .

All ENCE361 Occurrences

  • ENCE361-20S1 (C) Semester One 2020