Circuit Simulation
The first thing that I need is a circuit simulator. I've run into a surprising amount of trouble here.
Lush Projects
http://lushprojects.com/circuitjs/
Haven't tried it yet, but it looks pretty good. Based on the Java one I used to play with.
Circuit Lab
Ok, but the free version was very limited. Subscriptions are expensive $15/month (cheapest plan is fine for me).
QUCS
Desktop FOSS. I kind of liked it but it was a pita to use and after figuring out some very odd quirks, I started running into problems with it's simulation. Basic oscillator circuits would crash the simulator.
The other significant disadvantage is that there was very little support.
Spice
Tried a few variants. Extremely difficult to use, and I ran into the same issue as QUCS.
GNU CAP
No information
Roll-My-Own
How could I not consider this? Since the field is so sparse, I should consider contributing.
Were I to do this, my goals would be:
- Simple "bread-board" simulation out-of-the-box
- runs in browser
- sub-circuits and components
- real-world considerations that can be "turned on", temp, noise
- export to other standards, particularly board layout tools.
Sub Circuit
Nothing fancy here, useful both for add standard ICs and for abstracting circuits. A sub circuit has exposed wires (pins).
Components
A component is a class. It has some number of constant parameters and takes some number of circuit parameters. For instance, a resistor is defined by a resistance. During simulation, this value is constant. It has two pins and performs simulation calculations for them.