Firmware Subteam Overview [W2021]
Firmware makes the hardware work. We write embedded C code that runs on microcontrollers on each board, making the whole electrical system do what it’s supposed to do.
Important
Upcoming 101 | Saturday, September 19 2:00 pm. Weekly after that. |
---|---|
Weekly Meetings | Virtual standups: Saturdays at 1:00pm and Wednesdays at 8:00pm. |
Term Goals
Hardware Validation |
|
---|---|
Integration Testing |
|
Electrical Mockup |
|
Term Projects
Telemetry |
|
---|---|
Multi-Project x86 Emulation (MPXE) |
|
Hardware validation support |
|
Software & Programs Used
Software/Program Name | What it’s used for |
---|---|
C Programming Language | All of our firmware is written in bare-metal C! |
Git | Version control |
GitHub | Code review, hosting our code |
GNU Make | Build system |
Travis CI | Continuous integration: checking that every pull request builds and passes unit tests! |
VirtualBox + Vagrant | VM for development |
Jira | Ticket tracking |
Confluence | Documentation |
Your Winter 2021 Subteam Leads & Project Managers
Jess Muir - Technical Lead
About Me
I’m a 2B Systems Design Engineering student with a couple of co-ops in C/C++. I’ve been on the team since May 2019.
Talk to Me About
Onboarding, C, our libraries, MPXE
Ryan Dancy - Technical Lead
About Me
Hi! I’m a 2A Software Engineering student, and I’ve been on the team since January 2020. I’ve co-oped in Python and JavaScript and I’ve worked with a bunch more languages. On Midnight Sun I’ve written firmware for the Power Distribution and Solar Sense boards, plus a bunch of drivers.
Talk to Me About
C, Python, setting up your dev environment, our drivers and libraries, tasks you’re working on, anything you’re stuck on
Catherine Cai - Project Manager
About Me
Hi everyone, my name is Catherine and I am currently in my 2B Computer Engineering academic term. I have joined the team in Fall 2018 and have since worked on various systems on the team, including being the Solar Array lead, working on the electrical and mechanical teams, as well as Strategy. I am currently Midnight Sun’s PM and will be helping lead the Mechanical team, Firmware, and Business teams.
Talk to Me About
Anything really! If you want to chat, learn more about the team, engineering, the student experience at Waterloo, or co-op (I specialize in Software and Project Management). If you’re looking to learn more about other teams or looking for tasks, feel free to send me a message! On a non-team/school related note, you can ask me about German history, AI, or F1!
Skills to Thrive on the Subteam
We unfortunately don’t have the resources to guide you through learning programming from scratch, but if you have some programming experience (any language) or you’re a very motivated self-learner you can pick up C and any firmware specific knowledge on the team.
Additional links
Past lead Arshan's excellent tutorial playlist