You are not Logged In!

Public:Electrical Onboarding Fall 2023

From Illini Solar Car Wiki
Revision as of 18:10, 15 July 2023 by Eroth8 (talk | contribs)
Jump to navigation Jump to search

Welcome to Illini Solar Car! We are glad you’re here!

Illini Solar Car one of the largest engineering projects on campus. Our work is incredibly multifaceted (there are even times when you’ll be working on two cars simultaneously), diverse in majors and members, expensive (we go through 6 figures of resources per year), and rewarding. You can think of all the expenses as an investment in you as they provide you with unmatched real-world and hands-on experience which can be invaluable when looking for jobs or when you eventually get to doing it later in school.

Due to the scope of this project, the team does have a somewhat large learning curve. In order to help with this learning curve we introduced this wiki in Spring 2018 to put what institutional knowledge we have in an accessible location as opposed to only being in peoples heads. Older members will certainly help you to learn (especially with hands-on and technical skills) but we also expect you to be able to pick up on background from the wiki and be proactive about learning about the team. Perusing this wiki should help you do so. It will also help you become familiar with the team and how we operate. The contents of this page should serve as an overview of the Fall 2023 onboarding process and some useful getting started info.

You will notice that even though there are already 5 years' worth of information on this site, there are always new pages being added and updated. As you are learning things please feel free to contribute! Additionally, if there is valuable info you feel is missing please add it to the ((Wanted Content|Wanted Pages)) list.

This page is created to integrate all the electrical onboarding links onto a single page and help provide a hub for the onboarding process. In general, there will be 4 methods of accessing all the electrical team's information for onboarding:

Each of these sites host information on events and meetings, or important files from testing, building past cars, etc. Please check these to stay updated and learn more about the team!

Planned Dates/ Deadlines

Most of Fall 23 Onboarding will be done in-person at onboarding meetings, so new members will have the chance to receive guidance from older team members if they need extra help during the process. However, a majority of onboarding can be done by following the guidelines and tutorials set up later on in this page. Below is a general outline of when and where meetings will be. Make sure to show up to these and other new member events to get to know your seniors and get comfortable with your team!

Meeting Days & Times: Tuesdays & Thursdays @ 8:00 PM (Tentative)

Location: Openlab, 2022 ECE Building (306 N Wright St)

Onboarding weeks: 4th September - 29th October (Tentative)


During this time you will be doing three projects that will teach you important knowledge and skills to have on the electrical team. They'll be split up with one week each to the first two projects, and the last two weeks will be spent doing a harder project of your choice. Each of these projects will be detailed here, with links to relevant pages that you will need to properly do the work. To begin, you'll need to set up a few accounts and download some apps. See below.

GitHub Setup

GitHub is a tool we use to share all of our work as a team. It is a great way to ensure all the current work stays updated and there are very little conflicts when working together. Most industry professionals use GitHub for code, however we also use it with our KiCad projects as well as code. You may be familiar with the GitHub site, but not so much with our use of Git Bash, so there are a few resources here to help you get familiar. Git is hard to learn so don't be upset if you don't understand how it works at the end of onboarding, you'll get more practice and become a pro later :)

Be aware that you may or may not have access to the ISC GitHub right away. We will have a form sent out in early onboarding days to get everyone access, but if you still have trouble joining later there will be a channel for questions on the Onboarding Slack.

  1. Go to the GitHub wiki page and ensure you have a working version of Git on your computer. Look through the Installing Git section of the page. Make sure you have the most recent version of Git! Not all
  2. Look through Jarod's git youtube tutorials to get a better understanding of why we use git as well as a few basic commands
  3. If you'd like more practice with Git, checkout these other interactive tutorials to learn more:

This part is important to getting a good feel of our workflow. Proper push/pull form helps keep our work space clean!

KiCad Setup

KiCad is an electrical CADing software that our team uses to design the custom printed circuit boards (aka PCBs) for the solar car. All of our designs exist on the Illini Solar Car GitHub page in the PCB repository. You will clone this repository later and any hardware contribution you make to the team will be in here forever :)

  1. First clone the Onboarding repository and set up KiCad following the instructions in Ryder's first KiCad youtube tutorial or the wiki instructions below.
    • To clone the GitHub Onboarding repository onto your computer follow the Initial Setup instructions here. (The page is setup for using the PCB repository. Don't use that! We are using the new Onboarding repo this year for an easier work space. Please follow all the instructions but use the Onboarding repo instead.)
    • To setup KiCad follow the KiCad First Time Setup instructions.
  2. Later you'll follow Ryder's KiCad youtube tutorial series to complete the first introduction project to familiarize yourself with the software. Do that after downloading the rest of your software!
    • Note: We use KiCad v7. If there are any files in the future that are in previous versions, just save them as v7. Anything v5 and below will have a libraries issue that can be resolved by copy/pasting the lib files from a v7 project into that folder.

After Completing Setup

  1. Start working on the hard Onboarding Projects! We created a series of projects to act as goals to progress yourselves with KiCad. We have 1 required project and one harder one for you to choose from as your third project. You are required to complete at least one hard project, either hardware or firmware. We'll be there to help you, so don't worry about the projects being too hard, just do your best!
  2. While working on the onboarding projects take a look at these useful guidelines.
    • KiCad Schematic Conventions - has information about specifics regarding each part of the schematic design from naming conventions to symbol creation to part selection
    • KiCad Layout Standards - has information about the design guidelines for PCBs and illustrates what is allowed and what isn't
  3. After Completing the schematic for your first onboarding project push your work to the Onboarding repository using your git knowledge
    • Don't worry that you're not done yet, pushing is for us to see that you're making progress!
  4. Finish the layout and push the changes to your branch to get more feedback. Our senior members will be reviewing and approving everything you push, so keep an eye on your branch for any comments your leads may have.
  5. You're done! Use all this knowledge for any of the hardware projects you do in the future.

MCUXPresso Setup

In order to control our various hardware components, we write firmware code to allow various processes to happen. For example if the brake is pressed, we have a hall effect-sensor that gets triggered which sends an enable signal to our Dash in order to turn on the brake lights. All of our firmware is written in C++ and we use MCUXpresso, an eclipse based IDE.

  1. Clone the GitHub b-fw repository onto your computer by following the Initial Setup instructions here
  2. Go through the MCUXpresso setup instructions. Don't worry about setting up ARGO-fw, just b-fw is fine.
    • B-fw is the old firmware repo for Brizo. We won't be using it for the onboarding process nor for our third car, but it's good to have in case we are still testing on Brizo by the time Onboarding finishes!
    • All of the coding that you do for Onboarding will be pushed to the Onboarding repo. Don't worry about pushing to the others for now.
  3. Follow the Building and Debugging Code instructions to ensure you are able to setup the project files and build the skeleton code. For the Flashing/Debugging Section: we'll work on getting that situated as you get your firmware project closer to being completed.
    • Most likely, you will learn this through watching members and looking it up on your own for another project down the line. Don't be afraid to ask for help!

After Completing Setup

  1. As stated above, we have a few firmware projects on this page for you to do. One will be a required firmware project that's easier, and the other will be an optional harder project to choose from between hardware and firmware.
  2. Here are some links to get you more familiar with firmware:

Onboarding Projects

Below will be the projects for each of the hardware and firmware groups.

You are required to finish the easy projects for both firmware and hardware in the first two weeks of onboarding before choosing one harder project from either firmware or hardware to complete in the last two weeks of onboarding. This is the criteria to complete your technical introduction to ISC and you will not be able to join the club if you do not finish!

Team leadership and senior members will be happy to help and answer questions, so be sure to use the onboarding meetings as time to discuss any issues you have in person.

On top of that, you may have to work on these projects outside of team meetings! This is standard within solar car; not all of our work is done during the two times a week that we meet. Don't worry if it takes you extra time to work on these projects.

Firmware

Project 1: Heartbeat LEDs

This project...

(Hard) Project 2: Find the Bugs

Hardware

Hardware is much more tedious than firmware. When it comes to schematic design and layout, datasheets are a critical part of the project, which is why we use PartsBox to organize our part inventory and store all relevant information. These projects will get you used to the KiCad software as well as our typical process of researching datasheets, creating BOMs, generating DFMs, etc. These are all integral parts of the solar car PCB design flow!

Project 1: LED Circuit

This project is relatively simple: in order to get used to the KiCad application and a few of its typical shortcuts, you'll build an LED circuit in the schematic editor before laying it out. Ryder has made a few videos on youtube to walk through the process, but here are the steps written out:

  1. Make sure you have KiCad v7 downloaded. You'll have a hard time opening any files if you don't.
  2. In your File Explorer, you'll want to navigate to the folder you copied the Onboarding Repo into (make sure that you copied the Onboarding Repo when setting up Git rather than the B-fw or PCB repos).
  3. In the _______ folder, you should.... [Insert how to make a new project and use the Solar Car templates Ryder made]
  4. [insert how to start the schematic using Add Component and grab all the parts first]
  5. [get the datasheets and values of all parts into the big parts manager]
  6. [how to hook up wires and the shortcuts relevant]
  7. [rate the parts for the correct amount of voltage and current, add a fuse if needed to make the circuit harder]
  8. [run the annotation device and the debugger]
  9. [make sure all parts work in the circuit before exporting netclass]
  10. [layout design]
  11. [export all relevant stuff]
  12. [dfm]
  13. [done]

(Hard) Project 2: Finish the board!