Embedded Programming Assignments

No. Release Date Deadline Topics
1 19 Jan 8 Feb UART, printing, timers, and code optimization
2 8 Feb 1 Mar Interrupts and timers
3 1 Mar 29 Mar FreeRTOS, EDF, SRP
4 29 Mar 12 Apr FreeRTOS, CBS


We will provide you the following hardware for the project.

  1. TTL-to-USB Serial Debug Console Cable
  2. Rapberry Pi B2 Board + power adapter + MicroSD Card (for kernel flashing)
  3. Two plastic boxes to conveniently store the hardware


Form groups of five. You may use Piazza to find group members. Provide GitLab usernames of all group members to both instructors over email. Use subject line “[CPEN 432] Project Group Registration”. Let us know if you are unable to form a group by 19 January. After you have formed a group, one of the group members must collect the hardware. Schedule a five-minute meeting with both instructors over email for collecting the hardware. Use subject line “[CPEN 432] Hardware Collection”.

Submission Instructions

For each project assignment, we will create a GitLab repository for each group with a detailed README for the project. You must commit all your solutions to the repository before the deadline. We may schedule a demo during the tutorial hours to evaluate the programming assignments.

Late Project Submissions

Each group is allocated an automatic extension of 4 calendar days. Groups can use the extension on any project component in increments of 1 day. E.g., you can hand in one project assignment 4 days late, or one assignment 2 days late and two assignments 1 day late, or 4 project assignments 1 day late. This extension is to be used for incidental occurrences, so please do not ask us for any more extensions due to any incidental circumstances.