Embedded Flight Software Bootcamp - F23

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 inhttps://uwarg-docs.atlassian.net/wiki/spaces/AD/pages/2241298916 .

  2. e-mail uwarg+efsbootcamp@uwaterloo.ca with subject “New FW Team member <name>” so we have a paper copy of your onboarding date.

  3. Ping @Embedded Flight Software(EFS) Lead in #bootcamp-efs and let us know which onboarding session you are going to be attending and what time you plan on being there (will only take about 20 mins)! There will be online Thursdays from 2000 to 2030 EST on discord. If you can’t make any those times, fill out a LettuceMeet https://lettucemeet.com/ for the next week with your availability. Feel free to attach any resumes or links to projects in the thread that’s created for you!

  4. During the meeting Chris, Derek, Hardy or Ayoung want to know about the following:

    1. Tell us about what kind of person you are

    2. Why are you interested in the team

    3. What do you hope to do on the team (higher level software, or low level firmware?)

    4. What are your previous experiences.

  5. During the meeting, we will introduce the bootcamp. When you’re done the bootcamp, open a pull request and expect changes to be requested! This process should take 1-2 weeks, Feel free to use the thread thats created for you to ask questions and reach out to efs team members for help.

  6. Reminder that this bootcamp can be tricky for those with no experience with STM32 or embedded systems. Please ask for help when you get stuck (we’ve all asked for help doing this or similar tasks, even senior members). This is meant to be a tutorial, not a test, so we’re expecting you to have issues and questions, and we want to help you through this.

  7. After your bootcamp is complete see https://uwarg-docs.atlassian.net/wiki/spaces/AD/pages/1697349760and 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.

NoteThis 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 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.