Just want to take a moment to mention a few resources that I think could be very useful for virtual prototyping.
Circuit.IO – browser based
https://www.circuito.io
Great place to visualize and test out a project before committing to the parts. Software like this can provide a blueprint for a future project or at least provide a clean and accessible way to work on a project on the go.
If the design works out, Circuito.io provides you will a itemized listing of the parts you selected in the project and provides a quick and easy way to purchase them.
TinkerCAD Circuits – browser based
https://www.tinkercad.com/circuits
TinkerCAD Circuits is another version of the very useful TinkerCAD site by AutoDesk. Its similar to Circuito.io in function and look. One of the benefits of using the TinkerCAD portal is easy access to both the 3D printing side and the electronics protoyting from the same place.
Another piece of software that can be downloaded and used offline is Frtitzing – downloadable application (Win/Mac).
https://fritzing.org/home/
While the UI is more complicated than TinkerCAD and Circuito.io, but it is more robust in it functionality. Additional libraries of components can be imported and the prototyping process can be taken to another level by providing the user the ability to move the project from breadboard to PCB.