Yes, you could use the insert key shortcut to quickly drop a bunch of LEDs, but that would just drop multiple instances of the generic LED symbol. Then you would need to add other attributes (for example, color, footprint, any ordering information you may want for your BOM, etc) to all the individual copies. The Edit Symbol Fields can take out much of the pain with copy and paste between fields, but another thought might be to place one LED, populate the important fields, and then duplicate. Duplicating in stages you can quickly duplicate with the âCâ shortcut 4 times to get 5, then region select and duplicate the region to get 10 and place them in line. Then region select the line and press Ctrl-C to copy the region to the clipboard. Use Ctrl-V and place twice to get 3 rows. Then region select the block and region duplicate and get 3 more rows for a total grid of 10x6 LEDs. Use the auto annotate to number all of these, and then you can move them around your schematic as you like. Note, 60 LEDs in just a simple block still takes up a large area of the schematic page, moving them into a circle will make an even larger schematic page. My sample (which may not have enough room between the LEDs for wiring in a clear fashion) is 4.75x2.75, which is a sizeable fraction in a 10.7x7.25 page (A4 minus border).
You wonât be able to rotate the schematic symbols to any angle other than the 4 cardinal angles. Until there is wire and pin snapping in EESchema you donât want your symbol pin ends to fall off the grid. (It is safest to keep EESchema on a minimum 0.05" grid for now in EESchema.)
On my sample that I used to double check the process above (you donât have to follow my exact steps, mix and match the duplicating, regioning, and region cut and paste as makes sense for you) I changed the first reference designator from D? to D-S? to help indicate that these are the LEDs for the seconds, not any other type of diode. If there were minute LEDs and hour LEDs, I would follow suit and call them D-M? and D-H?, respectively. You could also use âDs?â or something similar for your seconds LEDs. Some others may complain about violating the ârulesâ of reference designators, but unless you are under corporate rules you have the flexibility to bend the rules for good reasons. Here is what my result looks like (note that is my own custom symbol, based on the standard library but with pin numbers visible).
IMHO, the schematic is primarily for understanding the logic of how the circuit works. Without trying to wire a round layout, my gut feeling is the schematic wires will be more difficult to understand than a matrixed grid. Feel free to prove me wrong, itâs only your time.
As far as a script to automatically lay out the schematic, it would need to be an external script that would read and write to the schematic file directly because there isnât yet an API in EESchema like PCBNew has for Python scripting. (That is a new feature in PCBNew, implemented there while the limited resources of the coding team worked on lots of significant upgrades to PCBNew, including the new pcb file format. EESchema is next to get a similar update, but it isnât ready yet.) The external script would need to understand the schematic file format. This in itself isnât really a show stopper since the file format is freely published, but it will soon be changing making the external script obsolete quickly or in need of major overhaul to read/write the new schematic file format.