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:
| Force | Effect |
|---|---|
| Repulsion | Pushes components apart to prevent overlaps and maintain spacing |
| Attraction | Pulls connected pins closer together to minimize wire lengths |
| Channel gravity | Aligns components into horizontal or vertical channels for organized rows |
| Grid gravity | Snaps components to the grid after placement converges |
| Signal flow bias | Arranges components left-to-right following signal flow conventions |
| Vertical flow bias | Places 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.
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
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.
Cleanup dialog showing detected dangling components with delete/keep options
Next Steps
- → Run Design Analysis after cleanup
- → Export via File Management