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. ECE 4760 thanks Atmel for their donation of development hardware and microcontrollers.
Final Projects | Policy | Assignments | Staff and Schedule | Links | Lectures (sp'12)
Assignments Homework | Lab exercises | Reading
Homework
- 1. Due at the beginning of lab 1
- 2. Due at the beginning of lab 2
- 3. Due at the beginning of lab 3
- 4. Due at the beginning of lab 4
- 5. Due the second week of lab 3
Lab Assignments
- 1. Capacitance meter (weeks of Sept 8, Sept 15)
- 2. Cricket Call Generator (weeks of Sept 22, 29)
- 3. Video Game (weeks of Oct 6, October 13)
- 4. Motor controller and tachometer (weeks of October 20, 27)
- 5. Design project (weeks of November 3, 10, 17, 24 Demo week of DEC 1).
Old Lab exercises. See policy page for writeup examples. Possible new labs.
Lectures (from Spring 2012) and final projects. (hackaday, hackedgadgets)
Reading Assignments
All semester:
- Tektronix TDS1002 oscilloscope manual
- B&K 4040a signal generator manual
- Mega1284 datasheet with the essential page 553-556 register summary
- Some material which might be useful:
- The C Programming Language, BW Kerninhan and DM Ritchie, second edition, Prentice Hall, errata
- Practical Electronics for Inventors, Paul Scherz, second edition, McGraw Hill, errata
- Essential C from Stanford
Week of Aug 20:
- Mega1284 datasheet sections 1 to 5 and 12 to 14
- Class Overview and Policy
- Notes on ESD How to avoid killing chips (Microchip)
Week of Aug 27:
- Mega1284 Timers
- Mega1284 datasheet sections 1 to 5 and 12 to 14
- AVRlibc browse for long enough to figure out where the useful stuff is. Particularly the library ref.
Week of Sept 10
- Mega1284 datasheet sections 19 and 20
Week of Sept 24:
Week of Oct 1
- Mega1284 datasheet sections 9 to 11 and 18
- Motor overview
- stdio
Week of Oct 29
- Synthetic Serendipity (IEEE Spectrum, Volume: 41, Issue: 7, Year: July 2004) Off-campus link
- Will programmers become obsolete? ( The Blacksmith and the Bookkeeper Part 1), Part 2, Part 3
Week of Nov 5
- The Ariane 5 explosion
- Patriot Missile Failure
- An Investigation of the Therac-25 Accidents
- Therac-25 (MIT)
Week of Nov 12
- IEEE code of ethics
- Ethical Issues in Empirical Studies of Software Engineering
- Student projects plagiarized
Schedule and Staff Schedule | Staff
-
Lecture: MWF 12:20PM - 01:10PM in Phillips 203
-
Lab Sections (238 Phillips--Digital Lab):
DayTimeTATuesday1630-1930TahmidWednesday1630-1930EileenThursday1330-1630AhmedThursday1630-1930AlexFriday1330-1630Yuanyuan
- Homework and lab reports are due within 5 minutes of the beginning of lab on the day specified below. Demo by the end of the lab on the day specified below, or before.
-
Lab:
Week:lab 1
week1
week2lab2
week1
week2lab3
week1
week2lab4
week1
week2final
project
week1final
project
last weekWork
DueHW1 demo
lab1HW2
&
lab1 reportdemo lab2 HW3
&
lab2 reportdemo lab3
&
HW5HW4
&
lab3 reportdemo lab4 lab4 report project:
-demo
-webpage -
Office Hours (in lab):
DayTimeStaffMonday0900-1200; 1630--1930Bruce, EileenTuesday0900-1300; 1630-1930Bruce, TahmidWednesday0900-1200;1330-1630, 1630-1830, 1930-2230Bruce, Sahil, Alex, TahmidThursday0900-1630, 1630-1830, 1930-2130Bruce, Ahmed, AlexFriday0900-1200; 1330-1630Bruce,Saturday1100-1400, 1400--1700Ahmed, SahilSunday1100-1600, 1600-1800YuanYuan, Alex
- Bruce Land, 214 Phillips Hall , BRL4@cornell.edu
- TAs:
- Yuanyuan Gong
- Alex Jaus
- Ahmed Kamel
- Eileen Liu
- Syed Tahmid Mahbub
- Grader:
- ?
Links Cornell | Atmel | Design | Comm | Eng&society | Other courses
- Cornell staff-maintained pages
- Final Projects and Ideas for Microcontroller projects
- Mega644/1284 Prototype board and useful parts list
- Infrared communication on Mega644/1284/GCC (Circuit Cellar)
- Timers and eeprom on mega644/1284
- Video Generation with Mega644/1284
- Speech Generation with Mega644/1284
- Fixed point math for mega644/1284
- Floating Point math for mega644/1284
- DSP on mega644/1284 Musical note generation (Circuit Cellar)
- A/D and D/A on mega644/1284
- GCC assembler
- Serial Peripheral Interface (SPI) Mega644/1284
- Real time kernel on Mega644/1284
- Language Interpreters on Mega644/1284
- Debugging the MCU and STK500
- PCB surface-mount adaptors
- Plagiarized projects (2011)
- --- Mega 32 ---
- GCC Mega32 project examples
- A/D and D/A Mega32/codevision
- Speech generation on Mega32/codevision
- A preemptive, multitasking OS Mega32/Codevision
- Command line debugger Mega32/codevision
- --- Assembler projects ---
- Organizing your programs
- A simple keyboard monitor
- RS232 serial communications with AVR
- --- PIC32 ---
- PIC32 experiments
- Tahmid's Blog
- Cornell student-written pages
- Using the 2.4 GHz Transceiver nRF24L01+
Application Programming Interface For 2.4 GHz Transceiver nRF24L01+ - Wireless Protocol by Meghan Desai
- Interactive Mega32 debugger by William Goodrich
- Keypad library by Richard West
- COMATOS by Ben Greenblatt
- COMATOS optimizations by Nick Liu
- Digital Oscilloscope by Reid Gurnee
- BUG: Hexapod Walker by Nidhi Kalra
- Mixed Signal AVR simulator by Engin Ipek
- Slotcar -- A possible ECE476 motor lab by John Stang
- Wireless ECG by Mathew David Melnyk and Joshua Marc Silbermann
- Embedded Mega32 webserver by Jeremy Tzeming Tan
- Wireless Retrieval of Vital Signs via RFID by Daniel Golden
- Electric field animal presence detector by Catherine Kung
- Improved webserver code by Eric Mesa and Richard West -- report
- A MESSAGE PASSING INTERFACE FOR MULTIPROCESSING on Mega32 By Kalim Moghul
- Zigbee Wireless network By Scott Bingham and Yunfan Donald Zhang
- Full list of ECE491 and ECE690 projects (includes non-microcontroller projects)
- Using the 2.4 GHz Transceiver nRF24L01+
- Atmel Software and Data Sheets
- STK-500 data sheet
- STK-500 schematic
- AVR Instruction Set
- AT90S1200 data sheet pdf : AT90S4414 data sheet pdf : AT90S 4414/8515 summary data sheet pdf
- Mega163 data sheet
- Mega32 full data sheet ; Mega32 summary
- AVRISP MKII
- Atmel MCU design information
- General information
- Atmel Application notes
- AVRFreaks
- AVR web ring
- AVR links page.
- Microcontroller.net
- C Tutorial (Stanford)
- Atmel C compiler information
- Other languages
- FORTH compilers
- pFORTH
- PFAVR -- An ANS Forth Implementation for the Atmel AVR
- Forth Interest Group
- attoBASIC
- BASIC and C resouirces (Ron Nicholson)BASIC written in C and BASIC written in C
- BASIC written in obfuscated C and another one
- Pymite -- Python for microcontrollers
- General information
- Atmel MCU realtime operating systems
- Larry Barello's AVR, RTOS and Robotics
- AVR Minithreads
- Salvo (Pumpkin Inc)
- embOS (Segger)
- NutOS (ethernut)
- FreeRTOS
- aOS and the local copy: Experiments with a preemptive, multitasking OS
- TinyRealTime (local copy of report) and Port to Mega644
- General design information
- Proverbs and quotations
- microcontroller.com
- TDS210 capture code for Matlab (Prof. L. Stanley Durkin, Ohio State) Users guide
- ASCII codes and VT100 (hyperterm) escape codes
- Embedded Systems Magazine.
- Circuit Cellar magazine
- Nuts and Volts magazine
- Embedded Related
- Tom Loredo's Electronics
- Dick Cappels' Project Pages (LCD, RF and attoBASIC)
- Alan Parekh's projects
- www.mikrocontroller.net
- Beyond Logic
- How To Write Unmaintainable Code
- Ganssle Group
- Embedded Muse
- Articles on design
- Debouncing contacts
- Firmware Standards Manual
- Watchdog Timers
- Commenting Firmware
- How to Become an Embedded Geek
- Floating Point
Approximations
- Video Chips
- MC6847 data sheet
- ELM data sheet
- NTE879 RGB encoder
- SAA1101 synch generator
- LM1881 sync separator (national) and EL1881 synch separator (intersil)
- TV tutorials
- Video Display
- STIGLitz fast video by thread integration
- AVRcamColor video (PIC version, SX version, AVR version)
- Color LCD
- Serial LCD (crystalfontz) Serial graphics LCD (MicroEngineering labs)
- Using graphics LCD (Dincer Aydin)
- KS0108 Controller and code
- Practical Analog Design (from Circuit Cellar)
- Single power supply opamp circuits (TI)
- Linear circuit collection (Linear Technology)
- Micropower circuts (Linear Technology)
- Single supply amplifier (EDN)
- Charlieplexing LEDs, and another
- Charlieplexing switches
- Discover Circuits
- National Semiconductor Texas Instruments Dallas Semiconductor/Maxim
- Field-programmable Analog Arrays (FPAA)
- Numerical Recipes in C
- Matlab (mathtools.net)
- Intro to DSP
- DSP applets
- DSP on MEGA32
- Bob Stout's math snippets
- Fixed Point arithmetic
- CORDIC (COordinate Rotation DIgital Computer)
- CRC error detection and code
- Direct Digital Synthesis (of sinewaves) by Martin Pechanec
- Direct Digital Synthesis (Jesper)
- Scale-invariant nonlinear digital filters (EDN, 1/24/2002)
- Floating Point coprocessor for microcontrollers
- Walsh/Hadamard transforms
- Fast Tranforms ( Jörg Arndt)
- Fast, in-place WHT and in C
- Fixed Point FFT
- AVR spectrum analyzer
- Karplus-Strong string synthesis (matlab simple string, matlab w/input filter)
- Musical instrument physical modeling and synthesis
- Physical synthesis
- Center for computer research in music and acoutics
- Digital Sound Synthesis
- DSPrelated
- Sinewave synthesis (Columbia)
- Linear Predictive Coding (connexions)
- Speech Synthesis
- Speech Compression
- PICtalker
- Flite: a small, fast speech synthesis engine (CMU)
- Speech chips
- Voice recognition module (Sensory Inc)
- DoubleTalk voice synthesizer (RC systems)
- TextSpeak (digital Acoustics)
- FreeTTS (sourceforge)
- Digital recorder chips (Eletech)
- VOICEBOX (Imperial College UK, written in matlab)
- IBM ViaVoice
- ADPCM (microchip.com)
- ADPCM (intel)
- Comparison of PID Control Algorithms
- PID Tutorial in Matlab
- DC motors
- Motor overview
- Generate stepper-motor speed profiles in real time
- Control of Stepping Motors
- ServoMotor description
- RC servos
- RC servos (acroname)
- Servo timing
- Piezoelectric motor (New Scale Tech)
- Tiny motors (Didel)
- PCBs with SMT Components
- Prototyping with Surface Mount Devices
- Prototyping SMD (Pegasus Systems
- SMT Magazine
- Energy-Aware Wireless Microsensor Networks
- Validation of a wireless modular monitoring system for structures
- Sensor Portal
- Useful Sensors for biology labs
- LEDs as sensors and more
- LED multitouch array
- Human interface projects
- Freescale (Motorola) robot sensors
- Mechatronics Resources (Colorado State)
- Mechatronics, IEEE/ASME Transactions on (For full text, go to Cornell Library links)
- Mechatronics, Elsevier (full text)
- Atmel balancing scooter
- Active Robots
- LED plethysmograph
- Galvanic skin response
- Electromyography low cost pulsometer -- Circuit Cellar Magazine #186 January 2006
- USB interface (ActiveWire)
- USB chips (Delcom)
- MAX3420 (maxim-ic.com)
- FTDI USB-UART
- AVR USB firmware Projects using AVRUSB
- Tiny web server (Siteplayer)
- Embedded web server (GeistTek)
- uIP Small TCP/IP
- uIP-AVR
- NTP server for AVR
- Web server in a RJ-45 housing (Lantronix)
- Microchip ENC28J60 single chip ethernet (Datasheet)
- Mciroship TCP/IP stack
- WIZnet
- PicoServ miniature web server
- Wireless/RF/Radios
- RF transmitter/receiver and GPS (Laipac)
- RF trans/rec (Abacom)
- Tranceivers (Aerocomm)
- Zigbee proecessor CC2480 (TI)
- Packet radios and trans/rec (Radiometrix)
- Radios (Lemos International)
- Tranceivers (Radiotronix)
- application notes, wireless 101, antennas
- LinxRF -- tranceiver by Pascal Stang
- Digital Radio Mondiale
- Zarlink low powered implantable tranceiver
- Near field wireless
- ECMA-340 and a local copy. This is also ISO/IEC 18092:2004
- NFC forum
- Phillips
- Zigbee.org
- Microchip stack for Zigbee protocol
- AtmelTranceiver (Chipcon)
- Module (MaxStream)
- XB24 (GridConnect)
- Data over power line Noise Generation
- Engineering and society
- Standards
Ethics
- IEEE code of ethics
- Software engineering ethics resources -- Code cases
- Ethical Issues in Empirical Studies of Software Engineering
- Engineering Ethics Links
- Online Ethics Center -- Computers and Software
- Info ethics
- Numerical Problems Associated with Ethics Cases
- Applied Ethics in Professional Practice
- Engineering Ethics
- Teaching engineering ethics with case studies
- Off the shelve software in medical devices
- Medical Devices: Therac 25
- An Investigation of the Therac-25 Accidents
- We did nothing wrong!
- Motor Industry Software Relability
- Safe systems
- The Ariane 5 explosion and A Bug and a Crash
- Patriot Missile Failure
- The sinking of the Sleipner A offshore platform
- Some disasters caused by numerical errors
- Crash and burn and more by Jack Ganssle
- The Case of the Killer Robot
- Topics in Dependable Embedded Systems
- Dependable Systems
- Embedded System Security
- FCC
- Understanding FCC regs for Low-power, non-licensed, transmitters
- What is Part 15?
- Part 15 RF devices
- PART 18--INDUSTRIAL, SCIENTIFIC, AND MEDICAL
- Part 68 -- connecting to the telephone system
- FDA
- GNU public license,
- List of licenses and OpenSource.org
- OpenCore including open source
- Rights and laws of the internet
- Software Freedom Law Center
- US patent office
- Cornell Center for Technology Enterprise and Commercialization
- BitLaw
- Electronic Frontier - IP online
- DOJ--cybercrime
- The Embedded Muse Will programmers become obsolete? ( The Blacksmith and the Bookkeeper Part 1), Part 2, Part 3
- Synthetic Serendipity (IEEE Spectrum, Volume: 41, Issue: 7, Year: July 2004) The Science behind the story
- Bad Human factors
- Human Factors in Programming Languages
- Enabling Technology for Users with Special Needs
- Human-Computer Interaction
- IBM 1800 process control computer
- The History of the Microcomputer
- Computer History Museum
- Great Microprocessors of the Past and Present
- Intel mcu comparison
- Intel 4004 the first microcontroller Intel 8008
- MosTech 6502 (Apple II)
- Intel 8080
- Intel 8088 (First IBM PC)
- Chronology of Personal Computers
- Events in ECE4760
- Computer history
- Computer History Muesum
- Computer history in ECE
- Computer history at Cornell
- Relay Computer
- TinkerToy computer and a picture
- Digi-Comp I toy state machine 1963 (current vendor) images,
- DigiCompII and a Lego version of a marble-logic computer
- Turing Train Terminal
- A Unary Multiplier Wrapped in a Turing Machine Wrapped in a Train Set Inside WireWorld
- Wireworld computer
- Eniac Museum,
- Eniac story,
- Technical Report, ENIAC was announced on Feb 14, 1946
- Manchester Mark 1 1948
- Ferranti Mark 1 1951
- IBM 650 1953
- Bendix G-15 and computer museum 1958
- IBM 1620 1959
- Lego Turing Machine (details)
- Standards
Ethics
- Other Courses
Page Stats
These statistics are for this page (from Google analytics), which contains assignments and schedules. The project page statistics are at the bottom of the project page.
Year |
Page visits |
Page Views |
Visitors |
Summary |
2000-2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 |
50,834 51,341 55,905 52,057 59,019 57,594 44,500 44,000 40,300 36,905 51,000 |
79,000 67,000 58,300 54,360 78,000 |
22,600 22,000 21,600 18,310 23,000 |
YouTube statistics (from YouTube analytics). Includes 4760, 5760 and MEng projects.
Year |
Video views |
Minutes Viewed |
Subscribers added |
---|---|---|---|
2012 (Feb-Dec) |
203,000 |
~1,000,000 |
1,390 |
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.