Cameron Devine

Embedded Computing ME 477

Course description

This course is an introduction to microprocessor-based measurement and control of electrical, mechanical, and electromechanical systems. Topics include microprocessor architecture, computer memory, C programming, hardware and software interfaces, and communications. Emphasis is placed on hardware and software interface design for real-time measurement, control, and user interface.

The course is designed for the Embedded Computing Laboratory, which is described in Resource 1 of Embedded Computing. Note that this course was developed in collaboration with Professor Joseph L. Garbini, who teaches a similar course at the University of Washington.

General information

Cameron Devine Ph.D.
[email protected]
Classroom location
Panowicz 107
zoom (password on moodle)
W 5:00 - 6:50 pm
Lecture Notes
Lecture Recordings
GTA Office Hours
Noah Larson
[email protected]
W 3:00 - 5:00 pm


Homebrew texts and notes

Partial texts (with fill-ins) will be posted on the Embedded Computing (EC) page.

Have a service such as that of the SMU Computer Resource Center print them in bulk for you. Whichever printing service you use, I recommend binding them such that pages can be replaced (e.g. three-ring bindable) in case there are major revisions to a section during the term.


The following schedule is tentative. The class dates listed in bold will be in person.

day topic reading due
1/12 Course intro and syllabus
binary and hexadecimal representation
EC Ch. 00  
1/19 Binary and hexadecimal arithmetic
memory and processing
EC Ch. 01 Lab 00
1/26 C language and data types EC Ch. 02 Lab 01
Ass. 1
2/2 Lab day    
2/9 Lab day    
2/16 A paper computer and data transmission EC Ch. 03 Lab 02
2/23 State machines, PWM, and motor control EC Ch. 04 Lab 03
3/2 Threads, interrupts, and debouncing EC Ch. 05 Lab 04
Ass. 2
3/9 Midterm Break    
3/16 Analog IO and transfer functions EC Ch. 06 Lab 05
3/23 Motor velocity control EC Ch. 07 Lab 06
3/30 Path planning and PID motor control EC Ch. 08 Lab 07
4/6 Office Hours   Lab 08
4/13 Office Hours    
4/20 Lab day    
4/27 Presentation/Lab day    


Assignment 1

EC Chapter 00 Exercises 1, 2, 3, 4, 5, 8, 9, 10, 11, 12.

Solution pwd: Y30E51rkLT75Qkrl.

Assignment 2

EC Exercise 04.13.

Solution pwd: 68E8Ac50jnY4Lk0EWNumYGE.

Lecture Videos

Dr. Rico Picone has put together a set of lectures videos for the Embedded Computing text. While in no way required, these videos are listed here as a resource you may find useful.

Graduate student responsibilities

Graduate students have three additional responsibilities:

  1. perform a literature search to understand an aspect of each laboratory exercise in greater depth;
  2. as part of the introduction to each laboratory report (should be about a page in the standard format), summarize your research, citing least three academic sources; and
  3. at the end of the semester, present a detailed description of an application of embedded computing, focusing on the embedded computing aspect of the application.

For resources pertaining to (1), see Dr. Rico Picone’s Academic Literature Searching Tutorial.


Class resources will be posted here throughout the semester.


Everyone is required to join the Slack workspace Prof. Cameron Devine. We’ll use it to communicate with each other during the semester. Join by clicking here. Be sure to join the channel #me477-general.

Laboratory policies

A laboratory report will be written for each lab. These lab reports will be due at Midnight on Friday April 29th. However, you are encouraged to complete lab reports before they are due. To encourage this, complete lab reports (the lab report and corresponding code) turned in before Midnight on Sunday April 10th will count as an additional 30% of an artifact, and reports turned in before Midnight on Friday April 22nd will count as an addition 15% of an artifact. (The term artifact is defined below.) These reports will be submitted via moodle and must be in accordance with the requirements provided here.

Laboratory procedures should be performed individually, although collaboration is encouraged. That is, discussions of how to accomplish aspects of the lab are great, but everyone should write their own code.

Laboratory reports should also be prepared individually.

Homework, quiz, & exam policies

Homework & homework quiz policies

Homework should be turned in before class on the date listed on the schedule. Working in groups on homework is strongly encouraged, but the work turned in must be your own.

Exam policies

No exams are currently planned for this course.

Grading policies

This class consists of two graded homework assignments and seven labs where both the code and a lab report should be turned in. This is a total of 16 “artifacts”. Here an “artifact” is a completed homework assignment, the code written for a lab, or a lab report. Below is a table showing the grade you will be assigned depending on the number of artifacts you complete and turn in.

Artifacts Grade
15 - 16 A+
13 - 14 A
11 - 12 A-
10 B+
9 B
8 C+
7 C-
0 - 6 F

Note: Lab reports without corresponding code will not be counted. However, the code from multiple labs without corresponding lab reports will be accepted. Furthermore, the grade you receive on the work will affect your final grade.

Academic Honesty/Professionalism

What is Academic Integrity?

Saint Martin’s University is a community of faculty, students and staff engaged in the exchange of ideas in the ongoing pursuit of academic excellence. Essential to our mission is a focused commitment to scholarly values and intellectual integrity, and a respect for the ideas, beliefs and work of others. This commitment extends to all aspects of academic performance. All members are expected to abide by ethical standards both in their conduct and their exercise of responsibility to themselves and toward other members of the community. As an expression of our shared belief in the Benedictine tradition, we support the intellectual, social, emotional, physical and spiritual nurturing of students.

What is Academic Dishonesty?

Saint Martin’s University defines academic dishonesty as violating the academic integrity of an assignment, test and/or evaluation of any coursework. This dishonest practice occurs when you seek to gain for yourself or another an academic advantage by deception or other dishonest means. You have a responsibility to understand the requirements that apply to particular assessments and to be aware of acceptable academic practice regarding the use of material prepared by others. Therefore, it is your responsibility to be familiar with the policies surrounding academic dishonesty as these may differ from other institutions.

The Acceptable Use of AI in Coursework

Any use of technology that misleads a reviewer in assessing the student’s mastery of a specific set of skills or knowledge is a type of intellectual dishonesty, that is, a type of cheating. Students who are unsure about the appropriateness of using an artificial intelligence tool (or “AI”) should check with the instructor before using it. This includes the use of tools that generate text, images, video, code, and other works. If you are permitted by your instructor to use one or more AI tools in producing your work, you should disclose the use of that tool. You should say which tool you used and how you used it. Then if you use specific AI generated content (text, images, videos, audio, code, and so on) you should cite it in the style (APA, MLA, and so on) specified by your instructor.

University-Sanctioned Activities

If you are absent from class due to university-sanctioned activities, such as sports, it is your responsibility to request that the absence be excused; otherwise, the absence will be recorded as unexcused. Absent students are responsible for catching up with the class, and if any assignments are due on the day of the absence, it is your responsibility to turn in the assignments on time.

Counseling and Wellness Center

There may be times, as a college student, when personal stressors interfere with your academic performance and your daily life. The Counseling and Wellness Center supports students by addressing mental and emotional well-being with FREE and confidential services. To schedule an appointment, call 360-412-6123 or email [email protected] or stop by the CWC (1 st floor St. Raphael Center).

If you would rather not go to the CWC or need support in the evenings and weekends, please consider using the TimelyCare app ( to speak with a mental health provider, free, 24/7, from your phone or computer.

Center for Student Success

The Center for Student Success is an integrated learning assistance program that offers services for students at all levels of achievement in pursuit of intellectual growth and academic excellence. The Center offers peer tutoring, study support, first year/early major advising, and writing support. Please investigate ways in which to support your learning. The CSS is located in the lower level of O’Grady Library. You can sign up for tutoring appointments on the webpage:

Religious Accommodation Statement

Saint Martin’s University, in honor of the sacredness of the individual, and being deeply rooted in the Catholic Benedictine tradition of higher education, values the many religious and spiritual practices of our campus community. Saint Martin’s University supports our students in their ongoing journey of becoming. In compliance with Washington State Law RCW 28B.137.010, Saint Martin’s University reasonably accommodates students for reasons of religious observances.

Access and Accommodations

Your experience in this class is important to me. If you have already established accommodations with Disability Support Services (DSS), please communicate your approved accommodations to me at your earliest convenience so we can discuss your needs in this course. If you have not yet established services through DSS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but are not limited to mental health, attention- related, learning, vision, hearing, physical or health impacts), you are welcome to contact DSS at 360-438-4580 or [email protected] or [email protected]. DSS offers resources and coordinates reasonable accommodations for students with disabilities and/or temporary health conditions.  Reasonable accommodations are established through an interactive process between you, your instructor(s) and DSS.  It is the policy and practice of the Saint Martin’s University to create inclusive and accessible learning environments consistent with federal and state law.

Sexual Misconduct/Sexual Harrassment Reporting

Saint Martin’s University is committed to providing an environment free from sex discrimination, including sexual harassment and sexual violence. There are Title IX/sexual harassment posters around campus that include the contact information for confidential reporting and formal reporting. Confidential reporting is where you can talk about incidents of sexual harassment and gender-based crimes including sexual assault, stalking, and domestic/relationship violence. This confidential resource can help you without having to report your situation to the formal reporting process through the Dean of Students – Ms. Melanie Richardson, Associate VP of Human Resources – Ms. Cynthia Johnson, Public Safety – Ms. Sharon Schnebly, or the Office of the Provost – Dr. Tanya Smith-Brice, unless you request that they make a report. Please be aware that, in compliance with Title IX and under the Saint Martin’s University policies, educators must report incidents of sexual harassment and gender-based crimes including sexual assault, stalking, and domestic/relationship violence. If you disclose any of these situations in class, on papers, or to me personally, I am required to report it.

Correlation of course & program outcomes

In keeping with the standards of the Department of Mechanical Engineering, each course is evaluated in terms of its desired outcomes and how these support the desired program outcomes. The following sections document the evaluation of this course.

Desired course outcomes

Upon completion of the course, the following course outcomes are desired:

  1. students will have a clear and thorough understanding of concepts, principles, and methods of embedded computing in electromechanical systems;
  2. students will understand basic computer architecture;
  3. students will understand basic C programming;
  4. students will be able to program an embedded computer;
  5. students will be able to design a basic feedback control system; and
  6. students will be able to write a clear and thorough report of a laboratory exercise.

Desired program outcomes

In accordance with ABET’s student outcomes, our desired program outcomes are that mechanical engineering graduates have:

  1. an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  2. an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
  3. an ability to communicate effectively with a range of audiences
  4. an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
  5. an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
  6. an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  7. an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Correlation of outcomes

The following table correlates the desired course outcomes listed along the left hand side with the desired program outcomes listed along the top.

  1 2 3 4 5 6 7