Cornell University
Electrical Engineering 476
Overview and Policy


Prerequisites
ECE 314 or ComS 314 or Permission of Instructor (ECE 315 strongly recommended). You need to know C programming, some electronic construction and a fair amount of math for this course. When in doubt, talk to the instructor.

Optional Textbook:
Embedded C Programming and the Atmel AVR
by Richard Barnett, Larry Cull, and Sarah Cox
ISBN 1401812066

Labs will be based on web pages and Atmel MCU documentation. We will expect you to become completely familiar with detailed MCU information from Atmel. Essentially, you will have to memorize about half of the 320 page data sheet. The optional textbook may be useful for students with weak C programming skills.

Purpose
The purpose of this course is to enable its students to carry out sophisticated designs of the modern digital systems which now appear in products such as automobiles, appliances and industrial tools. The basis of such systems is the microcontroller, a microcomputer optimized for single-chip system design by possessing many peripheral devices geared to real-time applications. The microcontrollers we will use are the Atmel MEGA series RISC microcontrollers.

This course is a design course. This means that we will expect you to show considerable creativity, flexibility, and motivation.
In particular you will need to:

In other words, we are trying to make it a little like the real world.

Course Work

There will be lab assignments and a final project. If I think it is needed, there will be weekly quizzes.

The course grade will be calculated as follows:

Laboratory Policies

You are expected to attend your assigned lab period every week and to finish the lab assignment in the alloted time. There is no makeup lab time available. You must finish the assignment in the alloted 3 hours, or you will lose up to 25% of your lab grade. All negotiations concerning lab absences due to plant trips or sickness are to be conducted with your lab instructor. For plant trips you must notify your instructor in advance.

You are expected to be familiar with the assignment before coming to lab. Familarity includes knowledge of all on-the-fly notifications made by email, SMS, etc. Within 24 hours, you have to know the content of communications. Homework must be finished before the lab session. Roughly 25% of your lab grade depends upon being prepared. Another 25% depends on the quality, quantity and character of the work done during the lab period. The remaining 50% will be based on your lab writeup. Similar ratios (20,30,50) are used to evaluate the final project.

Lab work will be in groups of 2 or occasionaly three. All members are expected to become proficient with all aspects of the lab. Where each has prepared design work or code assigned as homework, the group design will involve negotiation. The members of a group may be graded differentially if it becomes obvious that one person is doing the bulk of the work.

Laboratory Reports

Each laboratory assignment requires a written report. You will submit a single report for your group. The report must be handed in at your assigned lab section, one week after the lab is finished. The report should be submitted as a collection of pages stapled or bound together.

The report should be a concise documentation of the project assigned. The presentation should be arranged so that any reader with technical competence in the subject can easily understand what was done and how it was done. The following report organization is suggested:

  1. Introduction: Give a short explanation of what was done. This will include the homework assignment answers.
  2. Design and Testing Methods: Explain the approach you used for both software and hardware aspects of the assignment. Be sure to include the design of tests whose outcome are convincing to the reader (or to the instructor in the lab) that the requirements of the assignment have been met.
  3. Documentation: Include here drawings and program listings, together with any explanatory comments needed.
  4. Results: How fast was it? How accurate was it? What were the error ranges?
  5. Conclusions: Useability, what you might have done differently, etc. Any comments concerning the assignment, including suggestions for improvement, excuses, and complaints.
  6. Answers to specific questions given in the lab writeups.

The TAs has expanded on this outline with an example report and another and another.

Access to computers

You and your partner will have use of a PC, microcontroller evaluation board, and peripheral breadboard in Phillips 238 during your assigned lab period. Students from other lab periods may use setups not needed by students attending their assigned lab.

N.B. Machines and file systems sometimes die. You should always back up all your work. There is no excuse for lost work, even if it is because of a compiler or other system error.