This is the working repo for PiElectrical teams
- The stuff in PDB-Y16
- Convert motor controller design to KiCad
- Add and test current regulation for motor controller
- Talk to runtime and potentially use cheaper MCU for motor controller
Boards: Contains all necessary information about each board, including KiCad (and old Eagle) files, arduino test files, and board specific documentation.
Bootloaders: Contains the files necessary to burn the bootloader for boards identifying as Leonardo (Atmega32u4).
Documentation: All docu packets and scripts. Fragile! Do not touch!
Production_Files: Finalized gerbs and other necessary production files (BOM, CPL, etc...) sent out for fabrication.
Images: Place all your images in here to enhance your READMEs.
Libraries: Necessary KiCad files to work on PiElectrical
ToDo is on the README to keep things easier to see at first glance. GitHub issues tracker can be used as well.
When you see an arrow like this... (click me)
...it indicates an expandable section. We usually include images in here as a better reference for you to follow along.- Copy the URL for pioneers/PiElectrical to your clipboard: (Or here: https://github.com/pioneers/PiElectrical.git)
- In Terminal (Mac, GNU/Linux) or Git Bash (windows), navigate to your working directory (the directory that you want to keep PiElectrical in.)
- Clone PiElectrical by running this command:
git clone https://github.com/pioneers/PiElectrical.git
- Download the latest version of KiCad here: https://www.kicad.org/download/
- Open KiCad.
Note that this setup instruction is based on KiCad 7.0.7, but it should still work for other versions.
Protocol when working on KiCad files
The revision number should be REV <year><revision>. E.g. REV 16A for year 16 revision A.
If you are not quite familiar with git, see Useful Links for the PiE Github tutorial
WARNING: Do not modify PiE_Symbols.kicad_sym or PiE_Footprints.pretty without discussing it with PMs.
- In Terminal (mac, GNU/Linux) or GitBash (windows), navigate to your working directory (wherever you have PiElectrical).
- Make sure your working directory is clean: git status
- If you haven't started your sub project: git checkout -b YOURNAME-SUBPROJECT
- YOUR_NAME/SUBPROJECT is now the name of your branch
- Do your work in KiCad.
- Once you are at a good stopping point in your KiCad work, commit your progress:
- git add path/to/your/file
- git commit -m "Make your commit message short and with this format"
- NOTE: Commiting is like saving your file, but for all of PiE as well as your personal computer. And just like saving, Commit Early & Commit Often!
- Repeat Steps 5 and 6 until you are finished with your EAGLE work.
- Once you have made your last commit, push your files to the PiElectrical github repo: git push origin YOUR_BRANCH
- If you get a merge conflict, contact the PMs for help.
- If completely done, submit a Pull Request
- Present Tense ("Reroute power traces on team flag", not "Rerouted power traces on team flag")
- No period at the end: ("Reroute power traces on team flag", not "Reroute power traces on team flag.")
- Keep your message length to about one sentence.
Don't try to fix it yourself: Eagle files are finicky and you might break all your work!
Ask someone who knows how to deal with this, i.e. your PM or something
-
Make sure you run the Electrical Rules Check (ERC) in the schematic and the Design Rules Checker (DRC) in the layout, and have no red errors. Feel free to ask PMs if you have any questions.
-
Open the brd file
-
Click Cam Job
-
Open pie.cam
-
Make a directory in each sensor's folder called SENSOR_NAME-gerb
- SENSOR_NAME must be the exact name as the brd file
-
Run job, and click yes to all for the polygon issue
-
Once all the jobs are done, run
make gerb
Q: What's the difference between commit before I pull?
A: Do you want to keep any of the changes? Then commit those (the ones you want to keep) before you pull. Or else, the things you pull might conflict with your work, and you'll have a git disaster.
Q: I worked on my stuff, pulled, and everything I did went away!
A: As long as you committed, the PMs can recover your work for you.
Q: Why am I working on my own branch?
A: This is to keep track of pull request and board reviews on a per board basis
PiE's own Github Tutorial
Read up on the PiE Electrical Style Rules and Guidelines (This is a good resource, but outdated)
You can find JLC's design rules here: https://jlcpcb.com/capabilities/pcb-capabilities. Please review this before ordering a PCB.
- Traces must be multiples of 45 degrees
- Standard Pin Distance: 100 mils (2.54 mm)
Copyright (c) 2023, Pioneers in Engineering
All rights reserved.
Design by: Justin H
This design is open source hardware.
For more information, visit
github.com/pioneers/PiElectrical