Engineering error reference

Canonical explanations and fixes for CAD, PCB, firmware, and manufacturing toolchain errors.

Browse by toolchain

arduino — 2 pages

cadquery — 3 pages

esp-idf — 1 page

kicad — 33 pages

manifold — 6 pages

opencascade — 19 pages

platformio — 1 page

tscircuit — 27 pages

Standard_OutOfMemory

Standard_OutOfMemory is an Open CASCADE Technology (OCCT) runtime exception thrown when the memory manager fails to allocate a requested heap buffer or when an excessive memory request is issued. It is explicitly designed in TKernel to be raised without dynamic heap allocation so that out-of-memory states can be trapped safely.

Board edge clearance violation

A KiCad DRC error indicating that a copper object (such as a track, pad, via, or copper zone) is placed closer to the board outline or a routed slot than the configured minimum copper-to-edge clearance.

Duplicate pins with different nets

The KiCad Electrical Rules Checker (ERC) detected multiple pins in a single schematic symbol that share the same pin number but are connected to different nets. All pins sharing an identical number in a symbol instance must be assigned to the same net.

tscircuit / circuit-json: pcb_component_invalid_layer_error

This error occurs when a PCB component is assigned to an invalid or unsupported board layer. In the tscircuit and Circuit JSON specification, physical components can only be mounted on external surface layers (top or bottom). Placing a component on an internal copper layer or specifying an unrecognized layer string triggers this diagnostic.

tscircuit: PCB Component Not On Board Edge Error (pcb_component_not_on_board_edge_error)

Emitted by tscircuit when a component constrained or intended to mount at the board perimeter is positioned in the interior of the PCB outline rather than along an outer edge.

PCB Courtyard Overlap Error (pcb_courtyard_overlap_error)

Emitted by tscircuit when two component courtyard boundaries intersect or overlap on the same printed circuit board layer, violating manufacturing placement clearance rules.

tscircuit: pcb_footprint_overlap_error

In tscircuit and Circuit JSON, pcb_footprint_overlap_error is a PCB design rule violation emitted when physical footprint features—such as surface-mount pads, plated through-holes, non-plated holes, or keepouts—from distinct components collide or overlap on the board canvas.

tscircuit DRC / routing diagnostic: pcb_trace_error

In tscircuit and the Circuit JSON data specification, pcb_trace_error denotes a design rule check (DRC) or routing failure associated with a printed circuit board copper trace. It is generated when a trace segment physically intersects incompatible copper geometry on the same layer, violates board boundary limits, or fails endpoint connectivity requirements.

source_ambiguous_port_reference: Port hint matches multiple non-overlapping pads

Emitted by tscircuit and circuit-json when a port reference or port hint matches multiple distinct, non-overlapping pads on a component, preventing deterministic netlist and layout resolution.

tscircuit SourceComponentMisconfiguredError: Invalid or Conflicting Component Configuration

An error element produced within the tscircuit Circuit JSON tree when one or more source components are configured with invalid, conflicting, or mutually exclusive parameters.

PCB Pad-to-Pad Clearance Violation (pcb_pad_pad_clearance_error)

Emitted by tscircuit DRC and placement validation when two PCB pads on the same layer are placed closer together than the allowed minimum clearance rule.

tscircuit DRC: pcb_pad_trace_clearance_error

Emitted during design rule checks when an unrelated PCB copper trace is placed closer to a component pad than the permitted minimum clearance distance on the same layer.

tscircuit: pcb_panelization_placement_error

Emitted when a PCB board element cannot be placed or packed within the boundary dimensions and spacing constraints of its containing PCB panel.

PCB Placement Error (pcb_placement_error)

In the tscircuit toolchain and Circuit JSON data model, pcb_placement_error is emitted when PCB elements—such as component footprints, pads, or vias—are positioned outside the defined board boundary or fail geometric placement constraints.

tscircuit / circuit-json: pcb_port_not_matched_error

Defines a trace or routing error emitted when a PCB connection or trace references a port that cannot be matched to a corresponding pad on the target PCB component.

tscircuit: source_failed_to_create_component_error

Emitted when tscircuit fails to instantiate or construct a source component or subcircuit element during circuit elaboration, typically due to conflicting, invalid, or malformed component properties.

tscircuit: source_missing_property_error

Emitted by the tscircuit toolchain when a source component or subcircuit element definition is missing a required property necessary for compilation or downstream processing.

tscircuit DRC: Component Outside Board Error (pcb_component_outside_board_error)

Emitted by tscircuit when the physical footprint, courtyard, or bounding box of a PCB component extends beyond the perimeter of the parent board outline.

tscircuit schematic_layout_error

Emitted by tscircuit when the schematic layout engine fails to compute valid coordinates, bounding geometry, or symbol arrangements for a schematic group or subcircuit.

Open CASCADE Technology: Standard_NotImplemented Exception

Standard_NotImplemented is an Open CASCADE Technology runtime exception raised when invoking an unsupported algorithm, calling an optional or unfulfilled virtual interface method, or performing an operation that has no valid implementation for the specific geometry or driver class.

Standard_NullObject Exception in Open CASCADE Technology

Standard_NullObject is a runtime exception thrown by Open CASCADE Technology (OCCT) when an operation attempts to access, query, or dereference an uninitialized, null, or empty object reference, such as calling methods on an empty TopoDS_Shape or dereferencing a null opencascade::handle.

Open CASCADE Standard_NullValue Exception

Standard_NullValue is an exception raised by Open CASCADE Technology (OCCT) math and geometry foundations when an operation requires a strictly non-zero numerical magnitude or non-null vector norm, but encounters a value equal to zero or within numerical epsilon of zero.

KiCad DRC: Clearance violation

Design Rule Check (DRC) error emitted when two copper objects belonging to different electrical nets are placed closer together than the minimum clearance distance configured in board constraints, netclasses, footprint/pad overrides, or custom DRC rules.

Invalid Image Block or Early Flash Read Error on ESP32-S3

The ESP32-S3 ROM bootloader fails to boot and continuously resets when the software bootloader is missing, corrupted, or flashed to an incorrect offset such as 0x1000.

Standard_ImmutableObject

Standard_ImmutableObject is an Open CASCADE Technology (OCCT) domain error exception thrown when an operation attempts to mutate or reassign an object, collection, or buffer that is marked immutable or read-only.

Standard_LicenseError in Open CASCADE Technology

Standard_LicenseError is an OCCT FoundationClasses (TKernel) exception derived from Standard_Failure, thrown when a licensing validation check fails or license authorization is invalid for a component or extension.

PlatformIO Linker Error: Undefined Reference to 'setup' or 'loop'

The linker failed to find the setup() or loop() function definitions required by the Arduino framework's core main() entry point.

PCB Trace Missing Error (pcb_trace_missing_error)

The tscircuit DRC engine emits a pcb_trace_missing_error when a logical trace defined in the schematic lacks a corresponding physical layout path on the board. This usually indicates that the autorouter failed to find a valid path due to congestion or obstacles.

PCB Via Clearance Error

A design rule check error indicating that two vias on a printed circuit board are placed closer than the required minimum clearance distance.

schematic_port_not_found

The tscircuit compiler emits this diagnostic when a schematic component, trace, or net connection attempts to reference a port that does not exist on the specified symbol.

Simulation Unknown Experiment Error (circuit-json)

The simulation_unknown_experiment_error diagnostic is emitted when a tscircuit simulation engine encounters an analysis or experiment type it does not recognize, resulting in an error element within the Circuit JSON artifact.

source_invalid_component_property_error

Emitted in the compiled Circuit JSON when a user-provided component property fails validation or does not match the expected format.

SourcePinMustBeConnectedError in tscircuit

An electrical rules check diagnostic generated by @tscircuit/checks when a component pin marked as requiring a connection is left floating without any assigned source traces.

SourceTraceNotConnectedError

This diagnostic indicates that a trace was declared with selectors that could not be resolved to any valid ports. The tscircuit compiler emits this error during evaluation when trace endpoints fail to match existing components or pins.

pcb_port_not_connected_error

A diagnostic indicating that a component port assigned to a net lacks a physical trace connection on the PCB.

source_i2c_misconfigured_error

Emitted when incompatible I2C pins, such as Serial Data (SDA) and Serial Clock (SCL), are erroneously connected to the same electrical network.

Unknown Error Finding Part

The circuit builder encountered an unhandled exception or unexpected payload (e.g., HTML instead of JSON) while querying an external parts registry.

OpenCASCADE Standard_ConstructionError Exception

Standard_ConstructionError is an exception thrown by Open CASCADE Technology (OCCT) when a geometric entity or topological shape cannot be built due to invalid input parameters or violated mathematical constraints.

Standard_DimensionError in Open CASCADE Technology

Standard_DimensionError is an exception in Open CASCADE Technology (OCCT) indicating an operation was attempted on operands, such as matrices, vectors, or arrays, that have incompatible dimensions.

Standard_DimensionMismatch in Open CASCADE Technology

An exception raised in Open CASCADE Technology (OCCT) when an operation encounters data structures, such as arrays, vectors, or matrices, with incompatible bounds, sizes, or dimensions.

Standard_DivideByZero in Open CASCADE Technology

Standard_DivideByZero is an OCCT exception signaling an attempt to divide by zero. It is explicitly thrown by geometric routines or emitted via hardware traps to prevent undefined behavior.

Standard_MultiplyDefined

In Open CASCADE Technology, Standard_MultiplyDefined is a C++ exception thrown when an attempt is made to bind or define an element using a key that already exists in a context requiring strict uniqueness, such as within an NCollection_DoubleMap.

OCCT Standard_NegativeValue Exception

Standard_NegativeValue is an OCCT exception raised when a geometric or topological algorithm receives a negative parameter for a quantity that must be strictly positive, such as a radius or offset distance.

Standard_NoSuchObject

An exception raised by Open CASCADE Technology (OCCT) when an operation attempts to access a requested geometric or topological object that does not exist, or queries a property undefined for the current state.

Open CASCADE Standard_OutOfRange Exception

An exception thrown by the Open CASCADE Technology (OCCT) geometry kernel when an index or parameter falls outside the valid bounds of a collection or geometric entity. This commonly occurs due to 0-indexing errors, as many OCCT collections dynamically define bounds and are conventionally 1-indexed.

Standard_Overflow Exception

Standard_Overflow is an Open CASCADE Technology (OCCT) diagnostic exception emitted when a numeric operation computes a value exceeding the bounds of the underlying data type, such as DBL_MAX for a floating-point type [1].

Standard_ProgramError in Open CASCADE

A core OCCT exception raised when a critical programmatic invariant is violated, most commonly by attempting to create an intrusive handle to a stack-allocated transient object.

Open CASCADE Standard_RangeError

`Standard_RangeError` is a C++ exception thrown by Open CASCADE Technology (OCCT) when an index accesses a collection or mathematical structure outside its defined bounds.

Standard_Underflow in OCCT

The `Standard_Underflow` diagnostic is a C++ exception in Open CASCADE Technology (OCCT) raised when a floating-point calculation evaluates to a subnormal value. It typically occurs when hardware floating-point exceptions (FPE) are enabled globally via `OSD::SetSignal()` and caught using the `OCC_CATCH_SIGNALS` macro.

FaceIDWrongLength in Manifold-3D MeshGL Construction

The Manifold-3D kernel emits a FaceIDWrongLength error when a supplied MeshGL object provides a faceID array whose length does not match the exact number of triangles in the mesh.