Automation

Layout Automation

ProtoFlow includes a physics-based auto-placement engine, A*-powered auto-routing, and intelligent schematic cleanup tools to automatically organize and optimize your designs.

# Auto-Placement

The force-directed placement engine automatically arranges components into a clean, readable layout using physics simulation.

How It Works

The auto-placement engine simulates physical forces between components to find an optimal arrangement:

ForceEffect
RepulsionPushes components apart to prevent overlaps and maintain spacing
AttractionPulls connected pins closer together to minimize wire lengths
Channel gravityAligns components into horizontal or vertical channels for organized rows
Grid gravitySnaps components to the grid after placement converges
Signal flow biasArranges components left-to-right following signal flow conventions
Vertical flow biasPlaces power symbols at the top and ground at the bottom

Convergence

The simulation runs iteratively until the layout converges — meaning components have settled into stable positions with minimal remaining forces. The algorithm automatically detects convergence and stops.

[ Screenshot ]

Before and after comparison of auto-placement on a complex schematic

# Auto-Routing

The A*-based auto-routing engine automatically draws wires between connected pins, finding optimal paths around obstacles.

Routing Algorithm

  • A* pathfinding — Uses the A* algorithm to find the shortest path between pins
  • Orthogonal routing — All wire segments are horizontal or vertical (90-degree bends only)
  • Obstacle avoidance — Routes around components and their inflated boundaries
  • Wire segment avoidance — Avoids crossing or overlapping existing wires
  • Bend minimization — Penalizes unnecessary bends for cleaner routes
  • Grid-aligned — All routes follow the grid for consistent spacing

Using Auto-Routing

Auto-routing can be triggered in several ways:

  • Ask the AI Copilot to "route all unconnected pins"
  • Use the AI to "connect the SPI bus" or other specific routing tasks
  • The routing engine is also used during wire drawing to suggest optimal paths
[ Screenshot ]

Auto-routed wires navigating around components with clean orthogonal paths

# Schematic Cleanup

Clean up your schematic by removing dangling components, dead-end wires, and orphaned segments.

Cleanup Operations

Dangling Component Detection

Finds components with no connections to the rest of the circuit. A dialog shows all detected dangling components with options to delete them or keep them.

Dead-End Wire Removal

Removes wire segments that have one end connected but the other end floating (not connected to any pin or junction).

Orphaned Wire Cleanup

Removes wire segments that aren't connected to anything on either end.

Position Optimization

Compacts the layout by moving components closer together while maintaining minimum spacing rules.

Grid Alignment

Snaps all off-grid elements to the nearest grid point for consistent alignment.

Running Cleanup

Access the cleanup dialog from the toolbar or ask the AI to "clean up the schematic" or "remove dangling components." The cleanup dialog shows a preview of all detected issues before you apply changes.

[ Screenshot ]

Cleanup dialog showing detected dangling components with delete/keep options

Next Steps