ELEC424 Project: Tilt 11. Goal and GradingThrough this project, you will be able to gain practical experience in designing and building a complete embedded system, called Tilt 1. You will design and assemble the system on a PCB, develop software to sense and display the orientation of the system, and may further develop software that recognizes physical manipulation of the system. Specifically, the project requires you to accomplish the project in five steps:
The project will be graded by two factors: 1) how well the embedded system realizes the intended function: a) correctness of the realized function (50%); b) power efficiency of the realization (25%); and 3) the cost of the realization (25%) and 2) how well you performed during each of the four steps described (25% each). The two factors are multiplicative. For example, if you get 90% for the first and 80% for the second, your final grade will be 90%*80%=72%. For another example, if you only achieve the first three steps, you will get at most 75% of the second factor. Because the design is incomplete, you need to write about the exact function your system is designed to achieve and explain how; and analyze the cost and efficiency of your design, in order to get as much as possible for the first factor. 2. TasksYou will complete the following tasks in this project. 1) ArchitectureYou will decide the major components on the board for the basic tilt/orientation recognition and user interfaces: will you need one or two accelerometers? Will you need the compass? How many buttons will you need for input? How many and what color of LEDs will you need for on board display? 2) Circuit schematicAfter the board architecture is settled, you will design the circuit schematic in EAGLE PCB following the reference schematics and datasheets provided in the next section. Orbit-EDU is also a good reference for your design. 3) PCB layoutHaving the circuit schematic correct and complete, you can design the PCB layout and routing. You will decide the locations of all components (except the MSP430, the two accelerometers and the compass that are supposed to be prefixed in their locations) and the routes of wires connecting them. Please carefully read through the notes in Section 5 before you start. Make sure your design passes the rule check in EAGLE PCB. A safe way is to import the rules used in Orbit-EDU and use those rules. 4) AssemblyWhen your PCB design is ready, you will prepare various files about the design and send them to PCB Express to manufacture the board. Afterwards, the MSP430 and the motion sensors will be machine assembled by a local company, and you will assemble all other components onto the board by hand. 5) Operating systemLearn to program the MSP430 from a computer through the programming interface. Test your board with simple operations like blinking the LEDs to make sure the board works. Port an open-source operating system to MSP430. Design test cases to verify the installation. 6) Tilt/orientation recognitionDesign and implement the software for MSP430 to detect tilt/orientation of the board. For extra credits, you will implement an existing gesture recognition algorithm in MSP430 to recognition various physical manipulation of the board. 7) User evaluationAs the final step, you need to evaluate your "product" with a group of users. Each other team will contribute one to the group. Although the number of users may be small, please try to apply what you have learned from the class. You need to design and carry out a user study. The user study may have several components, leveraging survey, individual interview, and focus group discussion. You need to evaluate the usability (including correctness of functions, responsiveness, and ease-of-use) and aesthetic design of your "product". You need to carefully design the questions and make sure they are valid and invite useful information. Finally, you need to make valid and insightful conclusions regarding your "product", regarding its weakness, strength, and ways to improve it. Your user evaluation will be graded NOT based on how highly your users think of your "product." Instead, it will be graded based on 1) the quality of user study design, including questions you ask; and 2) what valid and insightful conclusions you draw. 3. Further Readings1) PCB Design More information can be found here. 2) Programming OrbitEDU To learn necessary information about MSP430, please read Chapters 1, 2, 3, 4, 9, 11, and 17 of its User Guide. You need to program your design using IAR Embedded Workbench. See here for a simple tutorial how to start with IAR Embedded Workbench. Since your design is similar to OrbitEDU, you can start with the following OrbitEDU example code. Texas Instruments provides useful example code too. To learn more C programming of MSP430 with IAR Embedded Workbench, read MSP430 IAR C/C++ Compiler reference guide. 3) µC/OS-II Datasheet from Micrium. There is a good book about it. You may want to read Chapters 1, 2, and 13. We have two tutorials to work with µC/OS-II on OrbitEDU using IAR Embedded Workbench and GNU/Linux, respectively. We recommend you use IAR Embedded Workbench for the project. 4.Administrative InformationPCB design due: September 24thPCB assembly due: October 22nd LED flashing due: November 5th OS installation due: November 12th Design of user study due: November 19th Final system demo due: December 3rd Final project report: December 10th TA: Jiayang Liu |