Skip to content

yavfast/circuitjs1_desktop

 
 

Repository files navigation

CircuitJS1 Desktop Mod

Circuit Simulator is renamed CircuitJS1 Desktop Mod

The source code for offline version of the Circuit Simulator with minor modifications based on modified NW.js. It was originally written by Paul Falstad as a Java Applet. It was adapted by Iain Sharp to run in the browser using GWT. The program was modified and compiled to offline version for Windows (x32, x64), Linux (x32, x64) and MacOS (x64, arm64) by Usevalad Khatkevich.

This program is distributed by me as a program for education. It is not recommended to use the program for modeling real circuits, since many components in the program are idealized.

The program supports the following languages: English, Russian, Danish, German, Polish, Spanish, French, Italian, Portuguese, Czech, Norwegian, Chinese, Japanese.

For a web version of the application see:

Paul's Page: https://www.falstad.com/circuit/
Source code: https://github.com/pfalstad/circuitjs1

Iain's Page: https://lushprojects.com/circuitjs/
Source code: https://github.com/sharpie7/circuitjs1

Downloads:

You can download this program for Windows (x32, x64), Linux (x32, x64) and Mac OS X (x64, arm64):

If you have problems with this application, you can try to use this offline application of the main developer based on Electron.

Building the program

The tools you will need to build the project are:

  • JDK 17+
  • Maven 3+
  • Node.js with npm

Install the dependencies in the local node_modules folder:

npm install

For desktop packaging (currently builds a Linux x64 release by default):

npm run build

For a full rebuild with complete cleanup (then package a Linux x64 release):

npm run full

Output folder: ./out/

Also you can build only the GWT application:

npm run buildgwt

and run it in NW.js SDK version:

npm start

npm start launches NW.js in detached mode (the terminal command returns immediately).

Output folder: ./target/site/

Development

Various build options, checker and devmod are available in the development menu:

npm run dev

Separate commands:

Check the build steps:

npm run check

Run devmode:

npm run devmode

Devmode works directly in the war directory separate from the target/site directory.

Standard circuits location

The built-in/standard example circuits (the files served under /circuits/... in the web UI/devmode) are stored in:

src/main/java/com/lushprojects/circuitjs1/public/circuits

These circuits are a convenient baseline corpus for testing (manual checks and automated import/export roundtrips).

Note: npm run devmode starts mvn gwt:devmode and also tries to launch NW.js for the dev UI; it is a long-running process.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

© Usevalad Khatkevich 2025

Credits

  • Paul Falstad - Creator
  • Iain Sharp - JavaScript conversion, so there are more opportunities for the development of this application.
  • Brian Gordon - Mavenized version of circuitjs1

About

Standalone (offline) version of the Circuit Simulator with small modifications based on modified NW.js.

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 78.0%
  • JavaScript 15.3%
  • HTML 3.3%
  • Python 2.7%
  • Other 0.7%