Why it exists
Ordering PCBs is cheap; waiting two weeks for boards that do not boot is not. Anyone who reads PCB communities has seen the same threads over and over: a new ESP32 board that will not flash because a strapping pin is pulled the wrong way, a USB-C board that only charges from one cable, an STM32 that runs the ROM bootloader instead of the firmware. "Please review my schematic" posts are one of the most common things people ask for.
These failures are rarely exotic. They are documented in vendor application notes and hardware design guidelines that are easy to miss when you are laying out your first or fifth board. KiCad's electrical rules check does not catch them because the connections are electrically valid - the problem is design intent. Before You Fab turns those documents into 31 explicit, testable rules.
How it works
You drop a KiCad netlist or schematic onto the page. JavaScript in your browser parses it, identifies the parts (microcontrollers, regulators, USB connectors, crystals, LEDs, MOSFETs and so on) from their references, values, library symbols and pin names, and runs every rule that applies. Each finding names the parts and nets involved, explains why it matters, gives a concrete fix and links the primary source - an Espressif design guideline, an ST application note, the NXP I2C specification, a USB-IF document.
There is no server-side processing and no AI model guessing. The same file always gives the same result, and every rule can be read and argued with on the rules page.
How it is validated
- The netlist parser handles KiCad 5 through 10 export formats.
- The .kicad_sch reader computes connectivity itself. It was compared against
kicad-cli sch export netlistfrom KiCad 7.0.11 on 19 projects - six open-source ESP32, ESP32-S3, ESP32-C3, RP2040 and STM32F405 boards from GitHub, KiCad's own demo projects, and edge-case schematics built to probe KiCad's connection rules. All 2,428 nets matched, including hierarchical sheets, buses and no-connect flags. - Every rule has unit tests with examples that must pass and examples that must be flagged.
- The rules are run on the real open-source designs as a regression test, so a change that would suddenly report false errors on working boards fails the build.
What it will not do
It does not see your PCB layout, your firmware or your application. It does not replace ERC, DRC, a careful read of the datasheets or a design review. When a rule is unsure, it says so and reports an informational note rather than an error. Findings are informational and not engineering advice.
Privacy as a design constraint
Schematics are often confidential: work projects, products in development, class assignments. So the checker was built to never need your file on a server. There is no upload endpoint to leak from. Usage analytics are cookieless and only count events. The privacy policy lists exactly what is recorded.
Who builds it
Built by Mahir Patel, an electrical-engineering student at the University of Illinois Urbana-Champaign. The free checker is funded by the optional human pre-fab reviews, which are done personally and limited to a few per week.
Open source
The parsers and rules engine are written as a standalone JavaScript library with no dependencies, prepared for release under the MIT license so others can run the same checks in CI or in their own tools.
Get in touch
False positives, missing rules, KiCad files that do not parse, or ideas: use the contact page. Reports of rules that misfire are especially useful - they are how the checks get better.