Public Notes: FOSS circuit modeling

Circuit simulation can be a great tool for engineering. A free and open source software (FOSS) solution can be even better. Here are a collection of resources and notes that I'm compiling as I learn about the ideal setup.

  • I would like to use a package I'm very familiar with KiCAD which is a great FOSS designed for circuit board design. It can be compatible with SPICE (Simulation Program with Integrated Circuit Emphasis), however a few configuration steps need to be executed.
    • I'm following this guide to set it up: Quick Guide to Using KiCad for SPICE Simulation
    • Based on recommendations, I am going with ngspice as the SPICE engine. This is responsible for actually doing the simulation calculations and processes. It can be seen as a "necessary add-on"
      • I downloaded the ZIP and placed it in my Program Files folder.
    • While perusing this, I decided it might be more convoluted then I may want. I may come back to it, but I am going to further explore options first.
      • Also, I could not find a decent library of SPICE components, so I will need to further look into it.
      • Plus, though SPICE can be powerful, in my experience I can work faster with a GUI based system
  • Looking at Quite Universal Circuit Simulator (QUCS) which is FOSS and has a decent looking GUI.
    • I am going to try following this fairly comprehensive tutorial: Qucs - A Tutorial
      • Speed up the process by memorizing the hot keys (note to self: find or make a list of shortcuts)
      • While messing around, I noticed that the transformer component does not appear to respond correctly when dealing with a pulse. Instead, I have to use the "mutual inductor" component.
        An Example Circuit I tried in QUPS
        An example circuit I tried out in Qups

    • There is a utility available for converting Qucs to KiCAD: qucs2kicad It may be worth looking into.
    • Some notes on my ~20 minute trial
      • It seems to be reasonably intuitive
      • I like the way the simulation outputs can be displayed on the same window as the circuit (See the above figure)
      • Directly export data to a PNG or CSV
      • This example here shows live parameter optimization, a feature which I find to be truly useful
      • Looks like It has all of the basic components I'd need for analog circuit design