CE2810 -- Embedded Systems Software II

This class builds on CE-2800 and introduces C as a high level language for embedded systems programming. C pointers are introduced. C functions are introduced. Parameter passing by value versus using pointers is described. Interrupts in C are introduced and then the C/assembly interface is described. Designing modular applications by use of multiple files is described. Several subsystems, such as the USART and Timer system, are introduced. Key concepts are applied in laboratory exercises. (prereq: CE-2800 and SE-1010) (2-2-3)


On successful completion of this course, the student will:

The above course description and goals were taken from the official course description.

General Course Policies

Please review the general course policies webpage.


ATmega32 Development Board used in CE-2800.


Quizzes will be given nearly every week at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes will be given.


Unless stated otherwise, all laboratory assignments will be completed individually. All Lab assignments are worth 100 points per week (i.e., a two week lab assignment is worth 200 points).

My Schedule


Lab projects: 35%
Quizzes: 20%
Midterm Exam: 20%
Final exam: 25%
Total: 100%