ECE 4760: Laboratory 5
Design project.
Introduction.
For this exercise, we want you to pick a project, then design and build it.
During this period there will be no other assignments, so we expect you to
spend all of your time for this course on the project. As a rough estimate,
this means a minimum of 12 hours/week in lab. You will be expected to be in
lab at the usual times every week and to show significant progress each week of the project.
When choosing a project you will need to consider availability of hardware,
time available, a monetary budget, and your programming skill. You may want
to look at several of the links on the 4760 home page for project ideas.
Grading:
- Grades will be assigned by rank-ordering all projects in all sections, thus you will be competing against everyone in the class for this grade.
- 20% of your project grade depends upon being prepared each week and on the quality, quantity and character of the work done during each week. Each week in lab a one-page progress report may be due.
- 30% depends on the project demonstration at the end of classes.
- 50% will be based on your project writeup.
- The members
of a group may be graded differentially if it becomes obvious to the staff that
team members are not contributing equally.
- There will be a bonus for finishing early. The
bonus=round(2.7*(floor(days).^0.5))
.
(Table) Note that fractions of days early are
eliminated by this function. This bonus is designed to reduce lab congestion
during the last week and to reward good design in a real-world fashion. If you intend to finish early, you must hand in all
written work before you demo, then demo your project to Bruce.
Web pages, social media, and contests
- You must write a web page and demo the page when you demo your project.
This page will serve as a clean draft of the page you must hand in the day of the scheduled final exam for this class.
This web page is a draft your final report. You must print a copy directly from the browser print buttion and hand it in when you demo.
This web page must be portable in html format and not linked to a propietary server (for example http://www.wix.com/ is unacceptable).
If you
optionally submit your project for inclusion on
the course page, then you do not have to print source code.
- You may optionally submit your project for inclusion on
the course page. See the bottom of this page (see below), for details.
If you will ever be asking me for a recommendation, I suggest that you submit your project. The project web pages help me remember the details of a project and person.
- I will submit student videos to YouTube for inclusion on the ece4760 channel, with your permission.
- You might consider submitting your projects to hackaday, reddit, hackedgadgets, or other blog sites. I will also do this.
- I will help any group to try publishing their project in a print magazine. About 16 student projects have gotten into Circuit Cellar Magazine. A few have gotten into the peer-reviewed literature, usually with more work as an independent study.
- There will be a project contest sponsored by ECE and held on ECE
day.
To enter, you will need to demonstrate your project at the contest and produce
a poster describing the project. (Poster template.)
For the demo, your project must be portable enough to show in Duffield atrium.
Procedure:
Depends on what you will build. You should talk often to your lab instructor.
You can use either ASM or C or a mixture of the two. If you need more
than one cpu, you will have to build a prototype
board, which will count against your budget.
Special project restrictions:
No projectile devices or weapons of any kind will be allowed as projects.
No drug or alcohol related projects will be allowed (except perhaps a breathalyzer or similar device, with appropriate restrictions).
No Arduino libraries will be allowed without special permission.
Budget considerations:
Your budget will include MCU(s), boards you build,
power supplies, parts you order, and everything else you buy.
Hardware you already own is included in the budget. Budget exceptions:
- Vendor samples are not inlcuded in the budget. Good places to find samples:
- Hardware you can scrounge is not included in the budget. Be prepared to explain where it came from.
- Projects which involve research groups or design projects outside the course will be considered on a one-by-one basis for budget exceptions. This is to encourage collaboration with ongoing projects at Cornell. You must get this exception approved by the instructor.
The instructor will order
parts from the following vendors once/week, on Monday at 0800. To order a
part, you need to email the instructor the EXACT part number as given at the
vendor's site (the vendor's part number, not the manufacturer part number),
the vendor name and the price. Parts with typos in the part number will not
be ordered. Parts which are backordered will not be ordered. Parts with a total (for
the whole project) value/group exceeding $20 will not be ordered. Parts requests
arriving after 0800 Monday will be delayed one week.
- digikey.com Very good inventory and parts
search capability. Has linked data sheets.
- allelectronics.com Surplus displays,
motors, switches. Good LCD prices.
Budget Details:
- The total budget this year will be $100 per group including the amount you spend, the amount I spend,
and the following rental fees for the following lab hardware.
- Penality for being overbudget: deduct
points=((cost-100)*0.316)2 If cost>$100
- Costs: Please note that these costs are for budget calculations only.
No money changes hands.
- STK500 $15
- white board $6
-- solder board (6 inch) with the same layout as a white board
$2.50
-- small solder board (2 inch) $1.00
- each power supply $5, each 9 volt battery $2. We do not stock batteries!
- custom
PC board $4
- Max233CPP for custom PC board $7 (unless you sample it from maxim-ic.com!)
- RS232 connector for custom PC board $1.
- Mega1284 $5 Always use a socket for the MCU
- Mega644 $2
- Mega32 $1
- Mega16 free
- Mega163 free
- AT90S1200 or 8515 free
- LCD (16x2) $8 Do not not solder this to your project!
- Keypad $6 Do not not solder this to your project!
- LCD TV $5
- Transmitter RCT-433 $4
- Receiver RCR-433 $4
- 2 pin flat jumper cables $1 each
- sip or header socket/plug $0.05 PER PIN
- SOIC/SOT23 carriers $1.00
- DIP socket $0.50 each
Student observations:
A group
in 2002 added the following thoughts.
Here are the top 10 things you can do to survive EE 476 Final Project Month:
1. If you use a chip other than the one you've been using in class all semester,
read the documentation thoroughly, subtle differences are going to kill you.
It's just a matter of for how long they kill you.
2. If you feel heat from your board, or smell burning: THERE IS A SHORT. Don't
look for the short first. TURN OFF THE POWER!
3. If the voltages look right, and the wiring looks right, but nothing's happening,
it is possible that your chip is fried, don't be afraid to ask for another chip.
This would've saved me a week of pain, and a bad hit to morale.
4. If you're stuck on something, ask Bruce or the TA's. Make a reasonable attempt
to solve it yourself, but don't sit there for three hours just because you cannot
remember which port of the opamp is correct. Remember, we all look like we're
working, so Bruce's spider sense won't kick in. You must call him, he can't
call you.
5. Order parts early. Order duplicates if you can afford it.
6. If you're going to solder onto a perf board, you don't have to rip apart
your breadboard. Just make another copy of the circuit.
7. You will not finish if you don't start early.
8. You probably won't finish if you don't take advantage of extended lab hours.
9. Do what you can do out of lab out of lab.
10. Seriously, pick a project you'll enjoy. These four weeks can be pain, or
the most fulfilling of your Cornell Career.
A group in 2003
added this:
Know your limits. As much as we'd all love to have a final project whose bells
and whistles rival Las Vegas slot machines, realize that a month is a very short
time, and that dealing with the disappointment of having to scale back your
project as you progress along is much better than coming to the same realization
on the day of your demonstration.
Assignment
You will be graded on several aspects of the project:
- Appropriate level of hardware/software complexity.
- Appropriate use of assembler and C.
- Appropriate use of microcontroller. At least 50% of work must be done on ATmega series chips.
Arduino libraries will not be allowed.
- A project which works according to specification (which you will write).
- Level of effort and organization shown in lab.
- Ability to say within budget.
- A demonstration of the final project to Bruce during the
last regular scheduled lab period of the semester.
The demonstration
will include an explanation of your web page describing the project.
- Completeness and understandability of the final report.
- The draft report must
be handed in when you do the project demo during
your last regular lab period
and must
be printed directly from a web page which you construct. This page will serve as a clean draft of the page you must hand in the day of the scheduled final exam for this class.
- The web page must be demonstrated when you do the project demo during
your last regular lab period.
The web page will consist of one folder with exactly one html file with the file name index.html
.
In the folder there may be c-source files, images, mpegs, or other supporting documents linked to the one html file.
Style examples: Pace Clock, wireless EMG, intellibot.
- If you (optionally) submit your web page to be included on the course web page (see below), you do not have to print source code.
Documentation
must include all the major sections.
You may omit specific subsections not relevant to your project, except in the conclusions section, where all subsections must be addressed. All appendices must be included.
Final report outline:
- Near the top of the first page:
- project title
- student names
- optionally netids.
- Introduction
- One sentence "sound bite" that describes your project.
- A summary of what you did and why.
- High level design:
- rationale and sources of your project idea
- background math
- logical structure
- hardware/software tradeoffs
- Relationship of your design to available IEEE, ISO, ANSI, DIN, and other
standards.
- Discuss existing patents, copyrights, and trademarks which are relevant
to your project.
- Program/hardware design:
- program details. What parts were tricky to write?
- hardware details. Could someone else build this based on what you
have written?
- Be sure to specifically reference any design or code you used from
someone else.
- Things you tried which did not work
- Results of the design:
- speed of execution (hesitation, filcker, interactiveness, concurrency)
- accuracy (numeric, music frequencies, video signal timing, etc)
- how you enforced safety in the design.
- interference with other people's designs (e.g. cpu noise, RF interference).
- usability by you and other people (perhaps with special needs).
- Conclusions:
- Analyse your design in terms of how the results met your expectations.
What might you do differently next time?
- How did your design conform to the applicable standards?
- Intellectual property considerations.
- Did you reuse code or someone else's design?
- Did you use code in the public domain?
- Are you reverse-engineering a design? How did you deal with
patent/trademark issues.
- Did you have to sign non-disclosure to get a sample part?
- Are there patent opportunites for your project?
- Are there publishing opportunities for your project?
- Ethical considerations. Refering to the IEEE
Code of Ethics, specifically explain how decisions you made or
actions you took in this project were consistent with this Code of
Ethics. I expect at least 200 words on this topic. A bulleted list will not be acceptable.
- Legal considerations. For instance, if you use a transmitter, you must discuss
the appropriate FCC legal restrictions.
- Appendix with commented program listing
- Appendix with schematics (you can download free software from expresspcb.com
to draw schematics)
- Appendix with cost details with all part numbers, vendors, and their price. This
cost will include components as described in the Budget Considerations section.
- Appendix with a list of the specific tasks in the project carried
out by each team member.
- References you used:
- Data sheets
- Vendor sites
- Code/designs borrowed from others
- Background sites/paper
The web page may optionally be submitted
for inclusion on the class web page.
If you will ever be asking me for a recommendation, I suggest that you submit your project. The project web pages help me remember the details of a project.
If you wish to do this:
- Put all of your web page files in one directory.
- Name this directory with the concantented netids of all the group members, e.g.,
brl4_bfg88
Since the pages will be on a UNIX server, you must:
- Make sure the cases (upper/lower) of all filenames agree with their
hyperlinks.
For instance: JPG != jpg
in a file name
NOTE that some picture editors CHANGE the case of the extension when they store an iamge.
- Separate folders in a path using foreslashes (/) not backslashes.
- Use only alphanumeric characters and underscores in filenames (NO SPACES, no punctuation).
- Check all your links to make sure they are relative to your main page.
- Use a directory name consisting of the group's concantenated netids.
- ZIP the directory.
- email it to BRL4@cornell.edu.
OR if it is too big use dropbox.cornell.edu
Copyright Cornell University
July 2, 2013