That ol' repeated block issue

I’ll make it quick: I’m building a 32 (!) channel switching system with, of course, 32 individual sub-circuits which are all identical. Here’s the question: how do you set it up so each sub-circuit can connect to the next without going back into the schematic program and doing a new net list? What I would do to be able to simply create new traces without a new rats nest…I’m not understanding the hierarchy labels, does each sub circuit have to have each buss connection tagged so you can then connect them all on the PCB? I imagine this question has been asked before but I didn’t see this exact aspect of it.

Reading with interest the Eagle going away thread, I thought about buying a copy for just this functionality but I think I’ll wait!

CN

Draw your schematic with all 32 channels from the get-go with all the interconnecting nets. Perfect use case for hierarchical schematics. Added bonus of using hierarchical schematics for 32 identical sub-circuits that you want laid out identically, there is a plugin that does this leveraging hierarchical sheets to identify the groups of sub-circuits. It’s called Replicate Layout, written by a fellow forum member, and can be downloaded from here.

For help with understanding hierarchical schematics, check out this FAQ entry:

1 Like

Aha! I watched the video about the plugin by Mr. Nemec but in his example he creates a little circuit which isn’t connected to the other duplicates. I didn’t know it was necessary to do the complete schematic first (which is easy) with all the nets included.

CN

I did a similar thing a while back.
I did an addressable led circuit that had a grid of 12x12 leds.
I did schematic of 1 row and added that as a schematic on the root schematic. I then added it another 11 times. I then connected the in’s and outs together on the root schematic.
On the pcb I routed the first row and then used the above plugin to route the other 11. I think I had to place the first led of each row then it did the rest for me.
Worked very well and saved a heap of time.

2 Likes

The workflow that works the best in KiCad is Schematic first. Even for iterative changes in a project it works best in KiCad (at least for up to 5.1.x, there may be some changes coming in v6 that make this argument weaker) to make your iterative change in the schematic and then push the change to the PCB.

1 Like

Now it’s just a matter of getting the plugins loaded, etc. I’m finding that my version of KiCad doesn’t have Python scripts enabled, and trying to update or change the version I have isn’t working. I’m going to update my iMac to Big Sur and try it again, I think that may be the problem.

What version do you currently have and on what platform? The best answer would include all the info from the KiCad about window. To make this easier on you, there is a button on the about window called “Copy Version Info” which will put the full version and build information onto the clipboard for you to paste here.

Here it is: I see that some Python is enabled but I don’t know enough to know whether it’s correct for this application.
Application: KiCad
Version: (5.1.5-0-10_14), release build
Libraries:
wxWidgets 3.0.4
libcurl/7.54.0 LibreSSL/2.6.5 zlib/1.2.11 nghttp2/1.24.1
Platform: Mac OS X (Darwin 18.7.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
wxWidgets: 3.0.4 (wchar_t,STL containers,compatible with 2.8)
Boost: 1.69.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.54.0
Compiler: Clang 9.0.0 with C++ ABI 1002

Build settings:
USE_WX_GRAPHICS_CONTEXT=ON
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

CN

Hopefully someone more familiar with MAC can help you out there. I can’t even keep track of which MAC OS name goes with which version number (at least with Andriod it was alphabetical). I’ve heard that there is an extra step that needs to be taken on MacOS11 to get around Apple Inc. making it harder to install things.

According to the download page, KiCad 5.1.9 (you apparently have 5.1.5) should work on MacOS 10.14 and newer.

Yes it’s pretty confusing, I figured I’d update to the current (latest and greatest?) Mac OS and try working with that, since backwards compatibility isn’t a phrase in the Apple playbook.

CN

Don’t be in a hurry to update to big sur, you may have more troubles with kicad than you have now.
Your version information looks fine, it has full python scripting support.

Thanks for the response. I went ahead and updated before I got your message so now it’s running on Big Sur, and the program appears to be just fine, fortunately. Now: final question, hopefully. To install these plugins I’m looking at the instructions on the Github page, and there simply isn’t a scripting/plugins folder to be found. In the “kicad” folder for Application Support there are just folders for help, library, modules, share, and template. In the "kicad’ folder in Preferences there’s one subfolder for “3d”, and nothing else. And the main KiCad folder just has the eeschema, pcbnew, etc. Did something not get loaded in from the get go, or is it called something else now? If you have any insight I’m all ears (or eyes, in this case).

CN

Now I know from the Synth DIY FB group- you have to add the folders yourself, I just assumed they would be in the package to begin with. Problems solved! Thanks for everyone’s feedback. Now to start replicating layouts :slightly_smiling_face: