Spring 2022 - CMPT 433 D100

Embedded Systems (3)

Class Number: 6081

Delivery Method: In Person


  • Course Times + Location:

    Mo, We, Fr 12:30 PM – 1:20 PM
    SRYE 3016, Surrey

  • Prerequisites:

    CMPT 295 and CMPT 300, with a minimum grade of C-.



The basics of embedded system organization, hardware-software co-design, and programmable chip technologies are studied. Formal models and specification languages for capturing and analyzing the behavior of embedded systems. The design and use of tools for system partitioning and hardware/software co-design implementation, validation, and verification are also studied.


You will gain hands-on experience developing embedded applications on your own 32-bit single board computer (BeagleBone Green). You will purchase this hardware through the school during the first week of class instead of buying a required textbook (at similar in cost to a textbook). By the end of the course, you will be able to setup and use a Linux build environment to develop embedded Linux applications. You will have learned bare-metal development (no OS), Linux device driver creation, and be able to read basic hardware circuits. You will have demonstrated a mastery of embedded development on the course group project by implementing a stand-alone product or by interfacing with a larger system. The assignments and project require a significant amount of time to complete. Expect to spend more time on this course than a less hands-on course.


  • Embedded C and/or C++ programming.
  • Embedded Linux cross-platform application development.
  • Controlling external hardware via Linux applications.
  • Embedded application testing and cross-platform debugging.
  • Linux device driver development.
  • Bare metal embedded development (no OS) and low-level device control.
  • Understand basic hardware circuits.


  • Assignments 30%
  • Project 30%
  • Quizzes 5%
  • Final Exam 35%


Activities and weighting will be confirmed in the first week of lectures.

Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C- or better).



Reference Books:
Exploring Beaglebone 2nd Ed, Derek Molloy, Wiley, 2019, 978-1119533160

Registrar Notes:


SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html


Teaching at SFU in spring 2022 will involve primarily in-person instruction, with safety plans in place.  Some courses will still be offered through remote methods, and if so, this will be clearly identified in the schedule of classes.  You will also know at enrollment whether remote course components will be “live” (synchronous) or at your own pace (asynchronous).

Enrolling in a course acknowledges that you are able to attend in whatever format is required.  You should not enroll in a course that is in-person if you are not able to return to campus, and should be aware that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes.

Students with hidden or visible disabilities who may need class or exam accommodations, including in the context of remote learning, are advised to register with the SFU Centre for Accessible Learning (caladmin@sfu.ca or 778-782-3112) as early as possible in order to prepare for the spring 2022 term.