Skip to content

Welcome to Harnice

Harnice is a Python-based, electrical system CAD package.

It designs harnesses for you... and does so much more... nicely!


Download Harnice: Mac · Windows

Submit bugs, feature requests: new issue

Send me an email: harnice.io@gmail.com


What's the elevator pitch?

Let's face it: designing harnessing sucks. Managing how your devices talk to each other in one software, and building stuff against that in another is terrible. Calculating voltage drops, naming stuff, keeping track of device interface configurations, software input lists, is almost always done manually, in error-prone, expensive, clunky, contradictory, time-wasting ways.

...not anymore!!!

I developed Harnice because it's time for something new. We, the people, deserve better. Harnice is my attempt to consolidate all electrical-system related design tasks into one comprehensive, full-featured tool.

With Harnice, you can consolidate all your electrical design problems into consistent, infinitely configurable, reusable data structures, where you can define what you need. From there, the software can help you derive any imaginable output directly from your design content.


How does it work?

Harnice was developed with one goal in mind:

delete redundant sources of truth in your electrical system definition.

As a system designer, your time is most valuably spent thinking about exactly what you want, not how to actually implement it.

If your electrical system can be implemented by simple logic statements, Harnice can help you record those design intents as rules, then compile them against libraries of devices and COTS items that you're trying to use, and give you one fully compiled solution to your system.


What's the workflow?

  1. Record how your devices work in a standardized, consolidated format.

  2. Define which devices you want physically connected to which other devices.

  3. Define your build rules, checks, part selections, channel mappings, naming conventions, color preferences, and more, in simple Python.

  4. Click Build in Harnice to compile all outputs.


What do you get?

  • Professional, complete, and beautiful multi-page PDF harness build drawings, derived from your system definition, and ready for manufacture Harness drawing
  • System-wide graphic channel or wire map visualizations System channel map
  • Bills of materials derived from your system definition, including your cable lengths System instances list
  • Full electrical system behavior simulation (in work)
  • Complete reports on how to provision your involved devices for your use case (in work)

Can it do what I need?

Probably! But if not, Harnice supports Macros: revision-controlled library items that run as a small project inside yours (their own files, their own rev history — not just a function). The macros page lists every one that ships in this library, how to call them, and a template for writing your own.


What doesn't Harnice do?

  • Harnice is not intended to make engineering decisions for you. This is a platform that lets you use your brain to focus on the hard stuff, while the computers produce a determinite, predictable output of the rules you've defined.

  • Harnice is currenlty set up to link as-intended systems to as-designed. It does not yet have the ability to track as-built.

  • Harnice does not read your mind. If you are receiving results that you don't expect (unless it's a bug), you may need to rethink how you are communicating or organizing your thought process. This is a feature! Complete, explicit definition makes your designs easier to understand by both humans and machines alike.

  • Harnice does not invent catalog parts for you. Libraries are still the barrier to entry. The way through is a part family: Python that encodes a how-to-order table and emits every legal SKU. The AI Prompts page is a copy-paste brief so an agent can generate a family from a datasheet.