Embedded Flight Software Bootcamp

Welcome to the Embedded Software Bootcamp!

 

WARG members often find that joining this team requires more knowledge and has a larger learning curve than other student teams. Once members have acquired this knowledge they gain confidence and valuable skills for the design team, co-ops, and sometimes upper year courses. Therefore, this Bootcamp is designed as a first task to help you through the learning curve, show you the programs we use, and how to find required information. The hope is that once you complete this Bootcamp you will feel confident and hopefully have acquired enough skills such that you are ready to take on tasks with our aircraft! Just a quick disclaimer: this Bootcamp will not teach you everything there is to know about firmware, it will teach you the basics and problem solving skills to tackle further tasks. The remaining knowledge will be acquired through completing other tasks with the team.

Before you start

  1. Before embarking on this subteam bootcamp ensure you’ve completed the instructions inBootcamper Onboarding .

  2. There is an online onboarding/bootcamp help session on Thursdays from 19:30 to 20:00 EST that runs depending on interest. If you intend on showing up, please let us know by pinging EFS Leads in #bootcamp-efs. If you can’t make that, ping EFS Leads in #bootcamp-efs anyways, but include a LettuceMeet filled with your next week availability.

  3. During the meeting, we will try to get a feel for who you are and how you might fit into the team. Be prepared to talk a little about yourself! Additionally, we will introduce the bootcamp and how it works.

  4. After the meeting, e-mail uwarg+efsbootcamp@uwaterloo.ca with subject New FW Team Member <name>, so we have a paper copy of your onboarding date. Then, have a crack at the bootcamp!

  5. Reminder that this bootcamp is suppose to be tricky for those with no experience in embedded systems and a sample of what it means to be on EFS. That being said, this is meant to be a tutorial and not a test. We are expecting you to have issues and questions, but we want to help you through this. Please ask for help when you get stuck!

  6. After your bootcamp is complete, see New Member Onboardingand follow the instructions there.

Bootcamp Objectives

  • Work with C logic and become familiar with some embedded programming concepts.

  • Familiarize yourself with the STM32 Cube IDE and configuring the microcontroller.

  • Learn about the SPI communication protocol.

  • Learn about PWM signals and how to generate them.

  • Learn how to track code revisions and perform code reviews using GitHub.

Bootcamp Outline

This Bootcamp Challenge involves coding and using a team lead's approval of completion in order to move onto working on other tasks. The estimated time of completion for this bootcamp is around 4 hours. There are pages to help you through each stage in the process as child pages of this one.

Note: This will vary depending on your experience level in programming. This is a rough estimate and don't get discouraged if it takes you longer!

Completion of Bootcamp

Upon the approved completion of the bootcamp by a sub team lead and then the directions in New Member Onboarding you are now eligible to work on other tasks related to the ZeroPilot & EFS! If you have any feedback you would like to give to make this Bootcamp better please let a team lead know as we want this to be the best and most informative introduction to the team as possible.