Skip to content

Feature Request / Routing Failure: Layer swaps not supported for multi-point nets #17

@MenashayAu

Description

@MenashayAu

I am using KiCadRoutingTools on a dense 4-layer ESP32 board and encountered a routing failure due to a current limitation with multi-point nets.

When attempting to route an I2C bus (/I2C_SDA) that connects 5 pads, the router was unable to complete the path. Because the net connects more than 2 points, the plugin disabled layer swapping (vias) for this net, forcing it to try and find a continuous 61mm path entirely on a single layer, which failed after 410,000 iterations.

Relevant Log Snippet:
Using 2 routing layers: ['F.Cu', 'B.Cu']
WARNING: Skipping layer swaps for 1 multi-point net(s) (not yet supported)

  • /I2C_SDA
    ...
    [1/1] Routing /I2C_SDA (id=25)
    Detected multi-point net with 5 pads (Phase 1: main route only)
    Multi-point net Phase 1: routing longest MST edge (pads 1 and 4, length=61.36mm)
    No route found after 200000 iterations (forward), trying backward...
    Failed to route farthest pair after 410000 iterations
    FAILED: Could not find route (0.22s)

Feature Request:
It would be incredibly helpful to have layer swapping (via placement) supported for multi-point nets in a future release. Currently, this limitation requires users to manually route all buses (I2C, SPI, etc.) that connect to more than two components on dense boards.

Thank you for your work on this tool!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions