Canonical explanations and fixes for CAD, PCB, firmware, and manufacturing toolchain errors.
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.
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.
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.
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.
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.
Emitted by tscircuit when two component courtyard boundaries intersect or overlap on the same printed circuit board layer, violating manufacturing placement clearance rules.
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.
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.
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.
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.
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.
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.
Emitted when a PCB board element cannot be placed or packed within the boundary dimensions and spacing constraints of its containing PCB panel.
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.
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.
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.
Emitted by the tscircuit toolchain when a source component or subcircuit element definition is missing a required property necessary for compilation or downstream processing.
Emitted by tscircuit when the physical footprint, courtyard, or bounding box of a PCB component extends beyond the perimeter of the parent board outline.
Emitted by tscircuit when the schematic layout engine fails to compute valid coordinates, bounding geometry, or symbol arrangements for a schematic group or subcircuit.
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 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.
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.
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.
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 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 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.
The linker failed to find the setup() or loop() function definitions required by the Arduino framework's core main() entry point.
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.
A design rule check error indicating that two vias on a printed circuit board are placed closer than the required minimum clearance distance.
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.
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.
Emitted in the compiled Circuit JSON when a user-provided component property fails validation or does not match the expected format.
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.
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.
A diagnostic indicating that a component port assigned to a net lacks a physical trace connection on the PCB.
Emitted when incompatible I2C pins, such as Serial Data (SDA) and Serial Clock (SCL), are erroneously connected to the same electrical network.
The circuit builder encountered an unhandled exception or unexpected payload (e.g., HTML instead of JSON) while querying an external parts registry.
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 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.
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 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.
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.
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.
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.
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 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].
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.
`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.
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.
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.