Some general feedback from use and abuse of Kicad for reverse engineering

Maybe I wasn’t clear.

Schematic: 4x resistors.
PCB: 1x resistor array.

Best I can tell, there’s no way to assign 4 resistors to the same footprint - without creating a multi-unit resistor.
I’m sure that others would find it useful to design it with discrete units, and then have some option to combine them.

KiCAD doesn’t support these yet. Obviously this may not come in short time since this may need adjustment for current workflow.

You can file a “feature request” beside how it will shown up on schematic and pcb editor

Yes. Hence the feedback, making suggestions.

You don’t have to tell me what is annoying about it, I know already… Just read Wish: Raise and focus to the blocking modal window when trying to raise any KiCad window (problem: modal windows lock all windows but are hidden) (#3765) · Issues · KiCad / KiCad Source Code / kicad · GitLab and check if that one has been fixed…

This is a poor choice for an example. Double LMB on the symbol or footprint will bring up properties which allows the item to be opened in the footprint/symbol editors.

I do agree with your non modal comment, though. On many occasion I’ve thought program “frozen” because a hidden window is blocking use.

There are resistor network single unit symbols that have 4 resistors and one common pin = 5 pins, or 4 separate resistors = 8 pins. They are called R_Network04 and R_Pack04 respectively, There’s also a variant of the latter called R_Pack04_SIP. You just have to choose the right symbol when drawing your schematic.

1 Like

How do you imagine to assign 4 resistors to the same footprint? Dialog box will have to allow you to assign footprint pads to your symbol pins. I think current way with just selecting A…D part is simpler?

I realise it’s possible to do manually in a fixed way.
The suggestion is to allow a logical grouping somehow.
Either directly to 1, or to a pool - where the pcb location and wiring makes some sense to do so.
No sense if they’re on the opposite ends of the board.

I figure it will happen one day as more smarts are integrated.

No sense if they are are on the opposite ends of the schematic either.

Anyway it’s only old designs where they have to share network resistors from disparate parts of the schematic.

Well, it depends, but in general using a resistor array/network makes sense if you already know that the tracks will be close to each other in the layout, and in that case they are most probably somehow logically connected together in the schematic, too. Sometimes it may be possible to notice later that you can save some space and parts in the board by packing some identical resistors together.

In any case I wonder if this really would be worth a built-in KiCad feature. It would serve only some very rare cases. Can Myne give a detailed real world use case?

SMD resistor arrays exist but I not seen much use of them as singles are already quite small and you’d have to be very short of space to need arrays. So, old designs with THT arrays.

The simplest one I can think of is old busses like ISA/PCI.

They need pullups/termination.
There are about 20 odd signals each which require pullups.
It would be nice to logically group them to a pool, and have the actual layout sort out which goes to which component/pin.

There are lots of examples where it would be handy in the schematics I linked above.
If every R/cap was one discrete unit in the schematic, but able to be bundled to any of x number of same value networks in any order depending on convenience, it wouldn’t require manually changing the schematic to reflect the physical.

Or you want to have series resistors in all 24 lines of 16 address and 8 data lines and you count assembling costs seriously.

But you know it before you place these resistors at schematic. If I were to use something like that I would draw a symbol for specific part (hawing all resistors in one symbol) and at schematic just connected its pins to bus.

1 Like

I would create a multi-resistor part; R#A, R#B, R#C, R#D.
The operation is the same as creating a quad-opamp package.

1 Like

Just to add another minor annoyance: mils, mm, inches are only changable in the main window - which is a little frustrating when for example you tend to work in mm, but datasheets are in mils and you’re trying to set netclass clearances.
What is 15mil in mm? I could work it out, but it’s faster to click the button, even if I have to close the netclass window to do it.

My (±20 years old) calculator has a memory for one value. Since ‘always’ I have there 0.0254 permanently.
1mm → mils: 1,/,MR,=
40 mils ->mm: 40,*,MR,=

Most of KiCad value fields where you can type numbers accept the unit, too. E.g 10mm or 10 mil.

1 Like

Also, Ctrl+U should work in all dialogs to flip units (if it doesn’t, that’s a bug).

1 Like

I disagree wholeheartedly with tables as a file format. Tables as a file format are a nightmare to parse properly.

Tables as a display/edit format on the other hand … it would be awfully nice to be able to select N objects and then have something pop their properties in “Ye Favourite Spreadsheet™” so that you can save/load/macro on the properties.

Hopefully the new API will be up to that task.

1 Like