All projects

CompleteUpdated Added

Virtual Breadboard Lab

A 3D Arduino-style breadboard simulator with placeable components, jumper wires, a block-programming editor, a serial monitor, a live wiring linter, and four guided labs.

About this project

I have had the opportunity to experiment with physical breadboards both in my educational pursuits and my personal ventures. I find the process to be very enjoyable, and building little circuits can be a very educational way to build a foundation for understanding computer engineering and computer science. The purpose of this application was to simulate the experience of playing around with a breadboard.

The thing that surprised me the most about this project is how feature-rich the resulting application became. In the planning session that I had with ChatGPT, I mostly took the attitude of just wanting to see a breadboard simulator and gave the AI the mentally taxing task of coming up with creative features to add for me to approve. It decided to include various additional circuit components, lessons for learning how to use some of the complicated components, block-based programming akin to Scratch for the Arduino, time controls, automatic issue debugging for the circuit, and more. As a nerd for this type of low-level circuitry, it is very easy to get lost having fun in this application.

Screenshots

Close view of the breadboard in Lab 1 with a resistor and a glowing orange LED wired from the power rails, the simulation running and the lab instructions on the right. (view full size)
Lab 1's starter circuit running, with the LED lit from the 5 V rail through a series resistor.
Lab 4 running with the 7-segment display showing 5 and the Serial tab open, listing time-stamped counter prints 0 through 9 and back to 0. (view full size)
The shift-register counter lab with the serial monitor open, receiving each digit as it is displayed.
The block program drawer open below the 3D scene, showing a forever loop with display digit on 7-segment, print to serial monitor and wait 600 ms blocks while the display reads 6. (view full size)
The Blockly block-program editor for the running Lab 4 counter.

Resources