Three row DIN 41612 connector symbol?


I’m trying my first, simple design using Kicad. Have to start somewhere.

I need to connect a three-row (3x32) DIN 41612 receptacle to a PCB edge connector.

I can find DIN 41612 (2x32) symbols and (3x32) footprints - how should I handle a (3x32) symbol? Is it simplest to just have three separate (1x32) symbols on the schematic and then somehow (for me to learn later) connect them to the (3x32) footprint?

Actually, it’s a Soviet era СНП59-96 connector but it’s essentially a DIN 41612 with 2.5mm pin spacing instead of 2.54mm (enough difference to not fit) … planning to sort out the pin spacing later on the PCB.


One possibility is a symbol with 3 units, one for each row. Or some other partitioning. The symbol pins should suit the logic of the connections on the schematic and doesn’t have to resemble the physical footprint. Unlike what some equines think. Sorry, private joke with @jmk


Thanks. I’m trying at the moment with three generic 1x32 connectors routed across to a 2x26 edge connector (ZX Spectrum).

I guess as long as I line the connectors’ pins up correctly on the PCB side to match the СНП59-96 specification (and modifying pin spacing to 2.5mm) then it should work …

That is a bit weird.
I typed in “DIN416” in the “Choose Symbol” dialog, and it only shows the 1 and 2 row variants.

Three rows is hard to put in a 2 row symbol.
The proper solution to do this in KiCad is to make a schematic symbol in (at least) 3 units in the same way that for example dual opamps have 3 units (One for each opamp, and the third for the power).

It is possible to use different schematic symbols, but that will mess up your BOM, and you have to line up the different footprints on the PCB manually.

Does this help ?

1 Like

There is a whole lot of sources out there that can be used to find symbols (footprints and 3D parts) for things that are not in the KiCAD library.

I tend to use Octapart, Mouser and Digikey and hunt for the part required (or something similar if necessary). They have links to external services that can provide the KiCAD symbols you are after (in many cases).

As an example, go to and search for “DIN 41612 socket connector” then use the filtering to select 96 positions and 3 rows. This will give you a list of possible parts. Now look for one with “CAD MODEL” per the following

If you select “CAD MODEL” you will then get something like this:

From here you can select a symbol that works for you, download it and load into KiCAD. If none of these are a perfect fit for your needs, you can still download/load into KiCAD and then rename/change as required.

Happy Hunting.

1 Like

Excellent, thanks for all this info. I’m getting the hang of it now … I’d been Googling all day various combinations of Kicad, DIN 41612, etc. but not coming up with anything apart from an older discussion here about 3-row parts. I’ll definitely try those sites in future for obscure parts I need. Again, appreciate you taking the time to explain it fully!

Perfect, yes, thanks. As per my other reply, I’m now starting to understand … Google doesn’t find everything. Now, if you could just adjust the model so it’s 2.5mm instead of 2.54mm … just joking of course.
Appreciate it, thanks!

1 Like

Okay, so I didn’t fully understand what was meant by “3 unit” but I’ve done some reading about symbol creation and now understand that you can specify the number of units, etc. So it’s making sense now - thanks!

1 Like

If you’ve got such a picture with measurements from a datasheet, then you can make a footprint like that in KiCad in about 15 minutes.

But there are a few lurking dragons.
The first (few) times it may take a few hours to get to know how KiCad’s footprint editor works and how library management works.

And once you’ve learned to make such a footprint in 10 minutes, there is an very hard to resist urge to keep on tweaking small details, change pad size and such things and that can also suck hours out of your day.

But the footprint itself is just an array of pads and a few lines, and that can even be done in 5 minutes or less.

And as already mentioned, there are many websites that specialize in making footprints for PCB’s.

There is even the “Impart GUI for KiCad” plugin search such websites:

I think that one is quite new, I have not seen it before, nor used it.

Remember even if you find a symbol for this connector on the Internet, it may not necessarily be the best for you. For example, say you are using the connector for a CPU external bus. You may wish to group the address lines in one unit, and data lines in a second unit, and the control lines in a third unit. Since this sort of usage isn’t anticipated in the generic symbol, you’re better off making your own.

Also you can use buses to group wires to declutter your schematic.

Concerning this, I thought whether it would be useful to have generic connectors, which have 1 pin per unit. This makes it easy to make rows of pins in any order you like, but it would also clutter the schematic with all the RefDes texts for each pin. I’m not sure if it would be useful. It’s just so easy to make custom schematic symbols in KiCad.

Thanks again everyone - I’ve read all your posts - they’ve given me a great jump start into using Kicad.

I’ve completed the first draft of the schematic - maybe not even a five-year-old would be proud, but it’s a start!

@retiredfeline - grouping makes a lot of sense, and would also improve the readability of the schematic. It’s all making a lot more sense now … like “how do I show a three row symbol??” … just do two rows, it doesn’t matter as it’s just a symbol!

Now, I just press the “Fabricate” button and the PCBs will arrive to my house in about a week … ? :wink:

I’ve done some manual editing of the footprint with a text editor, converting all the 2.54mm offsets to 2.5mm (just used Excel to generate the numbers, then copy/paste in).

I’m guessing the PCB will require three layers for the three rows of pins … or maybe we can get away with two layers by routing the middle row between the top row of pins … ?

Anyway, will experiment - figuring out the PCB side at the moment.

The hardest part now, I think, will be securing the Soviet part with 2.5mm spacing. A few Ukrainian websites show “availability” but then when you ask (I’m in Australia), they don’t.

Thanks again @retiredfeline, @paulvdh, @Alanzer and @RaptorUK … I’ve had so many ideas for old computers I’ve been working on, but just haven’t known how to get started … next up will be a 32KB external RAM board for the Grundy Newbrain I think.


Oh … and I want to design an internal CF “hard disk” for the Amstrad PPC640 portable computer, replacing the internal modem board … combine an internal ISA expansion (just some buffers & pull-up resistors) with the XT-IDE board (cut-down to bare essentials) and a CF interface … at the moment these are three separate boards.

Anyway … I’m excited.


I recommend you use wire labels and buses instead of the green birdsnest wiring.
Such a wiring mess is both error prone, hard to maintain, and it eats up a lot of area on the schematic.

In connectors for a bus with known signals, it is also common to design a custom connector and add bus names to the connector pins, in the same way as with IC’s. KiCad has a lot of functionality and flexibility for things like this. You can for example:

  1. Add another “ZX48Bus” component to your schematic (is that a connector or an IC?)
  2. Select it and press Ctrl + E] to load it in the schematic symbol editor.
  3. Use: Symbol Editor / Edit / Pintable to sort out the names and match pin numbers (table can be sorted in multiple ways)
  4. Move, rotate and mirror (blocks of) pins in the GUI until it looks nice.
  5. Close the Symbol editor. It will prompt you whether it should save the changes to the schematic.

It’s also easy to swap out the footprint link to a IC for a footprint link to a connector. KiCad don’t care, you can combine any schematic symbol with any footprint.

If you want to do it properly, you also have to do some library management, but that is another chapter of the beginners tutorial.

1 Like

A quick search finds QX-10 Compact Flash Adapter :: Epson QX-10 Site

That site also has a link to gitlab with a repository with KiCad project(s).

There are quite a lot of people still tinkering with old home computers and when you search around a bit, you will probably find more interesting projects too.

Splitting the connector into units can sometimes make a schematic easier to understand.
See below, the parts are J4A, J4B & J4C. I didn’t bother naming the individual pins.
This is done the same way as, say, four op-amps + power, in a single package.

1 Like

Oh, of course … buses! Yes, that makes a lot of sense … we’ve got an address bus, data bus and then a few other Z80-related signals … would really clean up the schematic.

The ZX48Bus is the ZX Spectrum computer edge connector. The idea with this design is to take the Soviet 96-pin connector and convert it to a ZX Spectrum compatible edge connector so we can (hopefully) use Spectrum peripherals, such as modern SD card interfaces.

Nice & simple first Kicad project.

Yep, that what I did initially when I understood what @retiredfeline meant by “units” … then @RaptorUK and @Alanzer found an actual symbol/footprint for the DIN part.

I’ll fiddle around a bit more and see what looks best - using the single part or splitting into three units/rows, utilising buses as well. Thanks @jmk!


Try this:

  1. Go to an empty area of your schematic.
  2. Draw a short horizontal wire, and “end” it.
  3. Hold the **[Ins]**ert key for a while.
  4. You should now have a bunch of horizontal wires.
  5. Press the L key to start a label, enter a name ending with a number. For example “D0” for a databus, press OK.
  6. The label is now attached to your mouse cursor. Place it on the topmost wire.
  7. Press the **[Ins]**ert key again. Labels should now auto increment, and the result looks like:
  8. Drag a box around as many labels as you want (presumably 8) to select them. Now you can either move that block, use Copy & Paste, or duplicate it (with [Ctrl + D] and place it elsewhere. You can also rotate and mirror the block during the copy process

Also note It’s easier and quicker to just draw too many wires and labels, and then delete the left overs.

You can also do things like extending or shortening a bunch of wires by dragging a box around only the wire ends and then dragging the box with the mouse.

1 Like