ECE 4760/5730, Cornell University

Digital Systems Design Using Microcontrollers - V. Hunter Adams

Design of real-time digital systems using microprocessor-based embedded controllers. Students working in groups of 2-3 design, debug, and construct several systems that illustrate and employ the techniques of digital system design acquired in previous courses. The content focuses on laboratory work. The lectures are used primarily for the introduction of examples, description of specific modules to be designed, and instruction in the hardware and high-level design tools to be employed.

This is a Cumulative Design Experience (CDE) course. As such, lab exercises in this course will draw upon and synthesize as much material from the undergraduate electrical and computer engineering curriculum as possible. Students will implement concepts from differential equations, physics, a variety of coding classes, digital signal processing, analog circuits, control theory, computer graphics, robotics/mechatronics, and more in real, physical projects.

The course is taught by Hunter Adams, who is a staff member in Electrical and Computer Engineering. The course is currently taught using the RP2040 microcontroller on the Raspberry Pi Pico development board.

Please note that this is the new course webpage. If you are looking for the previous one, click here.


Lecture recordings

  • YouTube playlist linked here and embedded below.



Student final project demonstrations

  • YouTube playlist linked here and embedded below.
  • Student webpages available here

Course infrastructure

Algorithms and techniques

Communication protocols

Lab exercises from previous semesters

Applications and projects

Hunter (RP2040)

Bruce (RP2040)

Hunter (PIC32)

Bruce (PIC32)

Raspberry Pi technical documentation

Student-generated documentation


Course information

Teaching staff

  • Instructor: Hunter Adams (Cornell page, personal website)
  • Retired instructor: Bruce Land (website)
  • Teaching Assistants
    • Sarah Ellenbogen (sje57)
    • Alex Scotte (ajs667)
    • Nikhil Satheesh Pillai (ns594)
    • Mahmoud Elsharawy (mse63)
  • Course dog: Pickles

Lecture and lab schedule

  • Lectures (Gates G01): MWF, 12:20-13:10
  • Laboratory sections (Phillips 238): MWRF, 13:25-17:25 ; R 8:00-11:00
  • Extra lab hours (Phillips 238): TRF: 18:30 - 21:30
  • Office hours: You may come to any lab section and I'll be there. If you'd like to meet individually, please send me an email.

Lecture recordings

Course policy, grading, and lab report expectations

  • Policy page: This is the implicit contract to which you are agreeing by taking this course. Please read it.

Previous course webpage (PIC32)

  • Link here: Contains information that you may find useful and interesting!

Canvas site

  • Link here: Will be used to turn in all assignments

In the news!


Life after ECE 4760/5730

Publish your project!

Take ECE 5760

  • Course webpage: A similar course based on system-on-a-chip and FPGA design

$\hspace{2mm}$ $\hspace{2mm}$ $\hspace{2mm}$ $\hspace{2mm}$
Code