Suggestions:
First, the program is very impressive, and please take the
suggestions as a compliment (users would not bother to
ponder/suggest for poor SW). I apologize in advance if a suggestion
is already a feature of your software.
PCBlayout
1. The drop down layer selector should have indicators for:
Active/Editable, Visibility(ON/OFF), Colour, and fill mode(hatched,
solid, semi-transparent)--so four columns beside each layer, and at
the top of the column would be All ON/OFF. This approach would be
somewhat like Allegro SW and a lot of the gerber viewers.
2. Centre button wheel on mouse changes the zoom factor, and
clicking recentres the view (nice). I also suggest to have an
active 'hand' associated with the centre button (like Adobe Acrobat
and some other software), so that if centre button is held down the
user can "shove" or "move" the displayed page around--this would be
useful when routing a trace so that you can move the page around if
your endpoint is off page, and just seeing what is around it. I
know that the SW will pan the view for you as you route a trace,
however, this means you cannot access the menu itmes such as units
and what not as you route(the view is panned as the mouse arrow gets
to edge of window, unless autopan is OFF).
3. Mouse-right click does not show a copy facility, just moves
etc. Suggest to add a 'copy component' (or other objects such as
via pad or anti-pad or a keepout area or text, etc). Back
annotation would be required. The object selected would depend on
the active layers from suggestion#1, or the "Tab" button could be
used to select exactly which object, if multiple objects are
overlapping.
4.0 Definition files (layers, pad stack, symbols, etc....)
should be in text files. Allows users to easily rededfine/translate
sch netlists and parse/analyze for custom DRC checks and even
interface to databases. For interfacing to simulation tools, the
user can "Tab" a new field for dielectric constant, permeability,
conductivity, roughness, etc, in the layer definition. For DRC,
users could check for trace-to-trace or net-to-net spacing for
sensitive signals(if they cared to understand the format of the
layout file). Another possibility is that the user can check for
blind vias that are coaxial (overlapping) as this might be an
EMC/coupling problem in some designs.
4.1 User-assignable hotkeys or macros. Many software packages
have the hotkeys, and DDE Supermax has macros (either assignable to
keys, or the user can type the name of the macro into a pop-up
box). The macros or hotkey definitions can be kept in a text file
for editing, or just to bring the macros with you to a different
setup/computer. Kicad menu would allow selection of either the
Default macro file from the installation or browse for a user file.
4.2 The routing and allowing a selection of track widths is a
good feature, however, if macros are allowed, it would be faster to
make use of the keyboard. Keyboard "V" key could place a via(as it
already does in Kicad), but a pop-up window would request the via
from the padstack definition and also request the layer to continue
routing on (Tab key could select the desired values). Perhaps
the "T" or "W" key could also be used to change the trace width
(possible widths based on trace definition file) while routing.
Clicking the mouse key OR "Return" affirms the choice. I do like
how +/- changes layers and changes the layer the trace segment is
routed on; user must go back later to add a via--maybe the via box
could pop up automatically in this case.
Main thrust is to enable rapid maual routing. I know that
there are drop down boxes for trace width, but you cannot change
these while actually routing a track (the view moves and does not
allow mouse access to the menus when autopan is selected).
Even as it is, the routing is pretty good compared to
commercial packages.
4.3 Undo/redo history. I suggest to use F1 and F2 for undo and
redo the last few commands, instead of zoom in and out(layer
top/bottom is done by either PageUp/Down or +/-, so one of these
pairs could be reassiged to zoom). For instance, if I place a via
with keyboard "V", or even a few segments of a trace, I have
to "Esc" if I change my mind, and the whole trace is lost instead of
the last segment. "F1" could step back and F2 step forward through
the history. I suggest the history be recorded and stored in a text
file for the complete session the file is open, and appended to
prior session histories for that same design. The text file would
allow easy creation of macros (like in DDE Supermax). Additionally,
if a design has hibernated for awhile, or if more than one person
works on the design/review, the user could "replay" or "step
through" the selected history commands to see what was changed--I
think this is very powerful.
5. The coordinate display at the bootom of the window should
also indicate the "delta" change(deltaX, deltaY, distance) from the
last mouseclick.
6. The info/status window pane at the bottom could show info on
the object the mouse arrow is hovering over, while not actually
requiring the mouse click. If more than one object is hovered over,
the "Tab" key(or page down key) could be used to review the info.
First tab is net info, next tab segment info, next tab trace info.
Each possible trace endpoint could be tabbed through.
7. "Measure" command for traces. Could instead be part of
the "status" window when a segment/trace/net is selected. Actually,
I think if the user clicks OR hovers over a segment, the netname,
netlength, segment length, and trace length should all be displayed
in the status window/pane. Additionally, I think the object should
be higlighted in the "higlight" colour--this aids the user in
determining rough signal integrity/crossover with other signals and
I use this all the time when reviewing layouts in some commercial
packages.
Maybe trace lengths should be dependent on multiple segment
selections (groups of segments) which would require mouse clicks, or
instead "Tab" would cycle through the segment and net highlight.
Traces are tricky in deciding what to use for highlight: I guess
Tab could cycle through all the possible trace endpoints, from the
last mouse click. The alternative is to use the mouse to click the
start and end point of a trace. I like the "Tab" idea myself.
8.1 When I "List nets", I would like to double-click on one of
the nets and have it highlighted and centred on the display.
Similarly, if I "List BOM", I would like to double-click a ref-
designator and then the component highlighted and centred. I think
these two windows ("List nets" and "List BOM") should stay open
until closed by user.
8.2 Similar feature for the DRC would be nice. It would be good
to allow the window to stay open while investigating the coordinates
for each DRC error.
9. "Move node" should be renamed "Drag node" when editing
tracks.
10. How can I drag a via or track that are under a module or
under text? I think the selection filter using the Tab key might be
faster than changing modes, although there probably is no reason why
both methods couldn't be used.
11. 3D display: would be nice if user could select which layers
are shown (it might be nice to not show components, or to not show
innner layers). 3D display not not show zones, such as metal fill,
at present time.
12. Microwave toolbar is a good idea. I think it might have a
bug: when I cretaed a line of specified length, the center button
zoom on the mouse stopped working, although it could be my graphics
driver/win64 problem?
Do the stubs have a reference designator for back-annotation?
It would be good to allow user custom shapes in that
toolbar, I will try the stub customizer file to see what can be
done, for instance to make an embedded spiral inductor, that has
selectable length, separation, layer(s) etc. The history file
suggestion would be helpful here if one wanted to create a
macro/custom footprint.
Again, excellent SW. I believe the most important point of the SW
is usability and bugs. The easier/faster it is to use, the faster
it probably will proliferate.
EEschema
1. A lot of the above suggestions for layot could apply. Most
notably is the Copy a component feature(or other objects such as
text or a bus or a graphic symbol not in the netlist, etc), with
optional real-time annotate. See sugg#3 for PCB layout.
2. When placing a compoennet, such as a capacitor of about
0.1uF, it would be good if that component stayed active and was
placed each time you clicked on the schematic. Presently, each time
you need to go through the add component procedure. A copy/paste
would also be sufficient workaround.