Firmware Onboarding | Embedded Software
This tutorial assumes you know absolutely nothing about software development, Git, or coding. If anything is unclear, feel free to reach out for help on the #s_embedded_software
channel.
By the end of this list, you should be in a place where you are more than ready to start work on the car. A lot of this stuff you might have already done or don't need to do if you've dabbled in software development before, but if you're fresh out of cornerstone you might need to go step by step. Go through at your own discretion, but each step is pretty important.
General Onboarding
Make sure to look over this landing page and dive into Confluence
You might want to use this glossary to reference while trying to understand things
Git
NER uses GitHub and Git to manage software development
Development Environment Setup
Follow this guide to setup your development environment.
Coding Standards
Hardware We Use For Product
Note that for NER, we are using Embedded Linux for processing Telemetry Data and wireless communications, and all of the real-time processing happens onboard microcontrollers. These microcontrollers are literally just chips on our custom PCBs, not just Arduino development boards you may be used to.
Other Tools We Use For Development
Customize as you like, all of our tools are in Docker containers or venvs as of now
Contribute!
For this team, our motto is:
“Ambition drives success” - Not (Not) Dylan Donahue, 2023
meaning that you truly get out what you put into the team. The typical ask for weekly contribution is around 5 hours for regular members, but people who go beyond typically get more experience/system knowledge and really get to feel like a part of the team.
Talk to your lead/head if you’re looking for things to do!