Rule reference
Find what each check means, see an example, and learn how to fix it.
59 rules
Layout
-
Layout/AmbiguousSupplySource
supply from:refers to a pin that matches more than one provided power output. Give each output a distinct positive pin in the part definition so the source has one matching return pin and voltage. -
Layout/BodyOverlap
Two component bodies intersect even though their leads use different holes. This rule checks rectangular modules with
render.size_mm, DIP bodies whose complete pin rows establish their position, and circular 5 mm LED bodies (led_5mmorrgb_led_5mm). Touching edges do not count as an overlap. -
Layout/DuplicateRef
Component references and wire IDs must be unique within a circuit.
-
Layout/HoleConflict
Only one component lead or supply terminal can occupy a physical hole.
-
Layout/HoleCovered
A module or DIP body covers a hole used by another component lead or an electrical wire endpoint. The check uses the module's
render.size_mm, or a complete DIP pin arrangement, and physical hole positions. Move the lead or wire endpoint to a visible hole; a hole on the same conductive strip is fine if it is outside the body. -
Layout/InvalidColor
A component or wire color is not a valid CSS color. Use a named color, hex,
rgb(), orhsl(). -
Layout/InvalidHole
The reference does not identify a hole on the selected board.
-
Layout/InvalidOption
A component attribute has a value outside its part definition. Use an allowed value.
-
Layout/InvalidPlacement
A DIP must straddle rows
eandf; a fixed footprint must fit inside the board. -
Layout/InvalidRoute
A wire route is not supported. Use a route accepted by the breadkit DSL.
-
Layout/InvalidValue
A component value cannot be parsed for its part category. Check digits and unit suffixes.
-
Layout/InvalidWireId
A wire ID looks like a board hole and makes references ambiguous. Choose a distinct ID such as
W20. -
Layout/LeadSpan
A two-lead part is placed farther apart than its declared
max_lead_span_mm. The rule measures the straight-line distance between the two board holes using the board's 2.54 mm pitch. -
Layout/NoFreeHole
Automatic rail or pin-strip selection found no unoccupied hole.
-
Layout/PartOverride
A custom part replaces a built-in definition. Verify its pinout and attributes before using it.
-
Layout/PinsInSameStrip
Two pins of the same component share a conductive strip, bypassing the component.
-
Layout/SplitNetLabel
The same net label appears on disconnected parts of the board. Connect those locations or use distinct names.
-
Layout/UnknownBoard
The selected board definition cannot be loaded. Check the board name or the path supplied to
use_boards. -
Layout/UnknownOption
Reports a component or offboard option that Breadkit does not recognize. The electrical and intent checks are skipped until the option is corrected.
-
Layout/UnknownPart
The named part definition is not built in or loaded with
use_parts. -
Layout/UnknownPin
A wire, label, or expectation refers to a pin that the component definition does not contain.
-
Layout/UnknownSupplySource
supply from:refers to a pin that is not a provided power output of an offboard component. Check the component reference and choose one of its declared power outputs, such asUNO.5V. -
Layout/UnknownTransistorModel
Warns when a transistor model is not recognized. Breadkit uses a generic EBC pinout in this case, which may differ from the physical component.
-
Layout/UnmatchedParts
The
use_partspath matches no files. Check its spelling and location relative to the circuit file. -
Layout/UnplacedPin
One or more component pins have no board hole. Supply every required pin location or use a supported footprint placement.
-
Layout/WireOverIC
A straight electrical jumper crosses a DIP IC body in the layout. This informational finding helps when planning a build where the jumper should not pass above the chip. Route the wire around the chip if clearance matters.
Electrical
-
Electrical/CapacitorVoltageRating
Checks electrolytic capacitors with an explicit voltage rating, such as
electrolytic :C1, "10u 16V", plus: "a1", minus: "a2". When DC bounds are available, the check uses the largest paired voltage difference across the capacitor at each source and resistor tolerance scenario, including resistor networks. Otherwise, it uses the highest known voltage estimate. Diode circuits use endpoint estimates;Electrical/DcBoundsIncompletewarns when a passing check does not establish safety across the full range. -
Electrical/DanglingWire
At least one wire end is not connected to another component, supply, or wire on that strip.
-
Electrical/DcBoundsIncomplete
The declared source ranges and resistor tolerances could not be bounded completely. Current, power, and voltage findings can still identify an observed violation, but an absence of findings does not establish that every operating point is safe.
-
Electrical/FloatingInput
An explicitly typed
inputpin has an electrical connection, but its net has no modeled voltage source, output driver, or fixed resistor path to one. Check whether it needs a pull-up, pull-down, or output connection. -
Electrical/FloatingPin
A component pin has no external connection. A pin listed with
unused:is intentionally ignored. -
Electrical/GpioOvercurrent
A GPIO or output pin with a declared
max_currentcarries more current than its rating in the DC model. The limit is in amperes in the part definition. This rule only evaluates a pin that is also an explicit, fixed-voltageprovidesterminal, so the output state and load current are known. -
Electrical/I2CAddressConflict
Two devices with the same
address:share both SDA and SCL nets. Change one device's address or move it to another I2C bus. -
Electrical/I2CPullupMissing
An addressed component with both
SDAandSCLpins has an externally connected bus line without a modeled positive resistance to a declared supply's positive net. The rule checks each line separately and ignores unconnected or unpowered buses. -
Electrical/LedOvercurrent
Checks an LED whose part definition declares
max_forward_current. This includes model-specific diode parts with theneeds_series_resistorflag. The DC model estimates its current using the supply, resistors, and that part's optionalforward_voltageandon_resistancevalues. The rule reports a current above the declared limit. -
Electrical/MinimumResistance
A potentiometer wiper can reach either end of its resistive track. If it is the only current-limiting element in an LED path, the resistance can approach 0 Ω and the LED may be damaged. This rule checks connected power and GPIO paths at both wiper extremes. It does not flag a pot used only between its two end pins.
-
Electrical/MissingBaseResistor
A pin explicitly typed
outputshares a conductive net with a part categorized as a transistor's explicitbasepin. There is no series resistor between those two pins. Add a suitable resistor between the driver output and the transistor base. -
Electrical/MissingDecouplingCapacitor
A part categorized as an
ichas explicit power and ground pins connected across a modeled voltage source, but no capacitor bridges those resolved nets. Place a suitable decoupling capacitor across the IC's supply pins. -
Electrical/MissingFlybackDiode
A part explicitly marked with
flags: [needs_flyback_diode]has named positive and negative coil pins, but no reverse diode bridges their resolved nets. The rule checks a load only when a modeled supply terminal connects to one side and the other side connects to a modeled supply terminal or a non-diode component pin. A jumper ending on an empty strip is ignored. A protective diode must have its cathode on the coil's positive net and its anode on the negative net. -
Electrical/MissingPullResistor
An explicitly typed input connects to one side of a switch, and the other side reaches a declared supply terminal. With the switch open, the input has no modeled drive or pull resistor. Add a fixed pull-up or pull-down resistor to a supply terminal so the open state is defined.
-
Electrical/MissingSeriesResistor
An LED has a known unprotected path across a supply or GPIO output. The check follows conductive diode and transistor paths but cannot prove current through every active device.
-
Electrical/NetLabelConflict
One connected net has multiple distinct labels.
-
Electrical/NoCommonGround
Multiple power supplies belong to disconnected supply-reference groups.
-
Electrical/PowerPinUnconnected
A part pin marked
role: powerorrole: grounddoes not reach the matching supply. -
Electrical/RailPolarityMismatch
An explicit voltage source drives both rails opposite their marked polarities: its positive terminal connects to a
−rail and its negative terminal to a+rail. The check follows electrical jumper connections and uses rail polarity from the board definition. It does not infer polarity from wire colors or net labels. -
Electrical/ResistorPowerRating
Checks resistors with an explicit power rating, such as
resistor :R1, "100 1/4W", pins: %w[a1 a2]. Complete DC bounds account for declared source voltage ranges and resistor tolerances across the network, including power peaks at interior resistance values. Diode circuits use endpoint estimates. If complete bounds are unavailable, the rule falls back to a known voltage estimate and the lowest allowed resistance, whileElectrical/DcBoundsIncompletewarns that a passing check does not establish safety. -
Electrical/ReversePolarity
The positive pin of a polarized part is at a lower known potential than its negative pin.
-
Electrical/ShortCircuit
Power constraints assign incompatible voltages to one connected net. The message includes a physical route when one is available.
-
Electrical/ShortedComponent
A two-pin component's pins resolve to the same net, so current can bypass the component.
-
Electrical/SplitRail
A used segment of a split power rail has no known supply potential while another segment of that rail is powered.
-
Electrical/SupplyOverload
A supply with
current_limit:is delivering more current than its declared limit. The value is in amperes:current_limit: 0.02means 20 mA. -
Electrical/SupplyVoltageRange
The known voltage difference between a part's power and ground pins is outside its declared
supply_range. -
Electrical/VoltageDomainMismatch
A signal pin with
max_voltagemetadata is above its allowed voltage relative to the component ground. Add a level shifter or divider, or use a compatible voltage source.
Intent
-
Intent/ConnectionMismatch
Actual connectivity differs from a declared
connected,isolated, ornetexpectation. The rule also reports calculated DC voltage or current outside a declaredexpect_voltageorexpect_currentrange. -
Intent/MeasurementUnavailable
An
expect_voltageorexpect_currentdeclaration cannot be checked because the DC model has no value for that net or component. The warning includes the reason, such as an active GPIO output with an unknown drive state or a floating voltage reference. -
Intent/UnknownNet
An expectation or label refers to a hole, pin, supply terminal, or net name that cannot be resolved.
Style
-
Style/WireColor
A wire attached to a known positive or ground net uses a color outside the configured convention. Defaults are red or orange for positive voltage, and black, blue, or gray for ground.
Lint
-
Lint/RedundantDisable
A
lint_disabledeclaration suppresses no offense. Remove it or correct its rule and target. -
Lint/UnknownRuleInDisable
A
lint_disabledeclaration names a rule that Breadkit Lint does not know. Check the rule name withbklint --list-rules; unknown names do not suppress any findings.
No rules match. Try a shorter name.