Software for designing control panels

Dear Kicad community,

We’re looking for a help to figure out which software tool to use.

We’re designing an industrial control panels:

The panel consists of purchased components, like frequency inverters, controllers, which are wired together.

We’re looking a software, which will help us to automatize the design and manufacturing workflow of such product.
Some basic features we want to have:

  1. Based on user inputs and our algorithm update model configuration (parametric model)
  2. For updated model generate a drawing with Electrical Scheme (parametric electrical scheme)
  3. generate BOM
  4. generate user documentations
  5. calculates the price

Some less strict requirements:
6. The software should be open-source if possible
7. It would be very cool if we might be able to connect the software to external database for possibility to use components (i.e. controllers) directly from it.

Only thing I can think of that would help you is this thread of @midworld08, who uses a special library for EEschema to draw hydraulic/pneumatic schematic diagrams to get a BOM:

to 1) it is YOUR job to update the schematic diagram of what goes into the panel enclosure
to 2) this is definitely YOUR job… no software in the world will be able to do this (maybe in 10 years with AI)
to 3) EEschema can do that
to 4) custom scripts can do that
to 5) = 3) + script like KiCost

Be aware!
KiCAD is a tool to design PCBs, not switchboards or panels. With some understanding of the underlying mechanic you can coerce it into doing what you want, but this will not be a turn-key-solution.

1 Like

Thanks @Joan_Sparky, I’ve updated the initial question to resolve some of your comments. Thx

This is probably the wrong forum to ask, you would need to ask in a forum more oriented to Air Handlers.

Your application requirement looks quite specialized, it is unlikely there will be any commercial off the shelf software, even less any open source.

Probably most of what you want could be automated with sufficient time and money, although it is not going to be AI like quality.

I would start by identifying some simpler process that could be scripted, and either write those or hire a programmer to do so. Decisions that require higher level intelligence would still be done by a person, but with a toolbox of functions that can be employed to save time on “boiler plate” type work.

Hi @bobc, I have considered your comment in the recent edit to the question

Please don’t do that, if you have a clarification please add in a new comment. You can’t really expect people to hunt through trying to figure out what has changed. It can also make subsequent replies nonsensical.

However, your clarification makes no difference to what I said, my comments still stand. I am now quite convinced you are asking the questions in the wrong place. KiCad can not help you.

Are you this guy ?

Thx @bobc, yes, it is my linkedin page. Your point is clear

I use Kicad to do electrical panels. I get it to give me an idea of the size of the enclosure I need.

Its the same work flow.

  1. Create schematic library models.
  2. wire them up.
  3. Create foot prints for the parts. Yes I do add in pins for the connections. That way I can check DRC.Yes the foot print is only the outline of the object on the bottom.
  4. I don’t bother with routing tracks. I just don’t view the rats nest.
  5. I organise the parts so they all fit on a panel.
  6. I look to standard supplier cabinets and resize to suit.

I have even managed to install some 3D components sourced from RS Components, and then got the 3D export through MCAD to populate the panel with the components.

However, yes its a little clunky. However it does enough for me to get the info I need and generate BOMs, and price jobs further.

For the hydraulic side, I just use it for schematics. That’s it.

If you want your item 1. Then Autocad electrical is your friend.

I don’t even know how in the hek you would get a piece of software to spit out user documentation. Maybe a bunch of data sheets. How the h** could it tell how you since I have linked a circuit together and it tell you to turn on CB1 first? geez if this was possible my hydraulic library would be awesome. Build a circuit, and then the software makes my manual and tells me if I’m stupid…


Thank you @midworld08. Could you please provide a few printscreens to obtain a better understanding of your work in KiCad. The work you’re doing sounds very interesting.

Hi @midworld08, I am really looking forward on further details about your work. Please, share some pictures of your work, if possible. Or any other, relevant information.


Artem, a little busy finishing off a PCB. Next job I’ll be doing a sizing of electrical parts…with a difference. I’ll wait till I start that so I can document the work flow a little easier. Better than rekindling an old job and missing parts out.
Give me a week.

@midworld08 OK, thank you very much. We’ll wait. Good luck with your project

OK here is the start of it.

I’m doing a panel that has some parts that are forming part of a fluid measurement system, that is going underwater.
a) The flow meters have a 10mm bore, and outside the footprint is around 15x60mm, with 1 connection pad for the cable. The connection point is an subsea connector which I will go into more later.
b) The junction box has of course 10 connectors, again size to come from a datasheet later.
c) The output of the JB is a single connector, with power and comms. Again more on this later.

  1. First off start a new project
  2. Open the schematic and remove all the libraries.
  3. Open library editor (I find this a quirk of Kicad- you can’t just say start a new library? maybe I’m wrong )
  4. Create a new component. The first 1 I did was a flow meter. Its a simple square with 1 pin.
  5. Use the “Save current component to new library” and save the library in your project file.
  6. Inside the library editor click Preferences-Component Libraries and add the new library
  7. Click create a new component, and make a junction box with 10 inputs and 1 output.
  8. Save the library.
  9. Go back to the schematic and place 10 flow meters on the sheet.
  10. Place a junction box.
  11. Wire up the flow meters to the input side of the JB and leave the output side O/C for now.

get yourself a coffee…time to make a foot print for the flow meter.
12. Close down the schematic library editor.
13. Open the Foot Print editor and again remove all the libraries…
14. Use the wizard, and start a new SOIC part
15. set pas count=1, row count=1, pad width=20, pad length=20
16. Click Body
17. Outline X=15
18. Outline y=60

This puts the pad as a square in the centre of the flow meter. I don’t actually want a square as the connector is circular, but its easy to change later. The connector is one of these;

Its the 4 pin unit, and it is actually a 20 mm hex, but a 20 mm circle will show it well enough for what I’m trying to show.

  1. Click create new library, and save current foot print.
  2. Select your working folder and save the library in there.
  3. Go to preferences-> libraries manager and add your new library to the project.
  4. Select the active library
  5. Save the component to the library
  6. Click new foot print
  7. Select the wizard again, and use SOIC again.
  8. This time enter pass count 10, row count 2, pad pitch 40, pad width 20, pad length 20, row spacing 150
  9. Click body and set x and y margin to 0.

At this stage I am using the wizard to give me a preliminary size of the junction box, which will set the size of the PCB I put inside it. Later I might have to come back here and adjust this if the PCB ends up smaller/larger.

  1. After accepting the component I changed all the pads to circular.

  2. I moved the component outline so the pads are on the outside.

  3. Added a pad manually, called in 11, and put it on the one side by itself.

  4. Updated the name and reference in the library and save it.

  5. Annotate the schematic.

  6. Run CvPCB, and if you have done it right, it’ll be a quick job of just double clicking and setting all the foot prints.

  7. Generate a net list.

  8. Start PCBnew

  9. Import the netlist

  10. You will need to set the page settings to A0 for the size.

  11. Re-arrange the parts so they are not on top of one another.

  12. Draw the Edge cuts around the parts, and you have the panel size in 2D.

So ends the 2D work flow.CNOOC Electrical.rar (9.6 KB)

So I have arranged the flow meters like this, as in real life they have connections at the ends, like these;

The junction box, has a pcb that collects all the signals, and compresses them to an output string to a subsea bottle, hence pin 11 on the JB.

The same applies for working on electrical JB’s for the internals. As I said earlier you can turn off the ratsnest.

You can create your own page layout, that has no borders and title block. This allows you to use the complete work space area, and makes the limitation of size a little better.



@midworld08 Thank you very much.

Good afternoon,
Have you made progress with Kicad on this project?
We’ve started to build our own library of standard industrial parts and managed to design a full panel. It took us a while, but the result looks promising.

We would be interested to work with others on this if anyone serious is interested.
So far, we managed run the gauntlet for :

  • Schematic library and documentation
  • Footprint Library
  • 3D models library
  • 3D Model of assembled panel.

We’re also working on internal training documentation for all the workflow.

There is still a lot of work to do,for automating some tasks, but the base is laid down and works.

Here is a first draft of our first panel. Still missing Din rails, cable tracks and other accessories.
But that is just a matter of creating the parts.

1 Like

Now this 3 year old thread has been dragged up…
I’ll drag up a 7 year old video from Mikes’s Electric stuff.

It’s only a 4 minute video, but still shorter:
Mounting plates for cabinets are sold separately and apparently cost him about 20 quid.
For around the same price he can order 3.2mm thick FR4 panels from a local PCB factory, complete with all the mounting holes. He shows lots of examples of panels made this way, but there is no mention of the software used to layout the holes.
Because he uses a regular PCB manufacturer for his panels it is extremely likely he also uses PCB software to design his panels.

@MartinM Are you willing to maintain git repository for such a library? Have you looked around for similar libraries already made public?

1 Like

I tried for a while, but found none. I would be willing to set up a group to share the library, and the work load, but only to a select group. At least, at first. A bit like a COOP group to start things and give an edge to some small players like me, who don’t want to fall in the Big software money trap…
I this will give those business, that greatly needed edge to give great results and quickly, with no big worries OS updates, and long term customer support.
But I’m new at this freeware adventure, and may need advice.

That video is quite interesting. Gave me a few ideas I will investigate.

The first advice: don’t call Open Source or Free Software “freeware”. :slight_smile:

Thanks! Good advice.
But looking at the page, Kicad is described as this as :
“A Cross Platform and Open Source Electronics Design Automation Suite”

So Open source might be ok?
But, actually, what is the best term to use?

  • Community driven software.(boring)
  • Collective effort software. (missing something)
  • Really cool software that let’s me participate, create and share with others… (Maybe a bit much!)

But any way, I’m digressing.

My goal is to find some serious people to work with and share some of the load. But also, create a collaborative workgroup, (or maybe a sort of COOP) that will support each other for projects, knowledge, suppliers, products, coding or others.

We’ve been running our small business from home for decades, building industrial mechatronics systems, helping our community and trying to live a sustainable lifestyle. But I want to be part of the solution, not of the problem. And I think there must be others just like us who would benefit from such a group effort.

Integrating KiCad to build industrial control panels, has been a great effort for us, but we now see the tremendous potential to bring great ideas and people together.

Now it’s time for us to take a step forward and try to link with some of those people.

Anyone interested?