ECEN301 (2019) - Embedded Systems


This course details how embedded controllers can be used to solve a number of real-world engineering problems. The main emphasis is on 8-bit microprocessors, logic systems to support them and techniques to interface them with the physical world. Specific topics include microcontrollers, sensors, actuators, signal conditioning, filters, analogue to digital conversion, systems analysis and introductory control. Practical experience is gained through the use of programming a microcontroller in a high level language and interfacing it to real-world systems.

Course learning objectives

Students who pass this course will be able to:

  1. Be skilled in the high-level use of a microcontroller to solve a variety of real-world problems. (3b)
  2. Understand the advantages and disadvantages of a range of different sensors, signal conditioning and signal processing elements of an embedded control system and be able to select the option best suited for a variety of engineering applications. (3b) (3e)
  3. Be familiar with the physical principles of analogue to digital conversion and sampling theorems. From a knowledge of the advantages and disadvantages of a variety of ADC techniques, the student will be able to select the appropriate device for a range of engineering applications. (3b)
  4. Have a basic understanding of the embedded Linux operating system. Understand the advantages and disadvantages of bare metal programming versus using an embedded operating system. The student should be able to interface sensors/actuators to an embedded operating system. (3b)
  5. Understand and be able to apply the concepts of transfer functions and Bode Approximations in order to predict the behaviour of a simple system. (3a) (3c)
  6. Have a basic understanding of classical PID control theory and Fuzzy logic. (3b).The student will be able to apply a simple PID system to the speed control of a DC motor.
  7. Be able to effectively communicate in a written manner the methodology, design compromises, results and evaluation of a variety of microcontroller based solutions to real-world problems. 2(b) 3(f)

Course content

Almost every modern electronic circuit contains some form of embedded controller, very often a microcontroller, although Programmable Gate Arrays and their variants are becoming more common especially when the problem is parallel in nature.  The decreasing cost and increasing power of microcontrollers has led to their employment in a vast number of electronic devices.  A significant advantage of microcontrollers is their ability to be configured using a common programming language (especially C), and hence functionality can be easily changed without requiring an expensive and time consuming hardware change.
Microcontrollers are taught in this course mainly through the laboratory section of the course.  The course begins with very structured laboratory assignments.  However you are expected to become more responsible for your own learning as the course progresses.  The practical work contains a major assignment where you must programme a microcontroller to control the speed of a dc motor using a classical PID algorithm.

Withdrawal from Course

Withdrawal dates and process:


Robin Dykstra (Coordinator)

Dale Carnegie

Teaching Format

During the trimester there will be two lectures per week. Some hours will be used for tutorials.

Student feedback

Student feedback on University courses may be found at:

Dates (trimester, teaching & break dates)

  • Teaching: 08 July 2019 - 13 October 2019
  • Break: 19 August 2019 - 01 September 2019
  • Study period: 14 October 2019 - 17 October 2019
  • Exam period: 18 October 2019 - 09 November 2019

Class Times and Room Numbers

08 July 2019 - 18 August 2019

  • Monday 10:00 - 11:50 – 102, Alan MacDiarmid Building, Kelburn
  • Friday 12:00 - 12:50 – 102, Alan MacDiarmid Building, Kelburn
02 September 2019 - 13 October 2019

  • Monday 10:00 - 11:50 – 102, Alan MacDiarmid Building, Kelburn
  • Friday 12:00 - 12:50 – 102, Alan MacDiarmid Building, Kelburn

Other Classes

Laboratory sessions will be scheduled in the first week of term and will begin in the second week.  The laboratory sessions will be held in CO239 and are designed to be three hours duration.


Students will be provided with a comprehensive study guide which contains most of the lecture slides but with blanks that will need to be filled-in during the lectures.  A complete pdf of these slides is available via BlackBoard for students who have either missed the lecture or wish to have the material entered in advance.  
Students will also be issued with a set of comprehensive notes.  This set of notes covers all the material that will be covered in the lecture other than material that you will be required to independently research.  A laboratory manual with the laboratory exercises is also provided as well as a user manual for the microcontrollers that you will be using.

No textbook is required, however students may consider purchasing one of these texts as an additional source of information.  In order of preference, some suggestions are:

  • Bolton, W. “Mechatronics”, 3rd edition.
  • Alciatore, D and Hisand, M, “Introduction to Mechatronics and Measurement Systems” 2nd edition.
  • Horowitz & Hill “The Art of Electronics”, (a reference book for people who are seriously interested in electronics).
  • Molloy, D. “Exploring Beaglebone

Mandatory Course Requirements

In addition to achieving an overall pass mark of at least 50%, students must:

  • Satisfactorily completes at least 6 of the 8 assigned labs (a demonstrator must verify all lab work).
  • Hands in at least 2 assignments.
  • Scores at least 40% on both the internal tests and at least 30% on any one test.

If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.


The course is entirely internally assessed (there is no formal examination), compromising 33.3% written assignments, 33.4% tests and quizzes and 33.3% laboratory work, detailed below.
The three assignments will be issued at regular intervals: approximately weeks 6, 8 and 12.  Two sides of hand-written A4 notes and approved calculators will be permitted in the tests, but will not be required for the closed book quizzes.

Assessment ItemDue Date or Test DateCLO(s)Percentage
Term Test 1Week 8CLO: 1,2,3,4,5,6,711.2%
Term Test 2Week 12CLO: 1,2,3,4,5,6,716.7%
Closed book quizzesfortnightlyCLO: 1,2,3,4,5,6,75.5%
Three written assignmentsCLO: 1,2,3,4,5,6,733.3%
Laboratory work, including the project, laboratory write-ups and laboratory practical marks.CLO: 1,2,3,4,5,6,733.3%


Late assessment will be penalised at the rate of 5% for every day the assessment is late.  The lecturer may refuse to mark work that has been handed in over a week late, and may also refuse if the assessment has been marked and returned to the class.  In such instances, a zero grade for that assessment shall result.


Individual extensions will only be granted in exceptional personal circumstances, and should be negotiated with the course coordinator before the deadline whenever possible. Documentation (eg, medical certificate) may be required.

Submission & Return

Lab work is submitted through the ECS submission system, accessible through the course web pages. Marks and comments will be returned through the ECS marking system, also available through the course web pages.

Marking Criteria

There will be two tests designed to assess analytical skills and the knowledge base of students (objectives 2-8).  These tests will examine the students’ ability to make informed engineering design decisions, and your understanding of, and ability to apply, the material presented in the lectures.
The laboratory part of the course assessment is designed to test the students’ ability to design and debug microprocessor code and circuits (objective 1), to maintain a reliable laboratory notebook, and to report in written form on their design work (objective 9). 

Laboratory Reports
You are required to submit a formal laboratory report for each of the assigned labs.  These should be of professional standard detailing the objective of the laboratory exercise, the methodology employed, a justification for any design decisions, results obtained and an analysis or evaluation of your results.  You should answer any questions asked of you in the laboratory manual.
The real test of what you have learnt from this course is your ability to design a useful microprocessor- / microcontroller-based instrument or circuit.  The practical project involves the control of a dc motor using the microcontroller and a classical control algorithm.  This assignment brings together most of the material you have covered in the preceding laboratory exercises.
Note, there is a non-linear relationship between the write-up mark and your overall laboratory grade.  For example, a mark of 8/10 for a write-up does not guarantee you an A grade for the laboratory work since several of these items are designated as mastery assessments.  This will be further explained in the lectures.

Group Work

We encourage you to discuss the principles of the course and assignments with other students, to help and seek help with programming details, problems involving the lab equipment, etc.  However, any work you hand in MUST be your own work.


The expectation is that you will do roughly 12 hours of work per week on average.  This will normally comprise 2 hours of lectures, 1 hour tutorial, 3 – 4 hours of laboratory work, and an average of 3 – 4 hours of assignment work, laboratory write-ups, and background reading.


Teaching Plan

An approximate lecture schedule is as follows (Note this schedule is subject to change, depending on progress through the material and lecturer availability):

Week 0

LectureIntroduction/Interfacing I

Transducer parameters, software interfacing

LectureInterfacing II

Sensors – Resistive, capacitive, inductive

LectureInterfacing III

Sensors – inductive, solid state

LectureInterfacing IV

Accelerometers, gyros, IMU’s

LectureNoise and Cabling

Noise, ground, reflections, cabling


LectureADC I

ADC overview, servo and integrating ADCs

LectureADC II

Charge balance ADCs, sample and hold

LectureADC III

Sampling, Nyquist and sample and hold circuits

LectureInterfacing IV

Sensors – self-generating

LectureSignal Conditioning I

Voltage dividers, deflection bridges

LectureSignal Conditioning II

Operational Amplifiers – a review

LectureSignal Conditioning III

Filters – passive, active

LectureSignal Conditioning IV

Filters, active and digital


I/O ports, polling, interrupts, serial transmission

TestTest 1

LectureMicroprocessors II

The ARM 32bit processor

LectureMicroprocessors III

Embedded Linux

LectureControl Theory

Classical PID control and Fuzzy Logic

TestTest 2

Communication of Additional Information

Any additional information regarding this course will be posted on blackboard.

Offering CRN: 18512

Points: 15
Prerequisites: ECEN 202, 203
Restrictions: PHYS 340
Duration: 08 July 2019 - 10 November 2019
Starts: Trimester 2
Campus: Kelburn