Horizon EDA

August 30, 2022 ยท View on GitHub

Horizon EDA is an Electronic Design Automation package supporting an integrated end-to-end workflow for printed circuit board design including parts management and schematic entry.

See the docs for an overview of horizon's top features.

Wanna chat about the project? Join #horizon-eda on libera.chat

collage

Features for users so far

  • Complete design flow from schematic entry to gerber export
  • Sane library management
  • Unified editor for everything from symbol to board
  • Netlist-aware schematic editor
  • KiCad's awesome interactive router
  • Lag- and glitch-free rendering
  • Rule-based DRC
  • Hierarchical schematics
  • Undo/redo
  • Copy/paste for some objects
  • Builds and runs on Linux and Windows

Features for developers

  • Written in modern C++, legacy-free codebase!
  • Uses JSON as on-disk format
  • Uses Gtkmm3 for GUI
  • OpenGL 3 accelerated rendering
  • Everything is referenced by UUIDs

Getting Started

See the the docs.

Included third-party software

Directory in 3rd_partyProjectVersionURLLicense
nlohmannJSON for Modern C++3.10.3https://github.com/nlohmann/json/MIT
clipperClipper6.4.2http://www.angusj.com/delphi/clipper.phpBoost
polypartitionpolypartition7bdffb428b2b19ad1c43aa44c714dcc104177e84https://github.com/ivanfratric/polypartition/MIT
poly2tripoly2trid949f3cd6f85b20728af0bdc454b090226068c73https://github.com/jhasse/poly2tri3-Clause BSD
dxflibdxflib3.26.4https://qcad.org/en/90-dxflibGPLv2
alphanumThe Alphanum Algorithm1.3http://www.davekoelle.com/alphanum.htmlMIT
delaunatorDelaunator C++6f2879967bc96a9bcdbacf418e560e9f2e170acehttps://github.com/abellgithub/delaunator-cppMIT
footagfootag99116328abe8f53e71831b446d35e93ee7128ef3https://github.com/endofexclusive/footagGPLv3
routerKiCad router6.0.4https://gitlab.com/kicad/code/kicad/-/tree/6.0.4/pcbnew/routerGPLv3
sexprKiCad s-expression parser6.0.4https://gitlab.com/kicad/code/kicad/-/tree/6.0.4/libs/sexprGPLv3
catch2Catch23.0.1https://github.com/catchorg/Catch2/releases/tag/v3.0.1Boost
range-v3range-v30.12.0https://github.com/ericniebler/range-v3/releases/tag/0.12.0Boost