ENCE361-23S1 (C) Semester One 2023

Embedded Systems 1

15 points

Start Date: Monday, 20 February 2023
End Date: Sunday, 25 June 2023
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 5 March 2023
  • Without academic penalty (including no fee refund): Sunday, 14 May 2023


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.

Topics covered 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 should be able to:
1. Understand the process of designing, testing, and debugging an embedded system to conform to a project specification.
2. Have the design skills of utilising microprocessor peripherals, such as timers, serial interfaces, and analogue-to-digital converters (ADCs) to build an embedded system.
3. Implement algorithms in the C programming language.
4. Understand what is meant by the hardware and software interface and the constraints of a real-time embedded application.
5. Write well-structured code for the development of software modules to run on an advanced low-power microcontroller.
6. Learn how to use a commercial high-level debugger to locate and correct programming bugs.
7. Show competency in utilising an advanced commercial toolchain to develop an embedded application.
8. Learn the basics of scheduling theory and develop a simple task scheduler for a real-time application.
9. Understand event-driven programming using interrupts and background task management.

University Graduate Attributes

This course will provide students with an opportunity to develop the Graduate Attributes specified below:

Critically competent in a core academic discipline of their award

Students know and can critically evaluate and, where applicable, apply this knowledge to topics/issues within their majoring subject.



ENEL353, ENEL323, COSC361, ELEC361, ENEL340

Timetable 2023

Students must attend one activity from each section.

Lecture A
Activity Day Time Location Weeks
01 Friday 10:00 - 11:00 C2 Lecture Theatre
20 Feb - 2 Apr
24 Apr - 4 Jun
Lecture B
Activity Day Time Location Weeks
01 Monday 08:00 - 09:00 C3 Lecture Theatre
20 Feb - 2 Apr
24 Apr - 4 Jun
Lecture C
Activity Day Time Location Weeks
01 Wednesday 09:00 - 10:00 E8 Lecture Theatre
20 Feb - 2 Apr
24 Apr - 4 Jun
Lab A
Activity Day Time Location Weeks
01 Tuesday 09:00 - 11:00 Elec 210 Electronics Lab
20 Feb - 2 Apr
24 Apr - 4 Jun
02 Monday 11:00 - 13:00 Elec 210 Electronics Lab
20 Feb - 2 Apr
24 Apr - 4 Jun
03 Friday 14:00 - 16:00 Elec 210 Electronics Lab
20 Feb - 2 Apr
24 Apr - 4 Jun
Tutorial A
Activity Day Time Location Weeks
01 Wednesday 17:00 - 18:00 C3 Lecture Theatre
20 Feb - 2 Apr
24 Apr - 4 Jun

Examination and Formal Tests

Test A
Activity Day Time Location Weeks
01 Tuesday 19:00 - 20:00 K1 Lecture Theatre
27 Mar - 2 Apr
02 Tuesday 19:00 - 20:00 E7 Lecture Theatre
27 Mar - 2 Apr
03 Tuesday 19:00 - 20:00 E14 Lecture Theatre
27 Mar - 2 Apr

Course Coordinator

Le Yang


Ciaran Moore


Assessment Due Date Percentage 
Project Milestone 1 5%
Test 20%
Project Milestone 2 5%
Project Demo 10%
Project Report and Code 20%
Final Exam 40%

Textbooks / Resources

Recommended Reading

ARM; ARM, "Cortex-M4 Devices Generic User Guide" ; (http://infocentre.arm.com/help/topic/com.arm.doc.dui0553b/DUI0553.pdf).

Labrosse, Jean J; ?C/OS-III : the real-time kernel ; MicriSoBm Press, 2010.

Simon, David E; An embedded software primer ; Addison Wesley, 1999.

White, Elecia; Making embedded systems : design patterns for great software ; O'Reilly Media, 2012.

Yiu, Joseph; The definitive guide to ARM® Cortex®-M3 and Cortex-M4 processors ; Third edition; Elsevier, Newnes, 2014.

Indicative Fees

Domestic fee $1,030.00

International fee $5,750.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-23S1 (C) Semester One 2023