Skip to content

Repository files navigation

SYSTEM ET

An ECAD-Tool for complex schematics and layouts

The Idea behind

  • Most ECAD tools do not allow opening, checking and editing of multiple designs simultaneously.
  • We need real hierarchic and modular designs.
  • We need a text based, machine and human readable format for design files.
  • Design checks provided by common ECAD tools are way too superficial and trivial.
  • Style guides must be checked against.
  • The tool must be highly scripting capable (Everything that can be done via the GUI must also be possible via commandline or script.).
  • We want to do agile hardware develpment which requires the features mentioned above.
  • The tool must be open sourced.
  • Currently the GUI is under construction.
  • Your feedback and collaboration is highly welcome !

Outstanding Features

  • native Linux support
  • ASCII / text based design and device model files - optimized for version control with GIT
  • human readable and editable design and model files
  • multi-schematic/board/layout support
  • true hierarchic and modular design with interfaces at the module boundaries
  • submodules instantiated in parent module by reference
  • extensive design rule checking (device prefixes, purpose of user-interactive devices, partcodes, pinout of board-to-board connections ...)
  • interfacing with system modeling tools

Examples of design and component models

Demo Project

A dummy project to test the code and to show features can be found in the repository at https://github.com/Blunk-electronic/ET_training. You should clone it in a test directory like:

cd tmp
git clone git@github.com:Blunk-electronic/ET_training.git

Parallel to to the demo project you need the component libraries:

git clone git@github.com:Blunk-electronic/ET_component_library.git

Finally you shuld have these two directories:

ls
ET_component_library  ET_training

Now change in to the demo project:

cd ET_training

Start ET along with the demo project:

et --open-project demo

The directory you are currently in contains some other test projects which are currently not used.

Now you should see the schematic editor and the layout editor window with a useless dummy project.

demo_schematic

demo_board

For debugging the log level can be specified:

et --open-project demo --log-level 5

The debug and messages log can be found in file ET/reports/messages.log. The greater the log level, the more messages will the log file contain.

Useful for testing is the feature to execute a script right away on opening the project:

et --open-project demo --log-level 4 --script demo/test_schematic_group.scr 

Documentation

User Manual http://www.blunk-electronic.de/ET/pdf/caesystemet.pdf

Documentation uses Sphinx. The required Python dependencies can be installed using uv:

uv sync

and built with:

cd doc
uv run make html

For those interested in the basic mechanisms of the canvas engine, a textbook is available at http://www.blunk-electronic.de/en/index.html.

Installation

  • Currently there is no proper install script.

  • Install the following packages:

    • the GNAT Ada compiler (version 9 or later). It should come along with major linux distros.
    • make
    • gprbuild
    • gtkada
  • Find a installation howto for gtkada and gprbuild here https://github.com/Blunk-electronic/ada_training

  • Change into src/et and follow the instructions in readme.txt.

Why Ada ??

  • The only programming language that provides a robust and strong typing system is Ada.
  • Objects and structures within a schematic, library and board layout are very very complex things and require sound modeling.
  • If saftey/mission critical and military applications use Ada, then is must be good for an advanced ECAD system as well.
  • Ada is defined by ISO/IEC 8652:2012 and MIL-STD-1815
  • Ada is beautiful :-)

Roadmap and required Contribution

Your help is appreciated and is highly welcome ! For most of the issues below a separate issue exists on the GitHub page. All code must be written in Ada for the reasons mentioned above.

Major Construction Sites

  • graphical editors for symbol, package/footprint and device models
  • CAM processor
  • export PDF, PNG, ...
  • import and append native ET modules to current active module
  • import EAGLE and KiCad projects and component libraries
  • realization of true hierarchical design
  • net converter checks connector pinouts of modules

Miscellaneous

  • zero-Ohms resistors
  • accessories of components (screws, washers, clamps, ...)
  • web browser support so that ET can be operated on every operating system
  • a nice web site for the project

About

An ECAD design tool for complex schematics and layouts

Resources

Stars

13 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages