Onboarding v2

From R@M Wiki

Started on June 11. This is my (Alex's) attempt for starting a second attempt at onboarding, primarily based on the feedback from the 2023-2024 onboarding session. In particular, the onboarding was great for helping people build a robot from scratch, but really did not help people with gaining experience working on what is needed to work on Qubo. Therefore, I am trying to develop a new curriculum for embedded software, which is my "area of expertise". This is developed in tandem with me learning a bunch of stuff to get CAN Bus working on a couple STM32 boards for competition Summer 2024.


Take note that I am writing this from the perspective of a computer science student, so my assumptions are based on what is covered in the usual computer science introductory courses and what I knew when I started doing embedded work (which was only knowledge of C and a light amount of computer systems experience). I have no clue if this stuff is obvious to (say) electrical/computer engineering students who have completed the same amount of introductory coursework.

The goals of these tasks/lessons are so that you know the following by the end:

  • How to read the documentation for your microcontroller (gaining an intuition to know what information belongs in which manuals, and where to look)
  • How to debug a microcontroller
  • How to read and understand other standards so that you can utilize the hardware on the your microcontroller which implements that standard


As of right now, I am assuming the following:

  • You know how to program in C (you can learn most of this along the way, but you an avoid a lot of pitfalls the more you know here)
    • Heap vs. Stack
    • Pointers
    • Bitwise Operations
    • C standard library vs. C programming language
    • Declaration vs. Definition
  • You know what registers are and how they differ from RAM

Lessons[edit | edit source]