Skip to content

PCBA Studio checks that your firmware and your hardware agree.

A board can route one pin, CubeMX can configure another, and the firmware can still compile. PCBA Studio reads the schematic, the CubeMX file, and the firmware on your machine and reports the contradiction with the file, the location, and the quoted evidence.

The review runs in your browser. Nothing is uploaded unless you save it.

STM32LQFP48PD8PB10SchematicPD8USART3_TXFirmwarePD8GPIOD, GPIO_PIN_8CubeMXPB10USART3_TX
An illustration, not a customer board. USART3_TX is on PD8 in the schematic and in the firmware. CubeMX assigned it to PB10.

Every finding carries its evidence

A finding names the file, the exact location, and the lines that contradict each other, then says what breaks on the board and what to change. This one comes from the reference board.

Errorcross_domain.pin.mismatch

Reference_Board.SchDoc U1 PA2

The schematic routes USART2_TX to PA2, resolved from wire geometry. The MCU configuration assigns USART2_TX to PA14.

Quoted evidence

  • PA2 (package pin 12) carries net 'PA3_USART2_TX'Reference_Board.SchDoc
  • PA14.Signal = USART2_TXReference_Board.ioc
Consequence
The board is fabricated from the schematic, so the signal will be on PA2. Firmware configured for PA14 will drive the wrong pad and the interface will not work on assembled hardware.
Recommended action
Decide which pin is intended. If the schematic is right, move USART2_TX to PA2 in CubeMX and regenerate. If the config is right, the schematic needs an ECO before layout.

Nine checks, six of them across domains

Connectivity comes from the wires on the sheet. A net label only supplies a name.

Across schematic, CubeMX, and firmware

cross_domain.pin.mismatch
The same peripheral signal is routed to different pins in the schematic and in the .ioc.
cross_domain.mcu.part_mismatch
The schematic and CubeMX file name different MCU parts. Pin comparisons are skipped until the inputs match.
cross_domain.firmware.hardcoded_pin_drift
Hand-written firmware writes or configures a pin that the .ioc assigns to a peripheral. Reads do not count.
cross_domain.pin.unconfigured
A peripheral signal on the schematic is absent from the .ioc.
cross_domain.mcu_config.incomplete
The .ioc covers almost none of the schematic. One finding is reported instead of a list of individually true and collectively useless pin findings.
cross_domain.peripheral.unconnected
A peripheral configured in the .ioc has no matching schematic connection.

Within the schematic and the MCU

schematic.net.mislabelled
A net label's pin prefix disagrees with the geometric connection.
schematic.net.open_circuit
A part nearly touches an MCU pin and stops short. This rule is heuristic.
stm32.pin.alternate_function_impossible
The selected pin cannot carry that peripheral signal, according to the MCU database installed with CubeMX. A review on this website skips this rule and says so, because that database is not included with PCBA Studio.

How a review is run

  1. Step 1

    pcba inspect .

    Shows the schematic sheets, the .ioc, the firmware roots, and which checks can run on this project.

  2. Step 2

    pcba review .

    Writes the findings. Exit 0 means clean at the chosen severity, 1 means findings, 2 means the review could not run or a required check had no usable coverage.

  3. Step 3

    coverage.skipped

    Lists every check that could not run. Read it before you trust a clean result.

The checker stays on the machine

The pcba command and the VS Code extension read the project where they run. They do not send the schematic, the .ioc, or the firmware to this website.

Website reviews run in your browser. On Pro, Team, and Enterprise, explicitly saving uploads the report and the original files to the workspace. Workspace members can read saved content.

Where the product stops

  • Gerber, ODB++, Excellon, BOM, pick-and-place, and panel data belong to Gerbtrace.
  • Component price, stock, and lifecycle belong to Elexess.
  • Flashing a device and writing option bytes stay with ST's programmer.
  • Clearance, creepage, and impedance stay with Altium's design-rule check and with Gerbtrace.
  • PCBA Studio reports evidence for a person to review. It does not certify a board and it does not sign off a release.

Projects in Altium Designer

With its own MCP server and the altium-designer skill, PCBA Studio lets an AI agent build libraries, schematics, and boards in Altium Designer, one previewed and verified plan at a time.

See the Altium integration

Mechanical parts in Autodesk Fusion

The fusion360-cad skill lets an AI agent build enclosures, standoffs, and lids around your board in Fusion, then measure and check them before you print.

See the Fusion integration

See it on a real board

The reference board has six known contradictions. The review runs in your browser in about ten seconds.

Try the reference board