Overview and Policy for ECE 4760 at Cornell University

Please note that I have borrowed these policies from Bruce Land, and they are largely identical to those provided on the previous course webpage. Please also see the online syllabus for the course.


  • ECE 3140, or permission of instructor
  • You need to know C programming, electronic construction, and a fair amount of math for this course
  • When in doubt, talk to the instructor


  • Labs will be based on webpages, RP2040 documentation, and documentation from a variety of other sensors and peripherals
  • We expect for you to become completely familiar with detailed MCU information from Raspberry Pi


The purpose of this course is to enable 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 microcontroller we will use is the RP2040 from Raspberry Pi. There is a large design project which is due the last week of classes. There will considerable emphasis on hardware concurrency: Getting good performance by using all of the concurrently executing co-processors available on the microcontroller chip, including: DMA, timers, SPI, UART, ADC subsystem, PIO, I2C and others.

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

  • Hit the web to find your own answers to questions you have.
  • Read and understand every aspect of manufacturer's data sheets for a variety of devices.
  • Read class-related email daily. You are responsible for any course information communicated by email.
  • Use material from many of the courses you have taken at Cornell. Topics from ECE 2100, 3010, 3020, 3100, 3140, 4450, or 4750 may be useful in this course, particularly depending on the final project you choose.
  • Find solutions on your own from incomplete specifications. The lab assignments become more open-ended as the semester progresses. Clever, efficient solutions will be rewarded.

We are trying to make this a little like the real world.


The policy

This class is composed of laboratory assignments and a final project. You will be graded on these tasks, plus some consideration of class participation. The final design project demonstration is due the last week of classes. The grade breakdown is as follows:

  • 50% for laboratory assignments

    For each laboratory assignment:

    • 20% for weekly progress deadlines (evenly distributed across all weeks for a particular lab)
      • To make these deadlines, you must come to lab prepared. If you do not do any out-of-class preparations, you will not be able to meet these deadlines.
      • If you checkoff on the required progress deadline before the end of lab, you are expected to stay and work on the next checkpoint.
      • A late progress checkoff receives a zero grade.
    • 30% for the final laboratory demonstration
      • The system must meet specifications and be usable.
      • Lab demos to TAs will be done before the end of each lab exercise, in lab.
      • There will be no late final demonstrations for any lab. This policy is to prevent any students from falling behind on subsequent lab exercises.
      • A late demo receives a zero grade.
    • 50% for the laboratory report
      • Lab reports are due before the start of your next lab period.
      • Please see the Laboratory reports section of this webpage for information on content.
      • All submissions will be electronic to your TA, via Canvas
      • You must attend your weekly scheduled lab period, even if you have finished the lab assignment early!
      • No late assignments will be accepted without prior permission (excepting reasonable extenuating circumstances)
      • You will turn in one lab report per team. No written collaborations between groups is permitted. You are (of course!) encouraged to help anyone in lab.
      • A late report receives a zero grade.
  • 50% for the final project

    This is further broken down similarly to the laboratory assignments:

    • 20% for weekly progress deadlines (evenly distributed across all weeks of the final project)
      • For the final project you are responsible for establishing these weekly milestones.
      • You will report your progress to me in a weekly update (which may be either written or verbal)
      • NOTE: I know that plans change, and that sometimes things are harder than you think they might be!! As long as you are communicating with me and working at a reasonable rate, your grade will not be adversely affected by changes of plan.
    • 30% for the final laboratory demonstration
      • The system must meet the specifications that you set at the beginning of the project (i.e., did you build what you said you were going to build?)
      • The system must be usable.
      • For the final project, your demo will also be evaluated on its sophistication relative to other final projects. This is to prevent gaming the system by choosing an easy project.
      • A late progress checkoff receives a zero grade.
    • 50% for the final report
      • Please see this webpage for information on content.
      • You will create a webpage for your final project.

Hunter reserves the right to make small adjustments to your grade. You may help your grade by participating in class discussions. Excessive nonattendance of lecture may lower your grade. If you feel that you have been unfairly graded, you have one week from the time the assignment is handed back to request a regrade. To request a regrade, you must submit the assignment with a written description of your concern attached to the instructor (not the TA).

Reflecting on this policy

Building things is difficult, and sometimes unpredictable. It may be the case that you don't make a weekly checkpoint. This can sometimes cause students to panic, and sometimes doing the math to determine how much of your final grade each component of the course is worth can alleviate that panic. The contribution to your final grade (as a percentage) of each assignment and checkout is listed below.

Lab 1

  • Checkout 1: 1.1
  • Checkout 2: 1.1
  • Checkout 3: 1.1
  • Final demo: 5
  • Lab report: 8.3

Lab 2

  • Checkout 1: 1.7
  • Checkout 2: 1.7
  • Final demo: 5
  • Lab report: 8.3

Lab 3

  • Checkout 1: 1.7
  • Checkout 2: 1.7
  • Final demo: 5
  • Lab report: 8.3

Final Project

  • Weekly progress: 10
  • Final demo: 15
  • Final report: 25

Laboratory policies

You are expected to attend your assigned lab period every week and to finish the lab assignment in the alloted time. You must finish the assignment before the end of the alloted time, or you will lose up to 50% of your lab grade. You can, of course, start early on an assignment. All negotiations concerning lab absences due to planned trips or sickness are to be conducted with your lab instructor. For planned trips you must notify your instructor in advance.

During the lab sections in which there is project checkoff:

  • TAs first priority is to check people off.
  • TAs can help people only if there is no one waiting to be checked off.
  • If there are too many people to help, then the TAs will help students in the current section who are trying to finish on time.
  • Only then will there be time to help people from other sections.

Lab work will be in groups of 2 or 3. 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.

Each student in this course is expected to abide by the Cornell University Code of Academic Integrity.

Any work submitted by a student in this course for academic credit will be the student's own work. For this course, collaboration is allowed between partners in a group. Students agree that by taking this course all required papers may be subject to submission for textual similarity review to Turnitin.com for the detection of plagiarism. All submitted papers will be included as source documents in the Turnitin.com reference database solely for the purpose of detecting plagiarism of such papers. Use of Turnitin.com service is subject to the Usage Policy posted on the Turnitin.com site.

Examples of allowed/not allowed collaboration:

  • Allowed: All homework and code must be shared within a group.
  • Not Allowed Sharing of any material between groups. This includes unprotected GitHub or other code repositories. Unprotected code online will be considered a violation of Cornell academic integrity policy!
  • Allowed: Talking in lab about code with another group.
  • Not Allowed: Emailing code to another group or using another group's keyboard to type code.
  • Allowed: Showing another group your circuit.
  • Not Allowed: Wiring for another group, or lending them your circuit.
  • Allowed: Talking about the contents of a lab report to another group.
  • Not Allowed: Copying anything (even one sentence) from any web or print document, unless the source is stated and the quote is short.
  • Allowed: Using code from previous final projects or web sources with detailed attribution.
  • Not Allowed: Using code from previous final projects or web sources without attribution.

All students will abide by Cornell policy on Equal Education and Employment Opportunity. Exerpt:

Association with Cornell, either as a student, faculty, or staff member, involves participation in a free community where all people are recognized and rewarded on the basis of individual performance rather than personal convictions, appearance, preferences (including sexual or affectional orientation), or happenstance of birth. Cornell University's history of diversity and inclusion encourages all students, faculty and staff to support a diverse and inclusive university in which to work, study, teach, research and serve. No person shall be denied admission to any educational program or activity or be denied employment on the basis of any legally prohibited discrimination involving, but not limited to, such factors as race, color, creed, religion, national or ethnic origin, marital status, citizenship, sex, sexual orientation, gender identity or expression, age, disability, or protected veteran status.

Laboratory reports

Each laboratory assignment requires a written report. You will submit a single report for your group. The report should be submitted as an electronic document via Canvas.

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. You should write to a level of detail that, in 2 years, you could recreate your project (and understand the methodology!) using only your report. The following report organization is suggested:

  1. Introduction: Give a short explanation of what was done.
  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, flowcharts, schematics, 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.

Past TA's have expanded upon the above guidelines.

Here and here are some well done example reports.

Access to computers

You and your partner(s) 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.

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.

Academic concerns

If you are experiencing undue personal or academic stress at any time during the semester or need to talk with someone about a personal problem or situation, I encourage you to seek support as soon as possible. I am available to talk with you about stresses related to your work in my class. Additionally, I can assist you in reaching out to any one of a wide range of campus resources, including:

  • Your college’s Academic Advising or Student Services Office
  • Cornell Learning Strategies Center at 255-6310, http://lsc.sas.cornell.edu
  • Gannett Health Services at 255-5155, www.gannett.cornell.edu
  • Let’s Talk Drop–In Consultation and Support www.gannett.cornell.edu/Let’sTalk
  • Peer Support provided by Empathy Assistance and Referral Service at 255-EARS

DISABILITY-RELATED CONCERNS: Students with either an ongoing or short-term disability are encouraged to contact Student Disability Services (SDS) for a confidential discussion of their need for academic accommodations.SDS is located in 420 CCC building; phone number is 254-4545.