Core Features
Wiring & Routing
ProtoFlow provides powerful wire drawing tools with orthogonal routing, A*-based smart routing, automatic connection detection, and intelligent wire segment editing.
# Drawing Wires
Wires connect component pins together to form electrical nets. ProtoFlow enforces orthogonal (horizontal and vertical) wire segments for clean, professional schematics.
How to Draw a Wire
- Press W to activate the wire tool
- Click on a component pin or empty space to start the wire
- Move the cursor — the wire follows in orthogonal segments (horizontal then vertical, or vice versa)
- Click to place a waypoint (bend in the wire)
- Double-click or click on another pin to finish the wire
- Press Escape to cancel the current wire
Wire Drawing Modes
Orthogonal Mode (Default)
Wires are constrained to horizontal and vertical segments only, creating clean 90-degree bends. This is the standard mode for professional schematics.
Pin-to-Pin Connection
When you start a wire on a pin and end it on another pin, ProtoFlow automatically creates an optimized orthogonal route between them.
Wire being drawn from one component pin to another with orthogonal routing
# Smart Routing (A* Pathfinding)
ProtoFlow includes an A*-based smart routing engine that automatically finds the best path between two points while avoiding obstacles.
How Smart Routing Works
The routing engine uses the A* pathfinding algorithm with the following optimizations:
- Obstacle inflation — Components and existing wires have an inflated boundary to prevent overlaps
- Bend penalty — The algorithm minimizes unnecessary bends for cleaner routes
- Grid-based pathfinding — Routes are computed on the grid for consistent alignment
- Existing wire avoidance — New routes avoid crossing or overlapping existing wire segments
- Orthogonal constraint — All routed segments maintain 90-degree angles
Auto-Routing Status
The status bar shows the current auto-routing status. When smart routing is active, you'll see an indicator confirming the routing engine is processing.
Smart routing automatically finding a path around components and other wires
# Automatic Connection Detection
ProtoFlow automatically detects and manages connections between wires and component pins, ensuring accurate netlists without manual effort.
Connection Features
- Pin snapping — Wire endpoints automatically snap to the nearest pin when drawn close enough
- Wire-to-wire junctions — When a wire endpoint touches another wire, a junction is created automatically
- Intersection detection — ProtoFlow distinguishes between wire crossings (no connection) and wire junctions (connection)
- Component attachment — When you move a component, wires attached to its pins move with it
- Net extraction — Connected pins and wires are grouped into nets using BFS (Breadth-First Search) connectivity analysis
No-Connect Markers
Press N to place a no-connect marker on an unused pin. This tells the DRC that the pin is intentionally left unconnected, suppressing floating pin warnings.
Automatic junction detection where two wires meet, and a no-connect marker on an unused pin
# Wire Editing
Modify existing wires by editing their segments and waypoints without deleting and redrawing.
Editing Operations
- Segment dragging — Click and drag a wire segment to move it while maintaining orthogonal constraints
- Waypoint manipulation — Adjust bend points to change the route of a wire
- Wire deletion — Select a wire and press Delete to remove it
- Wire cleanup — The auto-cleanup feature removes redundant wire segments and optimizes routes
- Dead-end removal — Orphaned wire segments that don't connect to anything are detected and can be removed automatically
Wire segment being dragged to adjust the route
Next Steps
- → Learn about Power & Net Management
- → Explore Layout Automation for auto-routing
- → Run Design Analysis to validate connections