• Elements of embedded systems (with program examples of each)

NOTE: emphasize a top-down program structure with subroutines for each one.

logical IO - digital inputs and outputs

analog outputs - immediate

analog inputs - delayed in (show use of nops and loop to wait), use potentiometer

timers including PWM to control transisor/h-bridge for motor control, show sound generation also.

counters including encoder decoding and tachometer decoding

serial IO

other peripherals such as displays, sounds, etc.

• Control system fundamentals

a simple PID feedback loop using nops and time calcs to ensure time

a multiple step process that waits for an input and does a task with the PID loop. Show an executive subroutine and calls to

dealing with events

event types; asynchronous, delayed



• Concurrent processes

single thread vs concurrent processing

how to implement a single control thread

how to create multiple processes


the need for multiple processes

non-time critical

time critical; regular updates and minimum time between runs

priority levels

hard vs. soft



• Structured Design

General systems design topics

show the general structure of a program with an executive routine that calls task routines.

show a program that mixes an asynchronous GUI mixed with a realtime routine

Modal System design

show the use of global mode bits to track the mode of the system

show how the mode bits changes the flow of execution in the executive routine.


map flowchart structures to program structure

using a register value to track the location in the flowchart

State Diagrams

show the use of state diagrams to model a process and then how the program is written for it.

Failure Analysis

show basic probability theory

show parallel vs serial failures

show failure estimation using theory for single and chained failure modes

show the methods for categorizing failures as a hazard, danger, etc.


• Communication

Receiving and sending strings

String Handling

Parsing strings

Composing strings

Command and response structures

Error Checking

Non byte oriented data

Networked structured, ie destination address header

A full feedback control system

• Other topics

Keyboard multiplexing

output refreshing, LEDs