Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arnav qac #14

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Arnav qac #14

wants to merge 2 commits into from

Conversation

Arnav-Surjan
Copy link
Contributor

Quality Assurance Checklist

To make reviews more efficient, please make sure the board meets the following standards and check everything off once the board meets the quality check. Once everything has been checked, the assigned reviewers will begin the review process. Edit this description to check off the list.

There are exceptions with all guidelines. As long as your decisions are justified, then you are good! Contact the reviewers or the leads about any exceptions.

Minimum Prerequisites

  • Pushed changes to branch.
  • The board passes ERC and DRC.
    • Note some ERC warnings are acceptable.
  • All traces are routed.
  • Units are in metric.

Please read every word on every bullet point before checking off the corresponding box.

Schematic Level Requirements

  • Is proper noise resistance given to all peripheral devices (bypass caps and coils/ferrites)?
  • Is proper ESD protection given to all MCU input pins (zener diodes)? You could also write the input pin rating for the MCU on the schematic.
  • Is proper power protection given to peripheral devices (zener diodes)?
  • Are peripheral units used properly (reading datasheet)?
  • Are testing points added at useful places?
  • Is there proper short to GND protection at MCU outputs (inline resistors)?
  • Do ADC inputs have caps (appropriately sized to prevent RC delay)?
  • Are ADC inputs biased so there is room above expected value to determine if value is being overflowed?
  • Are LEDs located at useful places (comm, power, debugging, extra GPIO)? They should be placed in locations
  • Are parts chosen easy to collect?
  • Are parts chosen easy to solder?
  • Is there reverse polarity protection on inputs?
  • Do parts in the schematic match the actual part datasheet?

Please read every word on every bullet point before checking off the corresponding box.

BOM Requirements

  • Bill Of Materials: is there an Excel Sheet BOM and a Mouser Cart link?
  • Are all the correct parts in the BOM?
  • Is each part in the Mouser Cart in stock (or do we have the part in stock)?
  • Does each part in the Mouser Cart have a margin for part quantity?
  • Does every component in the schematic have a footprint, mouser link/datasheet, and reference number associated with it?

Please read every word on every bullet point before checking off the corresponding box.

2D Spacing

  • The components are spaced out at an optimal distance.
    • All components can be easily hand-soldered.
    • IPC-SM-782A Standard requires a minimum distance of 1.0mm from edge to edge.
  • Components that are in parallel with each other are spaced out at an equal distance when possible.
  • The components are aligned with each other when possible.
  • Components are grouped based off of functionality.
    • E.g. all components for CAN should be grouped.
  • Bypass capacitors are less than 1cm away from their respective IC's power pins.

3D Spacing

  • Layout of components have been placed with mounting location and usage of the board in mind.
    • Are PCBs going to be stacked on above/below this board? Are tall components placed accordingly?
    • Are buttons and lights easily accessible and viewable?
    • When mounted into the car, are the heights of the components and connectors accounted for?
  • Location of connectors and wires going out of the board will prevent messy wiring.
    • Are all the wires that are going in the same direction placed on the same edge of the board?

Components

  • Custom footprints have been double checked with the datasheet.
  • Pin 1 of the footprint is labeled in some way.

Copper Layer

  • The trace widths and trace clearances are greater than JLCPCB's minimum requirements.
  • The trace lengths are as short as possible.
    • Can there be a more optimal route if you go to another layer?
  • Each trace's width is capable of handling the expected current flow.
    • Use PCB width calculator to calculate trace width.
  • *No sharp corners. No trace angles equal to or less than 90 degrees.
  • Traces are in parallel with each other when possible.
    • E.g. traces connected between an IC and MCU can be placed in parallel with each other.
  • There are no random trace appendages.
  • Vias placed in copper pads are fully encompassed in the copper pads.
  • Through-hole components do not have extraneous vias.

*Not really a problem for modern manufacturing techniques but good practice and important for high speed signal integrity.

Silkscreen Layer

  • Visible text sizes are greater than JLCPCB's minimum requirements.
  • All visible text is on the silkscreen layer.
  • All reference labels of each component are not overlapping a copper pad or another component.
  • All connector pins are labeled with a meaningful and helpful name.
  • All LEDs are labeled with a meaningful and helpful name.

Edge Cut Layer

  • The dimensions of the board and the mounting holes are nice values in metric i.e. no long decimals.
  • The physical outline of the board is on the edge cut layer.
  • Edge cuts are straight and parallel with opposite edge of the board.
  • Mounting holes are aligned.
  • Corners are curved and contoured to mounting holes.

IMPORTANT NOTICE

  • I am confident that this board will be safe to use in a safety critical environment.
  • I had fun :)

Other Comments

Most unchecked boxes are ones I did not know how to check for / did not get the opportunity to check, apologies.

@manthanand
Copy link
Contributor

I don't think you were using KiCAD 7.0 when working on this. Try updating so the project will the updated to the new version.

@manthanand
Copy link
Contributor

image
Try following the format for the other version controls that are in other repositories. They are easier to read and should be much more in-depth about how the circuit works. The stuff you wrote would go in the README for the repository. For example, in your board, I would say what ICs are used. Also, this board has issues that require a respin. Talk to the people who used the board (@babusid @IshDeshpa) and add that to things that should go in the future version. Also, the first step is making sure @millergage reviews this, then me and Tianda will review it. I will take our names off the review list for now.

@manthanand manthanand requested review from millergage and removed request for tiandahuang and manthanand May 23, 2023 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants