PIC32 DEVELOPMENT for ECE4760

By Alexander Keith Whiteway

top

Abstract:
The PIC32 Development project aims to bring the new technological breakthroughs
of 32-bit microcontrollers into the hands of Cornell students. With 32-bit processing
(as opposed to the 8-bit microcontrollers used in courses today), learning incredible
and advanced peripherals such as USB, Ethernet, and high definition graphics
(among others) becomes realizable. The goal of the project is to learn how these
peripherals work and how to implement them on such an advanced platform.
Though Microchip (PIC32 manufacturer) provides a TCP/IP stack, USB stack, etc. as
well as example code, they are incredibly complex, confusing, and error prone.
Throughout this project, these resources will be combined to make simple APIs for
students to use, vastly decreasing complexity and development time for laboratory
exercises and projects. Once the firmware is stable, custom circuitry will be
designed and manufactured with everything needed to use these peripherals so that
students can focus on the bigger picture and not on details such as choosing the
right magnetics for Ethernet. Upon completion of the project, future students will
have: A custom circuit board built specifically for laboratory assignments, a clean
and simple API for using advanced peripherals (along with example code), and
thorough (but not cumbersome) user manuals on how to use all aspects of the board
and firmware. These deliverables will expose Cornell students to some of the most
advanced microcontrollers on the market today, replacing the decades old
technology that is currently used in the classroom.

Full report (pdf)

Poster

Code