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 9th, 5pm |
HW 1 (pdf,code) | Start of class, Thurs, Jan 17 |
HW 2 (pdf) | Start of class, Thurs, Jan 24 |
Lab 1 (pdf,html*) | In class, Thurs, Jan 24 |
HW 3 (pdf,code) | Start of class, Thurs, February 7 |
Lab 2 (pdf,html*,code) | In class lab, Thurs, Jan 31 |
Lab 3 (pdf,html*,code) | In class lab, Thurs, February 7. Robot checkoff due before class, Thurs, Feb 21 |
HW 4 (pdf,code) | Start of class, Thurs, February 28 |
Lab 4 (pdf,html*) | In class lab, Tues, February 26. |
Project 1 (pdf) | Checkpoint: Thurs, March 7 in class
Competition: Thurs, March 14 in class Written Report: start of class Tues, March 26 |
HW 5 (pdf) | Start of class, Thurs, April 4 |
Lab 5 (pdf,html*,code) | In class lab, Thurs, March 28. |
Lab 6 (pdf,html*) VCNL4000 Ranger Info: Sparkfun, Datasheet, Application Note, Sample Code | In class lab, Thurs, April 4. |
Project 2 (pdf) | Checkpoint Wall Following: Tuesday, April 16 in class
Checkpoint Obstacle Avoidance: Thursday, April 18 in class Competition: Tuesday, April 23 in class Presentation: Thursday, April 25 in class (slides emailed by 9:00am) Written Report and Survey: Friday, April 26 at 4pm |
Week | Class Topics | Labture | Reading |
Week 1, Jan 7 | course intro, c programming | R2.1, R2.2, R2.4 | |
Week 2, Jan 14 | embedded system design, arduino intro, basic circuit diagrams | R2.5, R2.6, R2.7, R2.8, W1.1, W1.2 | |
Week 3, Jan 21 | instruction sets, registers and mem access, digital I/O | LEDs and buttons | W2.1, W2.2, R6.* |
Week 4, Jan 28 | timers, debugging | timers and I/O | W3.1, R7.* |
Week 5, Feb 4 | debugging, pulse width modulation (PWM) | servos | R4.* |
Week 6, Feb 11 | PWM, review | ||
Week 7, Feb 18 | analog to digital converters (A2D) | analog sensors | R8.* |
Week 8, Feb 25 | CPU bus, communication protocols (UART, SPI, RS485) | W4.1, R10.1 to R10.1.3 | |
Week 9, March 4 | interrupts | interrupts, communication | |
Week 10, March 11 | project 1 competition | W3.1.4, W3.2, R9.* | |
NO CLASS SPRING BREAK | |||
Week 11, March 25 | I2C, peripherals, sensors | I2C | R10.1.2 |
Week 12, April 1 | Embedded Operating Systems | i2c | W6.1, W6.2, W6.3 |
Week 13, April 8 | embedded systems applications, review | ||
Week 14, April 15 | power management, embedded algorithms, program optimization | Project checkpoint | W5.5, W5.6, W5.7 |
Week 15, April 22 | final project competition | final project competition |