For detailed information on this course please see the course syllabus in html or pdf format.
In this course you will learn the basics of designing, interfacing, configuring, and programming embedded systems. We will make use of the Arduino platform, which is an inexpensive, popular embedded system used by hobbyists, researchers, and in industry, to implement the techniques learned in class. By the end of the course you will have mastered the basics of embedded system design and programming. This course will help to prepare you for cutting edge careers in industry and research.
Assignment | Due Date |
Course Survey | Weds, Jan 11, 5pm |
HW 1 (pdf,code) | Start of class, Thurs, Jan 19 |
HW 2 (pdf) | Start of class, Thurs, Jan 26 |
Lab 1 (pdf,html*) | In class lab, Thurs, Jan 26 |
Lab 2 (pdf,html*,code) | In class lab, Thurs, Feb 2 |
HW 3 (pdf,code) | Start of class, Thurs, Feb 9 |
Lab 3 (pdf,html*) | In class lab, Thurs, Feb 16
All individual check-offs by Thurs, Feb 23 in class |
Lab 4 (pdf,html*) | In class lab, Thurs, Feb 23 |
Project 1 (pdf)
Courses: Thin Curves, Angles, Thick Curves, Mystery Course. | Checkpoint: Thurs, March 1 in class
Competition: Thurs, March 8 in class Written Report: start of class Tues, March 13 |
Lab 5 (pdf,html*,code) | In class lab, Thurs, March 15 |
HW 4 (pdf) | Start of class, Thurs, April 5 |
Project 2 Overview (pdf)
Project 2 Checkpoints (pdf) Project 2 Writeup (pdf) Project 2 selected art results Project 2 survey |
Group Formation: Thurs, March 29th in class
Compass Checkpoint: Tues, April 17th in class Wheel Encoder Checkpoint: Thurs, April 19th in class Specified Art: Tues, April 24th in class Selected Art: Thurs, April 26th in class Written Report: Friday, April 27th at 5am Survey: Monday, April 30th at 5am |
Lab 6 (pdf,html*,code) | In class lab, Thurs, March 29 |
Lab 7 (pdf,html*) | In class lab, Thurs, April 5 |
Week | Class Topics | Labture | Reading |
Week 1, Jan 10 | course intro, c programming | R2.1, R2.2, R2.4 | |
Week 2, Jan 17 | embedded system design, arduino intro, basic circuit diagrams | R2.5, R2.6, R2.7, R2.8, W1.1, W1.2 | |
Week 3, Jan 24 | instruction sets, registers and mem access, digital I/O | LEDs and buttons | W2.1, W2.2, R6.* |
Week 4, Jan 31 | timers, debugging | timers and I/O | W3.1, R7.* |
Week 5, Feb 7 | pulse width modulation (PWM) | servos | R4.* |
Week 6, Feb 14 | CPU bus, comm protocols (UART, SPI, I2C) | W4.1, R10.1 to R10.1.3 | |
Week 7, Feb 21 | analog input | analog sensors | R8.* |
Week 8, Feb 28 | power management, program optimization | project 1 competition | W5.5, W5.6, W5.7 |
Week 9, March 6 | interrupts | encoders | W3.1.4, W3.2, R9.* |
Week 10, March 13 | embedded algorithms, feedback control | feedback control | |
NO CLASS SPRING BREAK | |||
Week 11, March 27 | embedded operating systems | schedulers | W6.1, W6.2, W6.3 |
Week 12, April 3 | peripherals, sensors | i2c | R10.1.2 |
Week 13, April 10 | embedded systems applications | ||
Week 14, April 17 | embedded systems applications | ||
Week 15, April 24 | Final Project Competition |