A proper wire-harness visualizer would run in place of pcbnew in Kicad. A harness still has a schematic (albeit usually without components in it), and then the physical instantiation of that schematic has properties like trace width, er, wire gauge and stuff. It has an orderable BoM just like a board. If you decide that a particular pinning would be easier, you should be able to back-propagate the changes from the harness up to the schematic. All these things already exist in Kicad.
This would allow some sheets of a Kicad schematic to be the boards/modules, and some sheets to be the harness that connects them, and only the physical boards/harnesses would differ.
(I've used both WireViz and RapidHarness and while the latter sucks less, they both suck. Being completely outside my existing EDA worklfow is not a feature.)
WireViz is great, are there similar tools for other areas?
I tried to find a good way to illustrate packets in a simple protocol and went for the bytefield package for latex (pdf manual https://texdoc.org/serve/bytefield.pdf/0 ). It is a bit heavy, as if requiring latex wasn't heavy enough, so at first I dismissed it and thought there would be something simpler. But I couldn't find anything else that I liked so I stuck with it and think it was worthwhile in the end, the output looks great and is very clear.
Unfortunately, it seems the package is abandoned with the maintainer being unresponsive.
But I've been using it within Sphinx to generate some documentation for a Bluetooth protocol, and it generates pretty useful diagrams.
Quite a few years ago I wrote a tool as a university project that can extract C (and to a lesser degree C++ and Pascal) struct definitions from DWARF debug symbols and output VHDL or LaTeX/TikZ diagrams: https://gitlab.cs.fau.de/arw/st
WaveDrom also have a package for making bitfield diagrams (https://github.com/wavedrom/bitfield). Has anyone used both of these? I'd be interested to see how they compare.
I use this often for documenting cables. Every time some EE decides to rearrange the SWD pin order on a new board I make a new diagram and a new cable.
Your wish showing up in the face of a submission just 14 days ago and then another 29 days ago must be indicative of why there are so many dupes all the time: https://news.ycombinator.com/from?site=kroki.io
This looks really nice! Something my staff would definitely appreciate, especially the ability to 'version' the text file (even if it's just different copies of yaml files in a directory). But the deployment aspect is a non-starter, I just can't tell my staff "install (the correct version of) graphviz (for your OS), then install (the correct version of) python, then run it from the commandline giving the yaml file as an argument". At minimum it'd have to be a standalone executable, and running it would need to be simplified, maybe not with a real GUI but perhaps "drop the yaml file on the executable" would suffice.
Perhaps I could rig up an internal webapp where a user could submit/post a file from an html form and it would download the resulting image, but that'd be a bit of a clunky process for the user.
Put everything into a docker container? That’s about as close to a single executable as you’ll get without a ground up re write or some other non trivial engineering.
I just saw reference to WireViz the other day in a video by someone making a pick and place machine. The video describes WireViz’s use and how they went from an internal process to a vendor for making the harnesses:
Your search term would be "wiring harness manufacturer". I've not come across anyone in this space that would take a web order like PCB fabricators unfortunately, the demand isn't there.
If you need wiring harnesses or other cable assemblies you'd usually make them yourself, buy a COTS cable that is close enough and make your design match that or bite the bullet and go to a fabricator and pay expensive Non Recurring Engineering (NRE) costs. Anyone good will have an IPC-A-620 certificate.
Unless you're Toyota, its probably worth buying your own set of crimp tools rather than going down this route. WireViz is a great tool for documenting cables for your own purposes, but is only part of what would make up a full drawing pack for a wire harness.
> its probably worth buying your own set of crimp tools
I used to make a product that required a wire harness with about 50 conductors (TBF, half of them were Ground). I'm not Toyota, just some dude in a basement, but I found an outfit that would cut to length & strip wire and crimp on the terminals I specified, for less than it cost me to just buy the wire myself. Economies of scale FTW! Unfortunately, that company was bought by another and they no longer make wire assemblies for outside businesses.
Crimping wires in bulk reliably is slow and time consuming if you're doing it by hand, even with the right tools (expensive too). It's generally better to have a supplier with automated tools do it: even the terminal manufacturers seem to think of their manual tooling as second-class citizens. Digi-key has a pretty wide selection of off the shelf crimped wires; I think Pololu does also.
Like you said, there's not a lot of demand and it seems like the harness manufacturers are dying off.
A particularly well-known example in the German automotive industry is Leoni [1], they mostly make wiring harnesses for vehicles, but also for one-shot projects (e.g. spare parts for long-since discontinued models). Bit pricey from what I hear, but if you have a need just contact them.
https://www.yourspec.com/ This company will do custom harnesses but AFAIK they don't support any external formats, although they do have their own online editor.
This is super neat but am I the only one kind of disappointed it's not an extension of markdown like mermaid charts? Itd be neat to be able to share these on GitHub and have them render directly in projects
This would allow some sheets of a Kicad schematic to be the boards/modules, and some sheets to be the harness that connects them, and only the physical boards/harnesses would differ.
(I've used both WireViz and RapidHarness and while the latter sucks less, they both suck. Being completely outside my existing EDA worklfow is not a feature.)