EE285 (CS241) is a project-centric course for students who want to learn
about building embedded systems. Over the quarter, each student builds a display for a
bicycle wheel, which displays images or colorful patterns as the wheel turns.
Students build the electrical system, enclosure, and LED strips along
wheel spokes. They program an embedded computer to control the LEDs in desired
patterns based on the wheel's rotational speed. Each student builds their
own wheel display, but do so working together in teams throughout the quarter.
The class is limited to 20 students. If it is significantly
oversubscribed, we'll ask students to fill out a simple survey on the first
day of class and select who can take the course based on background and
preparedness. Since this (like most) embedded system involves a mix of hardware,
software, and mechanical design, we will try to balance the course so each area
has some students with that expertise.
Course material includes:
- Interrupts and concurrent programming
- Deterministic timing and synchronization
- State-based programming models
- Filters, frequency response, and high-frequency signals
- Low power operation and energy budgets
- Bus protocols and tradeoffs
- Operating systems
- Part selection, hardware/software tradeoffs
- System design, PCB design
- 3D printing and mechanical design
The prerequisite for the course is CS107 (or equivalent), that is, comfort with C.
It is intended to be accessible to engineering students broadly from the entire school,
including both undergraduates and graduate students. The course would count as a
general CS elective. The course meets twice a week for 2-hour lab sessions in
lab64 (the EE Maker lab).
The educational goal of the course is for students to learn how to design, build, and
test embedded systems from hardware to software. The wheel display uses a Teensy 3.6
as its core processor.