Brick electronics · offline connection planning

Does the physical wiring match your program’s port map?

Build a named Powered Up hub port worksheet, compare physical and program assignments, catch duplicate sockets and check a scoped two-motor program pair.

Your setup and observations

A count of four components on four ports can still be wrong. Map each independent task to its physical socket and the port selected in the program, then inspect the conflicts.

Setup
Connection 1
Local label only; blank means unused where indicated.
Connection 2
Local label only; blank means unused where indicated.
Connection 3
Local label only; blank means unused where indicated.
Connection 4
Local label only; blank means unused where indicated.
Connection 5 — optional
Connection 5
Local label only; blank means unused where indicated.
Connection 6 — optional
Connection 6
Local label only; blank means unused where indicated.
Optional program pair

Work through a concrete example

Example: choose Technic 88012, then compare the distance sensor physically plugged into C with the default program setting D. Four tasks can fit four sockets and still have an incorrect map. Change that program selection to C; for a Pybricks DriveBase, separately identify two different rotation-sensing motor rows.

One row means one independent external connection

Use City Hub 88009 A/B, Technic Hub 88012 A–D, or SPIKE Large Hub 45601 A–F. The worksheet catches absent/out-of-profile ports, two independent components assigned to one physical socket, repeated program ports, and physical/program mismatches. It does not create splitter or multiplexer support.

The default example has enough sockets but the wrong map

Left and right motors occupy A and B, a distance sensor is physically on C but its program says D, and the light uses D. Correct the sensor program selection to C to remove the mismatch and duplicate program assignment. Transfer the resulting worksheet to the exact project; no connected hardware is inspected.

Pair checks are specific, not universal

The optional Pybricks DriveBase check requires two different active rows containing rotation-sensing motors, in an already-installed documented Pybricks runtime. It rejects one port used twice, a sensor/light as a motor, and basic DC motors without rotation sensing. It is not a claim that every stock app has the same pairing behavior.

Hardware capacity is not app compatibility or power

The official SPIKE technical sheet allows freely selected paired ports but explicitly warns that the app may not support every hardware function. Pybricks device support belongs to that installed runtime, not automatically to original LEGO apps. No motor-current sum, battery-life estimate or overload-safe verdict is produced.

Built-in resources stay separate

Buttons, status lights and internal sensors are not extra external ports. BOOST Move Hub is deliberately not a profile here: its built-in motors must not be counted as external sockets. Blank task labels receive connection-row names; unused rows do not consume a port.

Primary sources and limits