Labs

AssignmentPrelab?Supporting FilesDue Dates (all times EDT)
Lab 0 None! Intro Video
Puzzles Demo
CCS Install Instructions
blink.c
Lab 0 Demo template
Signoff due: Mon, 7 Jun by 7pm EDT
Report due: Tues, 8 Jun by 11:59pm EDT
Lab 1 See assignment Lab group survey
Intro Video
Extra Info/Concepts Video
State machine example
Lab template
Prelab: Thurs, 10 Jun by 11:59pm EDT
Signoff: Thu, 24 June by 7pm EDT
Report: Fri 25 June by 11:59pm EDT
Lab 2 See assignment Intro/Demo Video
Lab 2 template
Decoder example
Stopwatch example
Prelab: Thurs, 1 Jul by 11:59pm EDT
Signoff: Mon, 12 Jul by 7pm EDT
Report: Tue, 13 Jul by 11:59pm EDT

Lab materials

For each lab, we will be assembling our own hardware platform from a set of components. The following list contains the core components we will use in the labs.

Please purchase the listed components for the start of class. You can order them from one of the vendors listed (eg. Digikey, Mouser), or another vendor that works for you. If you can, please try to order the parts so you have them in time for the first week of class.

If you have questions on ordering parts, or if ordering these components problematic for you, please feel free to contact the instructor.

  1. TI MSP430F5529 USB Launchpad Evaluation Kit (MSP-EXP430F5529LP) (Datasheet)
    Order from: [Digikey] [Mouser]
    Approx. Cost: $15
    This is a small development board containing the MSP430 microcontroller we will program for our labs. This is the standard “Launchpad board” typically used in ECE2049: if you already have a launchpad from a previous version of the course, you can use it here.
  2. Sharp 128x128 LCD and microSD TI BoosterPack (BOOSTXL-SHARP128) (Datasheet)
    Order from: [Digikey] [Mouser]
    Approx. Cost: $30
    This module adds an LCD display to our development board. Earlier versions of this course (C20 and earlier) used a similar 96x96 display–if you have this version, you can use it instead.
  3. Some small electronics components (Parts list)
    Either: Order a complete kit (Such as this one: [Amazon]) OR supplement an existing lab kit with parts from the list
    Starting with Lab 2, we will use few small components typically used for prototyping (a breadboard, some wires, etc). There are many ways to obtain these components. The example kit listed above contains everything we will need and more. If you already have an ECE/RBE lab kit, you may already have some of these materials–if so, check your kit against the list of parts and order what you need. For more details, see the parts list.
  4. (Optional, but recommended) An inexpesive digital multimeter
    Order from: [Amazon] [Amazon]
    Approx. Cost: >= $10
    We highly recommend you have a cheap digital multimeter on hand for debugging your circuits in later labs. Two examples are provided below, but any multimeter is sufficient.

Working on the labs

You will work on the labs during your scheduled lab section and on your own time. In our online course, our “lab section” is another instance of office hours–feel free to join while you work on the lab so that you can ask questions and hear other discussions about the lab. However, no new material will be presented during the lab section, so you are not obligated to attend.

You are encouraged to come to office hours or post on Discord with questions about the lab. If you would like help with any part of the lab–even if you don’t know what to ask–we encourage you to reach out to us, we are here to help you! Also, if would like help but none of the scheduled office hours are convenient for you, please send us a message to make an appointment and we will find a time to accommodate you.

Lab “signoffs”

In an in-person version of the course, we typically ask students to demonstrate their lab to the course staff for a signoff. We find that in-person signoffs are a good way to talk with you after the lab and hear about your experience and any questions you may have. This term, we offer two options for signoffs:

Synchronous signoffs

If it is feasible for you, we ask that you come to office hours or schedule a time with us to meet on Discord for a “real-time” signoff. During this time, we will ask you to share your screen and talk about your work. We are happy to schedule signoffs/meetings at times outside normal office hours (even if you have a large time difference)–just ask!

Asynchronous signoffs

We strongly encourage you to schedule a synchronous signoff so that you have an opportunity to ask questions and receive real-time feedback about the lab. However, if a synchronous signoff is not feasible for you, you may upload a short (<4min) video demonstrating your lab running on your MSP430 launchpad. Your video should show your program running for a complete flow of what you have implemented. For example, if your lab involves implementing a game: play the full game (or as much a you have implemented) at least once. During the video, you should also talk about something you learned during the lab, or any questions you have. Your video should be uploaded as an extra file with your report and code submission.

Submission guidelines

All labs have two separate deadlines: one for the completion of all signoff components, and one for completion of the report.

Signoff deadlines

You may acquire signoffs for portions of the lab during your schedule lab time or during office hours. If you need a signoff outside these times, please contact the course staff to set up an appointment and we will do our best to accommodate you. After the signoff deadline, you may not receive signoffs for other non-bonus portions of the lab–the goal of this is so that you can focus on writing a good lab report.

Report deadlines

Lab reports are submitted electronically using Canvas. Your submission will include a copy of your report, and an archive of your code for the lab. Instructions on how to package your code for submission are included in the lab 0 assignment.

Late policy

See Late and Absence Policies.

Lab report guidelines

See each assignment for details on what you should include in each report. Also, make sure you answer all of the questions asked in the assignment!

You can view an example lab report here. Note that this report provides an example of the general structure and content you should include–you do NOT need to copy its exact formatting!

Example Survey

Want to help us understand how students write embedded code, and receive bonus points? If you encounter a bug, solution, or other aspect of the program that you think is interesting, please submit it using the Code Examples Survey.

For each submission, you will receive 5 bonus points added to the lab used for the example, up to 10 points per lab, starting with lab 1.

If you find more than 2 interesting examples per lab, you are still encouraged to submit them!