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:

Web pages, social media, and contests


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:

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.

Budget Details:

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:

  1. Appropriate level of hardware/software complexity.
  2. Appropriate use of assembler and C.
  3. Appropriate use of microcontroller. At least 50% of work must be done on ATmega series chips.
    Arduino libraries will not be allowed.
  4. A project which works according to specification (which you will write).
  5. Level of effort and organization shown in lab.
  6. Ability to say within budget.
  7. 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.
  8. Completeness and understandability of the final report.
    1. 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.
    2. 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.
    3. 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 includ
      e 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:

  1. Put all of your web page files in one directory.
  2. 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:
  3. ZIP the directory.
  4. email it to BRL4@cornell.edu.
    OR if it is too big use dropbox.cornell.edu


Copyright Cornell University July 2, 2013