ECE 4760 deals with microcontrollers as components
in electronic design and embedded control. The course is taught
by Bruce Land, who
is a staff member in
Electrical and Computer Engineering. The course is currently taught using PIC32MX processors.
Before 2015 we used Atmel ATmega.
Final Projects | Assignments | Staff/Schedule | Links | Search | 2017 Lectures
Assignments Lab exercises | Reading | Policy | Piazza
Suggested background (homework) and Final Project Proposal
- 1. Sound synthesis
- 2. Video game
- 3. Motor controller
- 4. Final project proposal -- Due at 2359 Sunday Oct 20
Lab Exercises
- 1. Construct board and Synthesizer (weeks of Sept 2, 9, Sept 16)
- 2. TFT-LCD video game (weeks of Sept 23, 20, Oct 7)
- 3. 1 DOF helicopter controller (weeks of October 14, 21, 28)
- 4. Design project (weeks of Nov 4, 11, 18, 25, Demo week of Dec 2).
--See policy page for writeup examples. Possible new labs.
Reading
All semester:
- POLICY PAGE: This is the implicit contract you are agreeing to by taking the course!
- Tektronix TDS1002 oscilloscope manual
- B&K 4040a signal generator manual
- --- PIC32 specific manuals ------------ -------------------------------------------------
- PIC32 hardware manual sections (local copy of Full Manual -- HUGE)
- PIC32 Peripheral Libraries for MPLAB C32 Compiler (local copy)
- PIC32MX2xx datasheet -- Datasheet errors! Errata
- MPLABX IDE users guide
PIC32 I/O pin and Configuration bit details - Specific header p32mx250f128b.h for info only. The complier includes this for you
- PIC32MX1XX/2XX Interrupt Table 1, 2
- PIC32 interrupt IRQ names and vector names int_1xx_2xx.h for info only. The complier includes this for you
- --- ProtoThreads and Sean Caroll's Big board (SECABB) --------------------------------
- ProtoThreads on PIC32: background and current version
- Development Board page (including example codes for ProtoThreads 1.3.2)
Lab 1:
- Reference Manual sections 12, 14, 15
- PIC32 Peripheral Libraries for MPLAB C32 Compiler sections 10, 11, 12
- Getting started with PIC32
- Class Overview and Policy
- Notes on ESD How to avoid killing chips (Microchip)
- Reference Manual sections 23
- PIC32 Peripheral Libraries for MPLAB C32 Compiler sections 14
- Browse the help in MPLABX to investigate xc32 Peripherial Libraries and Standard Libraries
Lab 2:
- Reference Manual sections 17, 20, 31
- PIC32 Peripheral Libraries for MPLAB C32 Compiler sections 18, 19, 3
Lab 3:
- Reference Manual sections 21
- PIC32 Peripheral Libraries for MPLAB C32 Compiler sections 16
General:
- Synthetic Serendipity (IEEE Spectrum, Volume: 41, Issue: 7, Year: July 2004) Off-campus link
- The Ariane 5 explosion
- IEEE code of ethics
- Ethical Issues in Empirical Studies of Software Engineering
- Student projects plagiarized
PIC32 Lectures (from Fall 2015, 2016, 2017) and PIC32 projects
AVR Lectures (from Spring 2012) and AVR final projects. (hackaday, hackedgadgets)
Old AVR-based home page (Fall 2014), Old Homework, Old Lab exercises.
Schedule and Staff Schedule | Staff
-
Lecture: MWF 12:20PM - 01:10PM in Phillips 203
-
Lab Sections (238 Phillips--Digital Lab):
DayTimeTAWednesday1330-1630LiamWednesday1630-1930EmmettThursday1330-1630BrianThursday1630-1930KatarinaFriday1330-1630David
Due dates
-
Lab:
Week:lab 1
week1
week2
week3lab2
week1
week2
week3lab3
week1
week2
week3final
project
week1final
project
last weekfinal
project
TBDWork
Duelab1
chkpt1lab1
chkpt2lab1
demo*lab1 report**
----
lab2
chkpt1lab2-
chkpt2lab2
demo*lab3
chkpt1
----
lab2 report**lab3
chkpt2demo lab3* lab3 report** demo
projectwebpage
due
*Demo by the end of the lab on the day specified, or before. -
Office Hours (in lab) EFFECTIVE Saturday 10/9/19:
DayTimeStaffMonday0900-1200BruceTuesday0900-1300, 1700-2100Bruce, Emmett, DavidWednesday0900-1630BruceThursday0900-1630, 1930-2100Bruce, Katarina, BrianFriday0900-1630BruceSaturday1400-1800Emmett, BrianSunday1400-1800Liam, Katarina
- Bruce Land, 214 Phillips Hall , BRL4@cornell.edu
- TAs:
- Brian Dempsey bjd86@cornell.edu
- Katarina Martucci kmm398@cornell.edu
- Emmett Milliken eam348@cornell.edu
- Liam Patterson lgp36@cornell.edu
- David Pirogovsky dap263@cornell.edu
Links Cornell | C-language | History
- PIC32 Staff Maintained
- Final Projects and Ideas for Microcontroller projects
- Lab supporting docs
- PIC32MX250 peripherials
- Direct Memory Access (DMA) event table, block diagram (DMA weird machine)
- Input/output ports (I/O)
- Comparator
- Time ( timers, input capture, output compare, oscillators, RTCC)
- Serial Peripheral Interface (SPI)
- Inter-Integrated Circuit (I2C)
- Serial using UART (UART)
- Analog to Digital Converter (ADC)
- Charge Time Measurement Unit (CTMU)
- Real Time Clock (RTCC)
- Vref as a digital-to-analog converter (CVREF)
- Power Managment
- Interrupts on PIC32
- Interfaces
- Applications
- Software
- --------------------------------------
- PIC32 experiments
- DMA event table
- DMA block diagram
- -- PIC32 Student written --
- USB mass store for PIC32 -- Douglas Katz, Fred Kummer
NRF24L01 library for PIC32 -- Douglas Katz, Fred Kummer
Tahmid's Blog -- Syed Tahmid Mahbub
Port Expander (ZIP code) -- Sean Carroll
Small target board assembly -- Sean Carroll
Large target board assembly -- Sean Carroll - TFT, USB, Ethernet, Dev Boards -- Alex Whiteway
- PIC32 pinout email am859@cornell.edu for corrections
- USB -- Qinrong Yu
- WiFi using ESP8266 -- Mikhail Rudinskiy
- Development board -- Michael David Ross
- -- IP concerns --
- Plagiarized 4760 projects (2011)
- Plagerized 4760 projects (2015)
- C compiler information
- PIC32 standalone information
- PICKIT3 and PIC32
- PICKIT3 and PIC32
- PICKIT3 users manual
- Tahmid's dev setup -- Tahmid's blog
- MCP1702 3.3 volt LDO regulator (MCP1702-3302E)
- USB
- USB HID Class on an Embedded Device AN1163
- M-stack USB stack
- Computer history
- Computer History Muesum
- Computer history at Cornell
- Relay Computer
- Digi-Comp I toy state machine 1963 (current vendor) images,
- Turing Train Terminal
- Wireworld computer, wireworld, wireworld
- Lego Turing Machine (details)
- Eniac Museum, Eniac story, Technical Report, ENIAC was announced on Feb 14, 1946
- Manchester Mark 1 1948
- Ferranti Mark 1 1951 --First commerically available computer
- IBM 650 1953 --First computer in ECE
- Bendix G-15 and computer museum 1958 --First computer I used
- IBM 1620 1959 --The only computer at my college in 1964
- IBM System/360 --The main computer at Cornell in 1968
- IBM 1800 --The first "embedded" computer I used 1969 at Cornell
- DEC GT-40 -- The first "lab" computer I used in 1975 at Cornell
Page Stats
YouTube statistics (from YouTube analytics). Includes 4760, 5760 and MEng projects.
As of July 2019:
Total video views 7,200,000.
Total minutes watched 13,700,000.
Total Subscribers 31,600.
Comparison of pages views for 2008 and 2009 shows the striking repeatability of student access. The class size was the same (100+/-2) each semester. Note peaks on Monday and Wednesday (heavy lab days), the drop during spring break, and small drops on the second week of two week long labs. During April, the weekly pattern breaks down because the students are working on final projects. I don't know what causes the large fluctuations during this time.