Schematic and PCB Checklist
Updated on 2026-01-02
Preface: This page loads non-obfuscated JS code.
Throughout my time designing PCBs in my professional career, something that we recently instituted at my workplace that turned out to be really helpful is a design checklist. Every time we are ready to order a board, we go through every line item in the checklist and cross it off before placing the order, even for simple prototypes.
This has saved us many times from accidental errors that would have resulted in costly future reworks or re-spin of the design. While initially it seems like a bureaucratic time sink, the time spent going through the checklist is far less costly than the alternative.
I decided to create my own checklist that I will use on my personal projects. This checklist on this page will be continuously updated as I find more stuff to add or change on the list.
The form in this page can be used to complete the checklist. After you are done, click on “Export” to get a text version of the checklist. You can also drag-and-drop back in a checklist to finish off where you started
Issues & Contributing
If you find an issue with this page or list, or want to submit feedback, feel free to submit an Issue on this blog’s Github repo or email me @ general@electro707.com
If you would like to contribute to this list or the page, feel free to submit a pull-request on the Github repo.
Release Notes
- 2025-12-28: Initial push
- 2026-01-01:
- Added the option to have
checkExtraFieldsin the definition JSON for more than just a check, for example “BR” (Before Release) or “BF” (Before Fab) - Moved the revision/name and the above new field to a top-level
conffield - Added notes per individual check item through a drop-down, to make note during the checklist for example
- Fixed issue where UTC time instead of local time was used in determining current date
- Added the option to have
- 2026-01-02: Changed button detection from
e.isPrimary, which only worked in Firefox, toe.button==0
Checklist
Notes
- Some companies have one part number for the schematic+pcb, others have it split. If you have a single part number, feel free to leave the other entry empty.
Functionality
If you drag-and-drop in a previously generated checklist, it should re-load all the checked items. The drag-and-drop must happen within the boxed checklist area.
If you hover over a text item, I wrote down some of my rationale and thoughts on each check item.
The checklist definition/items can be customizable. First download the template used, which is a JSON. Modify the JSON to your needs. Other than the field conf, the top level keys, in sequential order, are the categories listed. Each category is a list of dictionaries, where each dictionary must include an id and text field. The ID is used to track the item, in case the wording is changed but the underlying context is not. An optional info can be added to define some rational text which is shown on hover. Drag-and-drop your customized list definition, or click on the “Load List Definition” button to load it in.
If you are loading in a previous checklist, please load the definition first before the list.
Some companies have more statuses than just check or nothing, for example a “Before Release” check option that indicates the board may be ordered but it is noted it must be fixed before releasing the documentation. That is why in the JSON config, the key checkExtraFields in conf can be customized to add any extra check statuses for the box. If you right-click on a checkbox, a dropdown will be shown of the different options. Left-lick still operates as normal.
Click on an item’s right triangle marker to drop-down a notes area per item to type individual notes. This is separate from the “Additional Notes” field at the bottom of the list.
The List
Additional Notes: