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