This repository contains a web-based application for designing analog electrical circuits and serves as a testbed for exploring AI-assisted techniques in CPS. It is built using WebGME. This project is still in early stages and is not yet suitable for production usage!
While it can be used as a general purpose circuit editor, this project offers the following capabilities:
- Import SPICE Netlists and create schematic/diagram for the circuit.
- Export SPICE Netlists from a circuit for further processing/simulation.
- Using deep learning models, get recommendations on the next components/wires in the circuit.
Installing this repository requires NodeJS (currently tested for versions 12 and 14), MongoDB and Python > 3.8 with conda. For a native installation, clone this repository:
$ git clone https://github.com/symbench/electric-circuits
Then, create a conda environment using environment.yml:
$ cd electric-circuits
$ conda env create --file environment.yml
After that, install node dependencies and start the server.
$ npm install
$ npm start
Finally, navigate to http://localhost:8888 to start using electric-circuits
.
We also offer a docker image for this repository with all the dependencies installed. To start a docker container (without user accounts enabled) for this repository, use docker-compose
:
$ docker-compose --file docker-compose-local.yml up
This work is supported by DARPA’s Symbiotic Design for CPS project and by the Air Force Research Laboratory (FA8750-20-C-0537).