Electronics and electrical design checklist
Compiled and edited by Henrik Enggaard Hansen. Feedback and suggestions at Github.
Other tools: Debugging worksheet
Process
- Is there a method of tracking versions/revisions?
- For system
- For schematics
- For PCBs
- For software
- Is source version control used? (Git, SVN etc.)
- Is offsite backup used?
- Are design decisions documented?
- Within or separate from the schematics/drawings/code?
- Is there a method of tracking versions/revisions?
System
- What should have ESD protection? #ESD
- Are amplifier circuits stable?
- Is there a simulation/simulator of the system or subsystems?
- Has the design or subsystems of it been simulated?
- What kind of interfaces and connections are necessary?
- For humans?
- For computers / control software?
- For power?
- For other subsystems?
- Are there status LEDs
- Power
- Programmable
- Subsystems
- Are multiple boards needed?
- How are subsystems connected?
- Is there a breakout board for subsystem connectors?
- Have harnesses/wiring/connectors been identified?
- Have pin-outs been defined and specified?
- What is the max current draw?
- Should any subsystems be default off? #power
- Communication
- Which busses/protocols will be used?
- Between subsystems?
- Between chips/modules?
- Has addresses been allocated?
- Which busses/protocols will be used?
- Watchdog and reset
- Can the watchdog be bypassed? #testing
- Can it be overruled? #testing
- Can it be emulated? #testing
- What interval is necessary? #safety
- Is the worst case behavior documented?
- Should reset be pulled to default on or off?
- System characteristics
- Is there a power budget?
- Estimated power dissipation of each subsystem?
- Estimated current draw of each subsystem?
- Estimated expected operating temperature?
- Power
- How is power provided?
- Is power-up well-defined?
Some subsystems might need to be unpowered before other subsystems are powered, e.g. LED drivers unpowered until the software has booted.
Certain components such as complex microprocessors, FPGAs and other complex ICs need special power sequencing to operate correctly; consult datasheets for details. - Is power-down well-defined?
- Should any subsystems be isolated?
- Which voltage levels are needed?
- Which current draws are needed?
- Is there a shared power supply?
- Can it deliver sufficient power for all connected subsystems?
- Is the ground connection made first in hot-plugging connectors?
- Is a separate earth necessary?
- Will under or over voltage protection be needed?
- Clocks and oscillators
- Frequency linewidth/jitter are within tolerances across all environments?
Clocks and oscillators are not perfect. Their frequency jitter can vary with temperature and other environmental factors.
- Driving ICs support crystals if crystals are used?
- Input rules for clocks are followed?
FPGAs' have multi clock capable input pins, but the features available differ from pin to pin. Source: Choosing a Clock Input Pin for an FPGA
- Frequency linewidth/jitter are within tolerances across all environments?
- Testing
- Test points on PCB for critical circuits?
- Test pads for flying probe/bed-of-nails/pogos setups?
- Has a test procedure been written?
- Are special connectors needed for testing?
- Are special peripheral circuitry needed for testing?
- Breakout boards for connectors?
- Is special equipment needed for testing?
- Should there be in-circuit testing?
- Voltage monitoring?
- Current monitoring?
- Temperature monitoring?
- Peripheral device behavior
- Board revision or version The board revision or version can be made software readable using either GPIO or shift register pins tied to ground or supply. An ADC can also be used to read a voltage divider. This can also be used for board specific functionality. 5 Tips for Versioning Embedded Systems - Design News
- Is there event/data logging?
- Voltage monitoring?
- Current monitoring?
- Temperature monitoring?
- Connections/disconnects?
- Peripheral device states?
- Battery health?
- Maintainability
- Is disassembly easy?
- Is reassembly easy?
- Safety
- Fuses
- Appropriately sized?
- Fast enough for the load?
- Replaceable when board is assembled
- Replaceable when devices is assembled
- Storage for spare fuse?
- Can connections be mated in an unsafe way?
- Do connectors for different purposes share the same type of plug/socket?
- Is signal and power avoided in same connector?
Wide Band Laboratory Fire, Fermi National Accelerator Laboratory, 1987.
A misjoined connector resulted in several amps being drawn through cables rated for only 1 A. A fire started from this. Source: Wide Band Laboratory Fire
- Fuses
- EMC
- Requirements
- What noise frequencies are emitted? (e.g. clock and SMPS frequencies)
- What noise frequencies is the circuit sensitive to?
- What noise will be generated by connected devices? (e.g. mains adaptors)
- What countries will the product be sold in? What standards cover these countries?
- What is the end use for the product? Does this have any specific EMC requirements ?
Industrial or automotive use has different test requirements and permissable emission levels than consumer goods. For industrial, the levels are usually higher. See Conformance UK's guide
- Prevention
- Do switching supplies have (or have an option for) RC snubbers?
While not always needed for stability, an RC snubber can dampen ringing oscillations, which result in high frequency noise that may exceed EMC limits.
- Is differential signalling used for digital signals where possible?
Differential signals are not only more immune to noise, but emit less as well. For high speed, long signal lines (e.g. remote displays in automotive), the difference can be considerable.
- Is differential signalling used for analog signals?
- Are shielded connectors needed?
- Is a shielded case needed? How will this be bonded to ground?
- Are switched-mode power supplies synchronized?
If switch mode power supplies are powered from the same source and are not syncronized, they can produce "beat" frequencies from being out of phase, and input and output ripple is also increased. See TI Power Tip 73: Synchronizing Makes for Well-Behaved Power Supplies
- Do switching supplies have (or have an option for) RC snubbers?
- Requirements
- Failure mode analysis
- Loss of ground pins on connector
- Effect of lost connection
- Between subsystems
- To computer
- System behavior when battery is fully discharged?
- Effects of voltage transients and high voltages on FETs
- Expected failure modes of failed semiconductors
- Expected effects of failed semiconductors
- Are component ratings derated by expected operating temperature/voltage/current?
- Environmental tolerance
- Vibration
- Heating
- Radiation
- Humidity
- Magnetism
Components
- Are the necessary components in stock?
- With a margin for defects/failures/loss?
- With a margin for spill from Pick-and-Place machine?
- Are voltage ratings of components sufficient? #schematic #electrical
- Are any components expected for obsoletion?
- Are there multiple sources?
- Are there alternate manufacturers?
- Are suitable alternatives identified?
- Have errata sheets been checked? #schematic #components
- Is reset active-high or active-low?
- Do any pins need biasing / pull-up / pull-down / strap?
- During initialization?
- For addresses?
- Are some functions only available in certain modes?
- Are the inputs and outputs organized in banks?
- Are the necessary components in stock?
Floorplan
- Are mechanical constraints defined?
- Mounting
- Board size/shape
- Connector placement
- Human interface placement
- Can components be oriented in roughly the same way / consistency in layout?
- Are components easily accessible?
Large components or high density boards might make it difficult to inspect components during testing or after failure. Apart from visual blocking it can also manifest as physically blocking from accessing with probes.
- For inspection?
- For replacement?
- Are interactive components placed in a logical manner? (Consistent orientation of buttons? Consistent rotation of potentiometers?)
- Are temperature sensitive components placed away from hot components?
- Should there be a ground ring?
Ground rings serve both a signal integrity and a practical purpose. For EMC it is necessary to avoid traces along edges of the PCB. Adding a ground ring is an easy way of ensuring this constraint is held. It also provides somewhat better EMI prevention. Source: Why are vias placed this way on a PCB? - Stack Exchange
- Are mechanical constraints defined?
Schematic
- Set up
- Has DRC been set up and configured?
- Has a grid size been picked
- Has paper sizes been selected for sheets?
- Symbols
- Are explicit and informative
- Do they resemble electrical circuit symbols?
- Mark internal pull-up/-down
- Mark internal termination
- Reflect the functionality or logical structure of the component In contrast to placing pins as the physically appear on the device. Schematics should reflect functionality; board layout should reflect physical reality. Physical pin layout has its merit in making debugging easier -- however, so does having a clearer schematic.
- Pins are assigned the correct type (passive, power, in, out etc.)
- Are active-high and active-low marked consistently?
- Are power (and ground) pins consistently placed and marked?
- Do pin positions adhere to the selected grid size If the the pins are off grid, connections might not be made. Reference: EEVblog #1129 - Creating a Nice Readable Schematic (15:06)
- Functionality
- Are all pins on all ICs handled?
- Unused OPAMPs: output to negative input and positive input to ground.
- Unused comparators: All pins to common.
- Beak-out of extra pins from ICs or subsystems?
- Are mating connectors on different boards matched in pin-out?
- Have necessary inputs been ESD protected? #ESD
A typical solution would be current limiting resistors, clamping diodes.
- Multipart components are identified and utilized
- Are all pins on all ICs handled?
- Electrical
- Are reset pins pulled to high/low?
- Is reset filtered?
- Are polarized components protected/ensured against from reverse voltage?
- Pull-up on all open-collector?
- Are resistors operating within their specified voltage range?
- Is a low-impedance source driving tantalum capacitors?
It can result in premature failure. Switch-on current should also be limited. References:
- Is there sufficient bulk capacitance?
- Testing
- Are there ground connection points? (for probes etc.)
- Have necessary test points been added?
- Have configurable strap-in pins been biased?
- Have configurable strap-in pins been connected with jumpers or similar?
- Busses
- I2C
- Pull-up on SDA an SCL
I2C is open-drain and thus needs pull-up. References: Texas Instruments, Application Report, I2C Bus Pullup Resistor Calculation
- Pull-up on SDA an SCL
- JTAG
- Have datasheets been consulted for necessary pull-up/-down?
Typically TMS and TDI are pull-up and TCK is pull-down, but it changes between manufacturers and devices. Some devices have internal pull-up/-down, yet external resistors are recommended to keep start-up well-defined.
- Have datasheets been consulted for necessary pull-up/-down?
- SWD
- Have datasheets been consulted for necessary pull-up/-down?
Typically TMS and TDI are pull-up and TCK is pull-down, but it changes between manufacturers and devices. Some devices have internal pull-up/-down, yet external resistors are recommended to keep start-up well-defined.
- Have datasheets been consulted for necessary pull-up/-down?
- I2C
- Signal integrity
- Is there sufficient decoupling?
- Is there filtering between analog and digital commons?
- Are optocouplers filtered?
- Impedance on inputs from outside of board?
- Are ferrite beads on input/output power lines?
- Are ferrite beads on sensitive signal lines?
This includes signal lines that are not sensitive themselves, but connect to sensitive components. E.g. U-Blox recommend ferrite beads on GPS module UART connections to avoid RF noise travelling "along" and into the module, see U-Blox M8 Hardware Integration Manual
- Do all ferrite beads have sufficient margin in DC current rating?
When the DC current (DC bias current) approaches the maximum, the effective impedance of ferrite beads decreases significantly. See Analog Devices AN-1368, Choosing and Using Ferrite Beads
- Is there an estimate of what frequencies the ferrite beads are required to filter?
- Do high-speed single-ended digital signals have series resistors?
- Is there a footprint for a common mode filter on high-speed differential signals going offboard?
For high-speed differential buses like USB 3.0, DisplayPort, and HDMI, a common-mode filter will stop common-mode noise generated in the transceiver from traveling into the signal line where it may radiate from the cable. Notice that the filter might degrade the differential signal slightly.
Using a footprint allows one to be quickly fitted in case EMC testing fails. - Do op-amps have input filters for EMI?
High frequency EMI signals can be rectified by the op-amp if not filtered out beforehand, resulting in DC errors at the output. See Analog Devices MT-096, RFI Rectification Concepts and Analogue circuit design for RF immunity, Clough Consoltants
- Documentation and notes
- Unpopulated parts are clearly marked
- Are destinations noted if they go to other sheets
- Are connections marked with expected current draw?
- Has special PCB or layout requirements been noted? #schematic #pcb
- Impedance?
- Ground planes?
- Routing?
- Keep-out?
- References to datasheet's recommendations
- Notes explaining purpose, functionality, origin, references and caculations for circuits
- Drafting
- No overlap between text, notes references, wires, symbols etc.
- Is all text horizontal? Within reason and if there is space for it.
- Do all components have reference and value?
- Are values in a uniform format
- Are references using standard designators?
- Are references placed unambiguously?
- Decimal points avoided? Decimal points might get lost during photocopying. Reference: EEVblog #1129 - Creating a Nice Readable Schematic (44:00)
- Are all junctions dotted?
- Are no-connects marked?
- No 4-way connections 4-way junctions might get lost during photocopying. They can also be ambiguous. Reference: EEVblog #1129 - Creating a Nice Readable Schematic (1:9:40)
- No upwards pointing ground symbols?
- Are component references ordered by schematic layout?
- Are the appropriate power nets connected? (Vcc, Vss, Vdd)
- Net names on top of lines
- Are unused nets left unlabeled? If a net is labeled, it is expected to be used. It is usually clearer to leave it unlabeled. Reference: EEVblog #1129 - Creating a Nice Readable Schematic (21:20)
- All connections/markings have a purpose Connections going from and to nowhere lead to confusion.
- Sheets
- Sheets are consistently sized
- Readable when printed
- Logical layout should go left-right, top-bottom. It is a convention for input signals to "enter" on the left and progress towards right. Reference: EEVblog #1129 - Creating a Nice Readable Schematic (6:00)
- Header/block
- Name of author
- Name of reviewer
- List of revisions and changes
- Date
- Revision
- Company / organization
- Sheet/drawing number
- Final
- Has DRC passed?
- Set up
Printed circuit board
- Manufacturing
- Are gold fingers needed?
- How is the PCB panelized?
- Do layers align on panelized files?
- What stack-up is needed?
- Which finish is necessary?
- What thickness of finish?
- Is there a bill of materials?
- Ability for blind or buried vias?
- Are solder paste openings the proper size?
- Are manufacturing tolerances honored?
- Solder mask
- Silk screen
- Traces
- Holes
- Are all manufacturing requirements noted on the layout file?
- Finish, holes, thickness, solder mask
- Panelization
- Panelized PCB fits test rig
- Assembly
- Is there enough space for the minimum bending radius of the wire harnessing?
- Are fiducials needed for assembly?
- Is there a recommended/necessary order for mounting components on the board?
- Will mounting certain components make it impossible to mount others?
- Is there an assembly order for subsystems?
- Is there a testing order for subsystems?
- Footprints
- Is pin 1 marked in a consistent manner?
- Is component polarity marked in a consistent manner?
- For electrically polarized components like capacitors?
- For keyed components like connectors?
- Are high-density chips marked with pin numbers?
- Are there tick-marks for every 5/10 pin on high pin count?
- Are there square pins on components? Are the holes big enough?
- Have the footprint dimensions been cross-checked with recommended footprint for the specific component?
- Are the footprints from the datasheet defined as top view or bottom view?
- Are edge-connectors/fingers interleaved/zig-zag? Edge pins on SODIMM are interleaved in placement when comparing the two sides of the inserted board. References:
- Are there the necessary thermal pads?
- Are they exposed?
- Are they connected to the right net? The net is not necessarily ground.
- Are certain pins only accessible on the thermal pad/unexposed pads and is the assembly procedure for this noted? Sometimes the only ground connection is the thermal pad. This requires soldering the thermal pad and it is thus a assembly requirement to ensure it is soldered.
- Placement
- Are jumpers accessible?
- Are debug connectors accessible?
- Filter resistors closer to the source?
- Termination resistors closer to the target?
- Clearance
- Are all keep-out areas honored?
- Around mounting holes?
- For IC extraction tools?
- For programming tools?
- For assembly tools (wrenches, screwdrivers etc.)
- For probes?
- Trace-to-trace clearance based upon voltage rating?
- Mechanical
- Is there spacing for an assembly run marking?
- Is there clearance for connectors?
- Are there mounting holes?
- Should mounting holes be electrically isolated?
- Should grounded mounting holes have via stitching?
Vias around mounting holes improve ground connection and provides some redundancy. Source: Why are vias placed this way on a PCB? - Stack Exchange
- Are hole diameters compensating for plating?
- Is the outline of the board defined?
- Is the mechanical enclosure defined?
- Is there enough space for the mating connectors? #clearance #connectors
- Is there enough vertical space for components?
- Is there a drill legend?
- Are internal corners rounded? Can they be milled?
- Electrical
- What stack-up is needed?
- Polarized components are oriented correctly
- All traces are routed?
- Are decoupling capacitors placed close to power pins of ICs?
- Are analog and digital commons joined at only one point?
- Does ERC pass?
- Are isolation barriers large enough? #mechanical #power #safety
- Are the appropriate power nets connected? (Vcc, Vss, Vdd)
- Signal integrity
- Are digital signals routed over separate (digital) ground planes?
- Do high-speed signals avoid gaps in ground planes?
- Are stubs minimized for high-speed signals?
- Are differential pair spacing based upon impedance matching?
- Are transmission lines terminated with an appropriate impedance?
- Are crystal connections short?
- Is there a guard ring around the crystal?
- Are there filters on A/D pins?
- Drivers / receivers placed close to connectors?
- EMI / RFI close to entry / exit of shielded areas?
- Are traces avoided under sensitive components?
- Are traces avoided under noisy components?
- Are vias avoided under metal-film resistors?
- Is via fencing of sensitive RF transission lines done with the proper via spacing? (< 1/20 lambda)
- Is there an option for a shielding can over sensitive circuitry e.g. RF?
- Are bypass capacitors close to power pins?
- Is low inductance mounting used for decoupling?
- Copper pour
- Ground / power pins are connected and checked?
- No pour between adjacent pins on ICs?
These can be mistaken for shorts during inspection. A keep-out zone between pins can fix this without adjusting the pour clearances.
- Has all layers been checked?
- Are there thermal reliefs at appropriate places?
- Do they introduce ground loops?
- Traces
- Are trace-pad connections sufficiently obtuse (angle 90 deg or more)?
- Are the trace widths sufficient for the current draw and max heating?
- No connections between adjacent pins on ICs?
These can be mistaken for shorts during inspection.
- Are vias for internal power traces big enough?
- Is there enough space for heatsinks? #mechanical #thermal
- Has mitered bends or soft curves (r > 3 trace width) been implemented for impedance sensitive traces?
- Thermal
- Are temperature sensitive components placed away from hot components?
- Are there thermal vias in thermal pads?
- Testing
- Are there ground connection points close to analog test points?
- Are there test points for nets which are difficult to probe due to layout?
Some nets might be inaccessible because of other components, casing and so on. In this case they should be made more accessible.
- Silk screen
- Notes and documentation
- Is there a revision number?
- Is there a date?
- Is there blank space for a serial/assembly number? Remember to consider how large it should be. Reference: Writable area on a PCB - Stack Exchange
- Are connector pin-outs labeled?
- Fuse size and type marked on PCB
- Are functional groups marked?
- Are high-density chips marked with pin numbers?
- Is functionality labeled?
- Test points
- LEDs
- Buttons
- Connectors/terminals
- Mounting holes
- Jumpers
- Drafting
- No silk screen on pads
- All text is readable from at most two directions
- Will the silk screen be legible?
- Are component references order by PCB layout?
- Is there a coordinate system?
- Notes and documentation
- Final
- Does ERC pass?
- Are there any superfluous vias?
- Does LVS pass?
Layout Versus Schematic is a check to confirm that the board layout actually implements the schematic. That is: Are the traces actually connecting the proper components? Resources: Wikipedia.
- Header/block
- Name of author
- Name of reviewer
- List of revisions and changes
- Date
- Revision
- Company / organization
- Sheet/drawing number
- Manufacturing
Ordering
- Do production files match design files?
- Missing or wrong geometry?
Complex geometry can sometimes cause errors during export. Pads and artwork can also be assigned to the wrong layers.
- Right number of layers?
- Missing or wrong geometry?
- Has the correct/latest files been uploaded?
Yes, this does happen.
- Do production files match design files?
Board inspection
- Solder mask alignment
- Solder mask curing
Wired harnessing
- Wire gauge compatible with termination
- Cable ties and lacing cord is noted
- Length and color is noted
- Avoid signal and power in same connector
- Avoid current flow to remote sources through earth
- Is there a breakout board for the connector?
- Wire termination is noted
- Heat shrink tubing
- Solder
- Crimp force
Software
- Is automated software testing used? #software #procedure
- Is there a style guide?
- Are loops checked for termination conditions?
- Is power up and power down handled correctly?
- Are unused interrupts handled? (Either restart or damage control)
- Is there a difference between warm and cold reset?
- How does the devices behave if only the software is reset?
- Memories
- Are setup, hold and access times correct for external memories?
- Is memory integrity checked?
- Is memory integrity guaranteed?
- Is unused program memory/ROM spaces filled with traps or restart instructions?
- Bounds checks
- Is user/sensor input bounds checked?
- Are outputs bounds checked?
- Are calculations bounds checked?
- Are buffer overflows handled?
- Data structures and formats
- Do they include a version number or identifier?
- Are the bounds of variable size formats well-defined?
- Software characteristics
- CPU utilization
- Memory utilization
- Interrupt response time
- Interrupt execution time
- Versioning
- How is software versioned? Semantic versioning is an excellent choice. References: Semantic Versioning
- Is version defined in a header? By defining the version in a header it is easy to update and consistently written.
- How is software versioned?
Documentation
- Usage instructions
- Assembly instructions
- Troubleshooting instructions
- Component list
- Schematic diagrams
- PCB explanation
- Design decisions
Neat resources
- PCB Layout & RoutingExcellent design flow for approaching a board layout.
- EEVblog #1129 - Creating a Nice Readable Schematic
- How were schematics drawn before CAD? - Stack Exchange
- Akin's laws of spacecraft design