All Projects → formatc1702 → Wireviz

formatc1702 / Wireviz

Licence: gpl-3.0
Easily document cables and wiring harnesses

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Wireviz

Solo
Solo 1: open security key supporting FIDO2 & U2F over USB + NFC
Stars: ✭ 1,986 (-16.76%)
Mutual labels:  hardware
Soicbite
A compact PCB footprint which allows SOIC test clips to be used as a space-efficient programming and debugging connector
Stars: ✭ 161 (-93.25%)
Mutual labels:  hardware
Exomy
ExoMy - The 3D Printed Rover
Stars: ✭ 173 (-92.75%)
Mutual labels:  hardware
Ocsinventory Ocsreports
Webconsole for OCS Inventory NG
Stars: ✭ 145 (-93.92%)
Mutual labels:  hardware
Dana
Dynamically Allocated Neural Network Accelerator for the RISC-V Rocket Microprocessor in Chisel
Stars: ✭ 160 (-93.29%)
Mutual labels:  hardware
Workshops
Workshops organized to introduce students to security, AI, AR/VR, hardware and software
Stars: ✭ 162 (-93.21%)
Mutual labels:  hardware
Vna
Under development open hardware microwave vector network analyzer
Stars: ✭ 140 (-94.13%)
Mutual labels:  hardware
Blynk Server
Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberry Pi and similar MCUs and drag-n-drop IOT mobile apps for iOS and Android in 5 minutes
Stars: ✭ 8 (-99.66%)
Mutual labels:  hardware
Reactivesensors
Android library monitoring device hardware sensors with RxJava
Stars: ✭ 161 (-93.25%)
Mutual labels:  hardware
Make
📖📖📖📖📖 写给软件工程师看的硬件编程指南
Stars: ✭ 170 (-92.88%)
Mutual labels:  hardware
Nngen
NNgen: A Fully-Customizable Hardware Synthesis Compiler for Deep Neural Network
Stars: ✭ 149 (-93.76%)
Mutual labels:  hardware
R e c u r
an open diy py/pi based video sampler
Stars: ✭ 158 (-93.38%)
Mutual labels:  hardware
Opensk
OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
Stars: ✭ 2,114 (-11.4%)
Mutual labels:  hardware
Ha4iot
Open Source Home Automation system for .NET
Stars: ✭ 146 (-93.88%)
Mutual labels:  hardware
Awesome Iot
🤖 A curated list of awesome Internet of Things projects and resources.
Stars: ✭ 2,297 (-3.73%)
Mutual labels:  hardware
Space Invaders Vhdl
Space Invaders game implemented with VHDL
Stars: ✭ 142 (-94.05%)
Mutual labels:  hardware
Redteam Hardware Toolkit
🔺 Red Team Hardware Toolkit 🔺
Stars: ✭ 163 (-93.17%)
Mutual labels:  hardware
Smartcitizen Kit 10
Smart Citizen Kit 1.0 and 1.1 firmware for the Urban Sensor Board
Stars: ✭ 190 (-92.04%)
Mutual labels:  hardware
Veriloggen
Veriloggen: A Mixed-Paradigm Hardware Construction Framework
Stars: ✭ 182 (-92.37%)
Mutual labels:  hardware
Airbyte
Airbyte is an open-source EL(T) platform that helps you replicate your data in your warehouses, lakes and databases.
Stars: ✭ 4,919 (+106.16%)
Mutual labels:  connectors

WireViz

PyPI - Version PyPI - Python Version PyPI - Downloads

Summary

WireViz is a tool for easily documenting cables, wiring harnesses and connector pinouts. It takes plain text, YAML-formatted files as input and produces beautiful graphical output (SVG, PNG, ...) thanks to GraphViz. It handles automatic BOM (Bill of Materials) creation and has a lot of extra features.

Features

  • WireViz input files are fully text based
    • No special editor required
    • Human readable
    • Easy version control
    • YAML syntax
    • UTF-8 input and output files for special character support
  • Understands and uses color abbreviations as per IEC 60757 (black=BK, red=RD, ...)
  • Auto-generates standard wire color schemes and allows custom ones if needed
  • Understands wire gauge in mm² or AWG
    • Optionally auto-calculates equivalent gauge between mm² and AWG
  • Is suitable for both very simple cables, and more complex harnesses.
  • Allows for easy-autorouting for 1-to-1 wiring
  • Generates BOM (Bill of Materials)

Note: WireViz is not designed to represent the complete wiring of a system. Its main aim is to document the construction of individual wires and harnesses.

Examples

Demo 01

WireViz input file:

connectors:
  X1:
    type: D-Sub
    subtype: female
    pinlabels: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI]
  X2:
    type: Molex KK 254
    subtype: female
    pinlabels: [GND, RX, TX]

cables:
  W1:
    gauge: 0.25 mm2
    length: 0.2
    color_code: DIN
    wirecount: 3
    shield: true

connections:
  -
    - X1: [5,2,3]
    - W1: [1,2,3]
    - X2: [1,3,2]
  -
    - X1: 5
    - W1: s

Output file:

Sample output diagram

Bill of Materials (auto-generated)

Demo 02

Source - Bill of Materials

Tutorial and example gallery

See the tutorial page for sample code, as well as the example gallery to see more of what WireViz can do.

Usage

Installation

Requirements

WireViz requires Python 3.7 or later.

WireWiz requires GraphViz to be installed in order to work. See the GraphViz download page for OS-specific instructions.

Note: Ubuntu 18.04 LTS users in particular may need to separately install Python 3.7 or above, as that comes with Python 3.6 as the included system Python install.

Installing the latest release

The latest WireViz release can be downloaded from PyPI with the following command:

pip3 install wireviz

Installing the development version

Access to the current state of the development branch can be gained by cloning the repo and installing manually:

git clone <repo url>
cd <working copy>
git checkout dev
pip3 install -e .

If you would like to contribute to this project, make sure you read the contribution guidelines!

How to run

$ wireviz ~/path/to/file/mywire.yml

This will output the following files

mywire.gv         GraphViz output
mywire.svg        Wiring diagram as vector image
mywire.png        Wiring diagram as raster image
mywire.bom.tsv    BOM (bill of materials) as tab-separated text file
mywire.html       HTML page with wiring diagram and BOM embedded

Command line options

  • --prepend-file <FILE> to prepend an additional YAML file. Useful for part libraries and templates shared among multiple cables/harnesses.
  • -o <OUTPUT> or --output_file <OUTPUT> to generate output files with a name different from the input file.
  • -V or --version to display the WireViz version.
  • -h or --help to see a summary of the usage help text.

Syntax description

A description of the WireViz YAML input syntax can be found here.

(Re-)Building the example projects

Please see the documentation of the build_examples.py script for info on building the demos, examples and tutorial.

Changelog

See CHANGELOG.md

Status

This is very much a work in progress. Source code, API, syntax and functionality may change wildly at any time.

License

GPL-3.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].