Creating Logic Circuits in CircuitVerse
Written by Josh Heng onCircuitVerse is a free and open source platform for creating and testing digital logic circuits. It's supported by a large, international community and also includes sharing capabilities, groups and educational resources.
Disclaimer - I have contributed to the development of CircuitVerse and have been asked to write this blog post
Links
- CircuitVerse.org
- The Interactive Book
- CircuitVerse Docs
- CircuitVerse on GitHub
- CircuitVerse Twitter
- CircuitVerse Facebook
What is CircuitVerse and What Can You Do?
The circuit below is an asynchronous counter, made in CircuitVerse. It's interactive - you can increase the count by clicking the button.
Creating Circuits
The GUI
Here is a quick run through of the UI:
- The left toolbar provides the Circuit Elements menu and properties for the entire project or a specific component.
- The top bar provides quick actions that can be performed on the project, such as saving, loading and exporting to images.
- The grid on the right is the main window, where your circuit can be assembled and connected.
- Scrolling up and down will zoom in and out.
- Dragging (without selecting an object) will pan the view.
Assembling Circuits
- Components can be added by dragging and dropping an element from the left menu.
- Wires can be created by dragging on the green nodes.
- Inputs can be toggled by clicking on them.
To begin with, try just dragging a simple input
and output
element to the grid, connecting them and seeing what happens.
Saving and Loading Circuits
- Circuits can be saved online or offline. I would always recommend saving circuits online.
- An online save will require you to create a free account and allows sharing and accessing your circuits from other devices.
- An offline save saves the circuit in your local browser cache.
- When saving a circuit, you can enter its details.
- Tags and a description can be added to explain what your circuit does.
- You can set the visibility of your circuit to
public
,private
orlimited access
.
Sharing and Embedding Circuits
- Circuits can be shared publicily by setting your project visibility to
public
. - Circuits can be shared to specific people by sending someone the URL of your circuit and setting your project visibility to
limited access
.
Circuits can also be embedded onto your website. To do this, click the embed
button on the project page and copy the code provided. This will result in an interactive circuit like the one below:
Forking Circuits
fork
button on the project page.
Assignments
- Go to your
groups
page by clicking on your account name in the top right corner. - Click
new group
to create a group and give it a name.
Group members can then be added by entering their email. Existing users will receive an invite, whereas new users will get an email asking them to sign up.
Assignments enable you to create a task for your group members. In an assignment, you can choose to restrict the circuit elements used, set deadlines and grade responses. Groups are a widely used feature on CircuitVerse by universities - students can be set assignments to do in their own time, to reinforce their understanding of digital circuits.
Conclusion
So, that's it for CircuitVerse! If you have any questions, feel free to comment below. And if you haven't already, check it out at CircuitVerse.org.