Logossim
An open-source logic digital simulator built for the web
Logossim was a result of my undergraduate thesis on Computer Engineering. As the name implies, Logisim— an acclaimed logic circuit simulation software — was a big inspiration for this project.
The simulator offers 27 base components, including I/O, logic gates, memory, plexers, and wiring utilities. With those components, it is possible to build fun circuits, like this one, that play “The Imperial March” from the Star Wars franchise.
Every component has its own set of configurations, which can be set by the user and determine how it looks and behaves during the simulation.
The core principle of this project is to be easily understandable by anyone with some web development background (HTML, CSS, and JS). To achieve this, I implemented a custom-built logic simulation engine.
This engine runs on a Web Worker thread and orchestrates the simulation, handling user input, propagating signals, and communicating with the UI thread via messages.
The user interface was built on top of react-diagrams
, which was heavily customized to support bifurcations across links, right-angle links, copy & paste and undo & redo functionalities, among other customizations implemented to make Logossim look and feel like Logisim.
Some other features of this application are:
- Component configurator with previews
- A welcoming and informative tour
- Saving and loading of circuit files
- Auto saving
- Keyboard shortcuts