fritzing / fritzing-app

Fritzing desktop application
http://fritzing.org
Other
4.04k stars 836 forks source link

Autorouter: automatic pin selection #3696

Open CAFxX opened 4 years ago

CAFxX commented 4 years ago

Problem

Often, when designing custom shields, I do not care about a component being connected to a specific Arduino pin: I only care that is connected to an appropriate, dedicated pin. Examples of "appropriate pin" could be families of pins such as "any pin that supports analog input" or "any pin that supports digital output".

Proposed Solution

Wire properties may be extended to signal that one of the two ends can be connected to other pins that belong to the same family.

The autorouter could be extended to take into consideration the additional wire properties above and pick the best pin to route a certain wire to in order to simplify PCB routing (e.g. minimize number of vias, minimize wire length, minimize number of layers, ...). Note that something similar is already done for the case in which multiple Arduino pins are known to be connected among themselves, such as GND.

KjellMorgenstern commented 8 months ago

Please first verify if the current algorithm already chooses an optimal point from a subnet (a bus in a fritzing part), like GND of the Arduino. I think it simply uses whatever is the closest one.