Took place release of a system for automating the design of electronic devices Horizon EDA 1.1 (EDA - Electronic Design Automation), optimized for creating electrical circuits and printed circuit boards. The ideas embedded in the project have been developed since 2016, and the first experimental releases were proposed last fall. As the reason for the creation of Horizon ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ the desire to provide a closer connection between the control of the library of elements and lists of parts with interfaces for designing circuits and boards, including by providing the ability to share common parts sets in different projects and bind by UUID. The code is written in C++ and spreads licensed under GPLv3.
A complete design workflow, covering the stages from drawing up a diagram to exporting the finished product in Gerber (RS-274X) and NC-Drill formats;
Functional interface for managing a library of elements;
Unified editor for any parts, from symbols to boards;
Schematic editor that takes into account the list of electrical connections (netlist) and the connection of elements;
An interactive track router originally developed for KiCad;
Artifact-free and lag-free 3D board rendering system;
Ability to download and create 3D models of components with support for exporting models to CAD in STEP format;
Ability to group multiple copies of the same board or place multiple boards on one panel to save money when ordering smaller boards;
A multi-threaded tool for checking compliance with design rules (DRC, Design Rule Checking), which allows you to identify typical errors in the design of a printed circuit board;
Interactive bus and track optimizer;
Parametric search system;
Interface for obtaining information about the prices of parts (based on kitspace partinfo);
The ability to navigate using on-screen gestures on systems with touch screens and customize the interface (for example, you can choose a color scheme to your taste);
Support for importing images in DXF format;
Interface for exporting Bill of Materials (BOM) and Pick&place instructions;
Communication of all components, blocks and parts using UUID;
Support for undoing changes (Undo / redo) and transferring objects through the clipboard;