Syllabus for ME/EE 477 and MME577 —
Embedded Computing in Electromechanical Systems

Spring 2017

Course description

This course is an introduction to microprocessor-based measurement and control of electrical, mechanical, and electro-mechanical 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.

General information

Rico AR Picone, PhD
Office Hours
MWF 9:20–11 CH 103C

Office location
CH 103C
Classroom location
477/577 Website
477/577 Moodle



Any introduction to the C programming language. For example, Kernighan, B. W. and Ritchie, D. M., The C Programming Language. Prentice Hall, 2nd Ed. Englewood Cliffs, NJ, 1988.


Partial notes will be posted here.


The following schedule is tentative.

week topics introduced resources/reading laboratory
introduction myRIO user guide and specifications
introduction, number systems, arithmetic, boolean algebra, combinational logic, memory, memory organization, memory types myRIO user guide and specifications Laboratory #0
NI myRIO-1900 introduction, Xilinx Zynq-7010 and ARM Cortex-A9 Architecture ARM architecture, reference manual Laboratory #1
C programming, variables, expressions, control, CDT, debugging C programming language text
LCD and keypad hardware, data i/o interrupts, serial and parallel interfaces, low-level drivers myRIO Shipping Personality Reference: DIO, myRIO User Guide: UART Laboratory #2
instruction timing, parallel i/o, pulse modulation techniques Cortex-A9 Technical Reference Manual Appendix B Laboratory #3
interrupt driven i/o, internal and external sources, POSIX threads myRIO Shipping Personality Reference: IRQ Digital Input Interrupt
programmable clocks and timing, D/A and A/D conversion, digital signal theory myRIO Shipping Personality Reference: Timer Interrupt Laboratory #4
serial i/o, synchronous and asynchronous Laboratory #5
interface devices, TTL circuits, high-power switches, stepping motors
other processors, bus structures Laboratory #6
commercial hardware Laboratory #7
prototyping hardware
encoders and other sensors Laboratory #8
project Laboratory #9
finals week


Laboratory procedures will be posted here throughout the semester.


Class resources will be posted here throughout the semester.


Everyone is required to join the messaging service called “Slack.” We’ll use it to communicate with each other during the semester. The Slack team you need to join is called ME477-2017S. You should have an invitation link in your email.

Graduate student responsibilities

Graduate students have two additional responsibilities: (1) perform a literature search as part of the introduction to each laboratory report in which at least three academic sources are cited and (2) lead the project.

Laboratory policies

A laboratory report will be due the day before the next laboratory exercise. These laboratories will be submitted via Moodle and must be formatted with the LaTeX template provided here.

Laboratory procedures should be performed in groups, and these groups should submit a single report. The report must be the product of every member of the group, and there will be a section of the report that describes each team member's contribution.

Grading policies

Total grades in the course may be curved, but individual laboratory reports will not be. They will be turned in via moodle throughout the semester.

Laboratory reports


Academic integrity policy

Cheating or plagiarism of any kind is not tolerated and will result in a failing grade (“F”) in the course. I take this very seriously. Engineering is an academic and professional discipline that requires integrity. I expect students to consider their integrity of conduct to be their highest consideration with regard to the course material.

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;
  2. students will have designed their own embedded systems; and
  3. students will be prepared to design their own embedded systems.

Desired program outcomes

The desired program outcomes are that mechanical engineering graduates have:

  1. an ability to apply knowledge of mathematics, science, and engineering;
  2. an ability to design and conduct experiments, as well as to analyze and interpret data;
  3. an ability to design a system, component, or process to meet desired needs;
  4. an ability to function on multi-disciplinary teams;
  5. an ability to identify, formulate, and solve engineering problems;
  6. an understanding of professional and ethical responsibility;
  7. an ability to communicate effectively;
  8. the broad education necessary to understanding the impact of engineering solutions in a global and social context;
  9. a recognition of the need for, and an ability to engage in life-long learning;
  10. a knowledge of contemporary issues; and
  11. an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice

Correlation of outcomes

The following table correlates the desired course outcomes with the desired program outcomes they support.

desired program outcomes
desired course outcomes 1