This page is no longer in use for ECE4760!
Students should refer to the new page (coming soon).
The material is for reference only! The new page uses DIFFERENT hardware and software!
===============================================================
ECE 4760 deals with microcontrollers as components
in electronic design and embedded control. The course is taught
by Hunter Adams, who
is a staff member in
Electrical and Computer Engineering. The course is currently taught using PIC32MX processors.
Final Projects | Assignments| Links | Lectures s2021, f2017
Assignments Lab exercises | Reading | Policy
Homework and Final Project Proposal
- 1. Bird call synthesis Homework
- 2. Boids Homework
- 3. Helicopter Homework
- 4. Final project proposal
Lab Exercises
1. Bird Song Synthesizer -- Week 1 Aug30 -- Week 2 Sept 6 -- Week 3 Sept 13- 2. Boids! -- Week 1 Sept 20 -- Week 2 Sept 27 -- Week 3 Oct 4
- 3. 1-DOF helicopter -- Week 1 Oct 11 -- Week 2 Oct 18 -- Week 3 Oct 23
- 4. Design project --- Demo Dec 8 to 10---Report due on date specified by Cornell
--See policy page for writeup examples. Possible new labs.
Reading
- POLICY PAGE: This is the implicit contract you are agreeing to by taking the course!
- Picoscope Software users guide
- --- 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)
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.
Old PIC32 home page (Fall 2019)
Links Cornell | C-language | History
- PIC32 Staff Maintained
- Final Projects and Ideas for Microcontroller projects
- Lab supporting docs
- ProtoThreads on PIC32
- PIC32 Development boards
- Remote Access interfaces for remote teaching spring 2021 (Day Zero lab s2021)
- TFT LCD display
- Keypad
- Port Expander
- Fixed Point Arithmetic systems
- PLIB, GCC and assembler considerations
- 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 (Bruce)
- 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
- RP2040: (hardware manual)