Open-source Circuit Simulation

For simple circuits, it’s easy enough to grab a breadboard and start putting it together. Breadboards make it easy to check your circuit for mistakes before soldering together a finished product. But if you have a more complicated circuit, or if you need to do response modeling or other math on your design before you start building, you’ll need circuit simulation software.

While it’s easy to get a trial version of something like OrCAD PSpice, this software doesn’t have all of the features available unless you’re willing to pony up some cash. Luckily, there’s a fully featured free and open source circuit simulation software called Qucs (Quite Universal Circuit Simulator), released under the GPL, that offers a decent alternative to other paid circuit simulators. Qucs runs its own software separate from SPICE since SPICE isn’t licensed for reuse.

Qucs has most of the components that you’ll need for professional-level circuit simulation as well as many different transistor models. For more details, the Qucs Wikipedia page lists all of the features available, as does the project’s FAQ page. If you’re new to the world of circuit simulation, we went over the basics of using SPICE in a recent Hack Chat.

Thanks to [Clovis] for the tip!

29 thoughts on “Open-source Circuit Simulation

    1. FAQ and the package installed on my computer seem to indicate it uses Qt4 now. Though with the Qt3Support portability classes.

      It’s a great program. Though annoyingly, qucs provides very little feedback when simulation fails, just “Singular jacobian at t = 0.123e-5 s”. Then one is left to fiddle with the simulation parameters randomly until it runs. It would be much easier if it could translate the eigenvectors into somehow readable form, something like “When current through R3 increases, current through transistor Q4 increases also, but this reduces current through R3 and there is a saddle point with respect to current through C2” – and perhaps it would be easier to guess that C2 might need a series resistor instead of using an ideal part.

    1. Absolutely.

      I think many people assume that LTSpice, because it’s free, is a stripped-down tool, like the student version of PSPICE.

      It’s not. It rocks. I have no clue why people pay thousands of dollars for an analog simulator when LTSpice exists.

  1. Someone needs to make a standalone version of the falstad simulator. It’s really useful, but there’s always the danger that the website goes offline or for when you don’t have internet access and would like to tinker.

    The main problem with all the “professional” circuit simulators is that they’re complicated to use and take a lot of setting up to do before you get any meaningful results, whereas the falstad simulator is more like playing with a breadboard and sticking components and scope leads wherever you want easily to fudge things together and see what works.

    If something similiar to the falstad simulator existed, where you had sane defaults, and each part could be dynamically swapped with a more complete model in run-time, that’d be perfect. When the simulation complexity grows beyond what can be calculated in real time, you could have a simple option of disabling the display and examining the results in a post-processor.

    I’d pay $50 for that.

      1. The latest version of the site? It has some improvements over the java applet I saw elsewhere?

        Seems like you need a whole bunch of hooey to get it running though. No simple way?

    1. Basically all the falstad apps can be run locally. But I actually wish some of the others, such as the electromagnetics one, actually allowed you to save and load the state to/from a file and output the result in a broadly-readable format, like PNG or CSV. I’ve often used these apps for prototyping some ideas and honing my electromagnetics intuition, but wish there was a way to share them instead of having to rebuild them each time.

  2. > Qucs runs its own software separate from SPICE since SPICE isn’t licensed for reuse.
    Spice is BSD licensed. So you can do quite a lot with it. Spice has been open source since before the word existed.

  3. Dunno, looks not active. And methinks that

    Concur with LT Spice comments; but suspect that it could eventually be trashed by ADI. Also, easyeda does LT Spice stuff. Have used NI (multisim), Allegro, Mentor, and other stuff. They provide reasonable simulations for most stuff, but need to heed Bob Pease’s advice on this genre of software. Have spent many hours fixing op amp models (we are looking at you Microchip and JRC and ADI).

  4. I enjoy using QUCS, as a homebrewer / wannabe / hobbyist RF circuit experimenter. It can be difficult to learn but there are some great video tutorials to help. LTSpice is excellent too but QUCS is a great resource for RF circuit simulation.

    I would like to share the names of some of the software I use for radio frequency design. Most of them are very well known already but I will include them here in hopes that someone may find it useful:

    For RF LC Filters (like a BPF for a receiver or LPF for a transmitter) I usually use: AADE Filter Design. The Elsie software by Tonnesoft is alright too but I generally prefer AADE’s filter design program. BTW, the AADE guy is now a SK. :( I consider the L/C meter kit he use to sell to be one of the greatest investments I made as a homebrewer,

    For intermediate frequency crystal ladder filters I use Dishal Crystal Ladder Filter Program. It is by DJ6EV.

    Wes Hayward (W7ZOI)’s software package that comes with the book Experimental Methods in RF Design (EMRFD) is called LADPAC. It includes a set of software that is extremely useful and is referenced to in the book. The freely available archive of the old website Popcorn QRP called QRPHomeBuilder.pdf (available at NT7S website) also features in depth examples of how to use this set of software. Here is a list of the programs in the LADPAC set, from the help file :

    2. LowHi08: Design of LC low pass and high pass filters.
    3. GPLA08: General Purpose Ladder Analysis.
    4. DTC08, TTC08, and QTC08: Double, Triple, and Quad Tuned Circuits.
    5. Ladbuild08: Assembling and editing for ladder filters.
    6. XLAD08: Crystal Ladder bandpass filters.
    7. Meshtune08: Tuning individual meshes in a crystal ladder filter.
    8. BiasNPN.exe: Biasing of an NPN transistor.
    9. FBA.exe: Design of single transistor feedback amplifier.
    10. Cascade08: Noise figure and third order IMD evaluation of a cascade.
    11. Zmat08: Impedance Matching Networks.
    12. Q-Measurement
    13. Spurtune08: Mixer spurious responses.
    14. Padcap08: Padding capacitors for a tuned circuit.

    SimSmith is the easiest software I’ve used for learning about Smith Charts.

    W8DIZ’s Toroid software is one I have used a lot too, for quickly calculating the turns required on specific toroid types , to reach a specific inductance.

    KE7HR has a couple cute and simple programs for calculating resonance / reactance / L C values for specific frequencies.. They have been quite helpful.

    I also have a perl script that a friend wrote (& I edited and added to ) where you submit a list of all the frequencies of the crystals you have in your inventory / junk box and it calculates all the different mixing schemes to make them useful in building amateur band circuits.

    For fun quick and general circuit design / simulation, CircuitMod allows you to draw simple schematics and see the the circuit function, it is quite similar to that android app, which I believe is called EveryCircuit.. but its free and it kicks total booty. :)

    Sorry to not include links but hopefully I provided enough information to be useful to someone. If further information is needed, please let me know. I will try my best to check back but I do beg your pardon if I don’t get back to you. Good luck!

      1. “Qucs certainly can. LTSpice cannot.”

        I imagine you would be able to determine from the descriptions if any of the simple LADPAC programs meet your needs for specific stage design so I can not offer you any suggestions beyond what you have already determined. Programs like AppCAD and the old set of DOS/BASIC programs compiled together to form ‘HAMCalc’ (I have had trouble getting it to run on Win10) are the only other programs that I could recommend investigating.

        Oh, I do recall that CircuitMod does have transmission line simulation capabilities, if you haven’t played around with it yet, please do give it a try. It is freely available at: circuitmod dot sourceforge dot net but of course it is no where are capable as QUCS, just very user friendly.

        Sorry I couldn’t be more helpful but I will report back if anything else comes to mind. Best of luck and have fun! :)

  5. Qucs and LTSpice are both awesome. I’m more excited about the upcoming simulation support in KiCad though. The idea of being able to do simulation, documentation and PCB design all in one suite without having to trust any conversion tool or recreate the schematic from scratch appeals to me.

    1. simulated circuit said: “The idea of being able to do simulation, documentation and PCB design all in one suite without having to trust any conversion tool or recreate the schematic from scratch appeals to me.”

      Sounds nice – in theory. In reality you are going to want to do a SPICE simulation on just part of the whole schematic, so there will need to be a way to isolate and/or replace the nodes at the boundary of the target section of the schematic under simulation. That’s where it quickly gets easier to separate the part of the schematic under simulation in the simulator application itself.

      Then there’s the issue of having SPICE models for the nodes you intentionally leave connected, like a GPIO pin on a micro-controller. There isn’t going to be a SPICE model for the GPIO pin (steering/protection diodes, pull-up/down resistors, gate capacitance, etc.) These node characteristics are better modeled in the simulator schematic entry itself as lumped elements by taking GPIO pin characteristics from the part datasheet.

  6. I look forward to the KiCad SPICE integration. Currently it can be used and has some nice features (such as real time tuning of passive component values). But it is still not stable (I had problems getting most complex models to work, and also with some circuit topologies).

    Once KiCad SPICE integration is complete, KiCad will take over the world!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s