Difference between revisions of "Project Checklists"

From Hackstrich
(Linking to the ULP Snippets page.)
(Note about making sure not to paste PTH things)
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== General Notes ==
 +
* If any checklist item fails and requires ''any'' change to the design, start that checklist over from the start after the change.
 +
** Really. It's important. The 2 extra minutes will save re-spinning a board.
 +
* Once checklists are all complete, wait 24 hours and take another brief look at the design before sending to manufacturing.
 +
** Don't have to re-run checklists, just look it over. It's surprising how many things jump out at you after not looking at a design for awhile.
 +
 
== Schematic Completion ==
 
== Schematic Completion ==
 
* Does the schematic pass ERC?
 
* Does the schematic pass ERC?
 
* Is there a way to power the board?
 
* Is there a way to power the board?
* Is there a way to program any MCUs on the board?
+
* Is there a way to program any MCU/CPLD/FPGAs on the board?
 +
* Are all clock signals routed to clock pins (if CPLD/FPGA)?
 
* Are all MCUs on the board clocked (if required)?
 
* Are all MCUs on the board clocked (if required)?
 
* Are required bypass capacitors included?
 
* Are required bypass capacitors included?
 
* Are any required protection devices (e.g. PTC resettable fuses) included?
 
* Are any required protection devices (e.g. PTC resettable fuses) included?
 
* Are required test points included?
 
* Are required test points included?
 +
** One small SMD point on every net that could conceivably require troubleshooting and does not appear on a connector
 +
** At least one PTH ground test point for scope/logic analyzer probes
 +
** PTH test points for nets that are very likely to require extensive troubleshooting, if space is available
 +
** 8/16-bit test/debug bus connector for CPLD/FPGA projects that could require logic analyzer connection
 
* Is there a way for the user to receive status information (like LEDs)?
 
* Is there a way for the user to receive status information (like LEDs)?
* Are all nets named something useful (not N$)?  Use the [[EAGLE ULP Snippets|sen-show-unnamed-nets.ulp]] script to check.
+
* Are all nets named something useful (not N$)?  Use the SHOW @ N$* command to check, if using EAGLE.
 +
* Are all nets properly classed (if required)?
 +
* Is there a way to set the address of the board (if on a multidrop bus)?
 +
* If an Arduino-compatible shield, make sure a reset button and power LED are included.
 +
* Are all connector pins rated for the current they will be carrying?
 +
* Do all specified PMICs have appropriate input voltage ranges, power levels, and topologies?
 +
* Are source/sink-only I/O connectors provided with the correct companion voltages?
  
 
== PCB Completion ==
 
== PCB Completion ==
 
* Is the DRC engine set up to match the board house being used?
 
* Is the DRC engine set up to match the board house being used?
 
* Does the board pass DRC?
 
* Does the board pass DRC?
* Are all connectors set up so that they won't interfere with eachother?
+
* Are all connectors set up so that they won't interfere with each other?
 
** Do a physical mockup if required to make sure everything fits in properly.
 
** Do a physical mockup if required to make sure everything fits in properly.
 +
* Are all connectors on the correct side of the board?
 +
* If the design has multiple boards with connectors between them, trace the path of a couple signals and make sure both connectors match up.
 
* Has the footprint/pinout of any new components been double checked?
 
* Has the footprint/pinout of any new components been double checked?
* Will the test points be easy to get to once the board is stuffed?
 
 
* Are all sharp bends mitered?
 
* Are all sharp bends mitered?
 
* Are all high-speed signals properly laid out?
 
* Are all high-speed signals properly laid out?
Line 22: Line 40:
 
* Are QFN/DFN/high-power parts properly thermally laid out?
 
* Are QFN/DFN/high-power parts properly thermally laid out?
 
* Will the board plug into a standard 0.1" perfboard/breadboard (if applicable)?
 
* Will the board plug into a standard 0.1" perfboard/breadboard (if applicable)?
 +
* Are mounting holes included if required?
 
* Is the required silkscreen all added?
 
* Is the required silkscreen all added?
 
** Connector/pin descriptions
 
** Connector/pin descriptions
Line 28: Line 47:
 
** URL (if possible to fit)
 
** URL (if possible to fit)
 
** Revision number
 
** Revision number
 +
** ECO tracking boxes
 
** Area for serial number
 
** Area for serial number
 
** Strich
 
** Strich
 +
* Switch to 3D view (if using Kicad) and check the following:
 +
** Does text on both sides of the board all face the same direction?
 +
** Do labels all appropriately describe what they're next to?
 +
** Will the test points be easy to get to once the board is stuffed?
 +
 +
== CAM Completion ==
 +
* Do drills line up with pads?
 +
* Are vias tented appropriately?
 +
* Does mask extend between component pins?
 +
* Are test points left exposed on the correct side of the board?
 +
* Do silkscreen layers look reasonable and non-overlapping?
 +
* Does any silkscreen overlap drills?
 +
* Are required ground ties in place (if required)?
 +
* Are break-out tabs set up correctly?
 +
* Does board outline appear correct and contiguous?
 +
* Are slots/cutouts properly set up?
 +
* Are thermal pads left exposed and not covered in solder mask?
 +
* Are PTH pads excluded from paste layers?
  
 
[[Category:Notes]]
 
[[Category:Notes]]

Latest revision as of 18:05, 30 September 2023

General Notes

  • If any checklist item fails and requires any change to the design, start that checklist over from the start after the change.
    • Really. It's important. The 2 extra minutes will save re-spinning a board.
  • Once checklists are all complete, wait 24 hours and take another brief look at the design before sending to manufacturing.
    • Don't have to re-run checklists, just look it over. It's surprising how many things jump out at you after not looking at a design for awhile.

Schematic Completion

  • Does the schematic pass ERC?
  • Is there a way to power the board?
  • Is there a way to program any MCU/CPLD/FPGAs on the board?
  • Are all clock signals routed to clock pins (if CPLD/FPGA)?
  • Are all MCUs on the board clocked (if required)?
  • Are required bypass capacitors included?
  • Are any required protection devices (e.g. PTC resettable fuses) included?
  • Are required test points included?
    • One small SMD point on every net that could conceivably require troubleshooting and does not appear on a connector
    • At least one PTH ground test point for scope/logic analyzer probes
    • PTH test points for nets that are very likely to require extensive troubleshooting, if space is available
    • 8/16-bit test/debug bus connector for CPLD/FPGA projects that could require logic analyzer connection
  • Is there a way for the user to receive status information (like LEDs)?
  • Are all nets named something useful (not N$)? Use the SHOW @ N$* command to check, if using EAGLE.
  • Are all nets properly classed (if required)?
  • Is there a way to set the address of the board (if on a multidrop bus)?
  • If an Arduino-compatible shield, make sure a reset button and power LED are included.
  • Are all connector pins rated for the current they will be carrying?
  • Do all specified PMICs have appropriate input voltage ranges, power levels, and topologies?
  • Are source/sink-only I/O connectors provided with the correct companion voltages?

PCB Completion

  • Is the DRC engine set up to match the board house being used?
  • Does the board pass DRC?
  • Are all connectors set up so that they won't interfere with each other?
    • Do a physical mockup if required to make sure everything fits in properly.
  • Are all connectors on the correct side of the board?
  • If the design has multiple boards with connectors between them, trace the path of a couple signals and make sure both connectors match up.
  • Has the footprint/pinout of any new components been double checked?
  • Are all sharp bends mitered?
  • Are all high-speed signals properly laid out?
  • Is the ground plane set up properly?
  • Are QFN/DFN/high-power parts properly thermally laid out?
  • Will the board plug into a standard 0.1" perfboard/breadboard (if applicable)?
  • Are mounting holes included if required?
  • Is the required silkscreen all added?
    • Connector/pin descriptions
    • Board name
    • Copyright/left information
    • URL (if possible to fit)
    • Revision number
    • ECO tracking boxes
    • Area for serial number
    • Strich
  • Switch to 3D view (if using Kicad) and check the following:
    • Does text on both sides of the board all face the same direction?
    • Do labels all appropriately describe what they're next to?
    • Will the test points be easy to get to once the board is stuffed?

CAM Completion

  • Do drills line up with pads?
  • Are vias tented appropriately?
  • Does mask extend between component pins?
  • Are test points left exposed on the correct side of the board?
  • Do silkscreen layers look reasonable and non-overlapping?
  • Does any silkscreen overlap drills?
  • Are required ground ties in place (if required)?
  • Are break-out tabs set up correctly?
  • Does board outline appear correct and contiguous?
  • Are slots/cutouts properly set up?
  • Are thermal pads left exposed and not covered in solder mask?
  • Are PTH pads excluded from paste layers?