BESS (Basic Electrical Simulation Software) is an open-source circuit simulator designed to be accessible, modern, and cross-platform.
The project began as an attempt to remove the barriers students often face when working with existing tools. Many popular circuit simulators are proprietary, restricted to a single operating system, or rely on outdated interfaces. BESS was created to provide a free, user-friendly, and modern alternative that works consistently across platforms. Its goal is to make learning and experimenting with circuits simpler and more approachable for everyone.
- Very extensible:
- One can write own plugins in Python to add new components, ui elements, and more.
- One can write own simulation drivers to add more capablities. Currently I have digital components simulation driver and maths simulation driver.
- Python plugins support hot reloading, for now only while in debug build.
- Maintains good fps ~60fps for large components.
- Verilog script import also works when working with digital components.
- Cross platform support for windows and linux.
Web Link - Check Here
Web Support is currently limited as plugins are not supported for now.
Screenshots - More
Tested Build On:
- Linux (Arch Linux: Wayland)
- Windows (Running in Github Actions)
- MacOS - Can't test and does need work
Following commands are only valid for Linux. All build scripts live in the scripts/ folder inside the CMake source directory.
- Clean previous builds (if you are building after another build)
./scripts/clean.sh
- Debug build & run
./scripts/build_run_debug.sh
- Release build
./scripts/build_release.sh
- Copies assets automatically.
- Binaries will be in
bin/Release/x64/. - Execute
cd bin/Release/x64/ ./Bess
- Architecture Overhaul and Usability Improvements - Details
- Web Support - Kind of done - Check Here
- Architectural Changes
- Good Test Harness
- Stability and UX Improvements