Need for a web-based circuit simulator

tom66

Joined May 9, 2009
2,595
I feel you are trying to say: "Dude, leave it, it is too hard for you". ;)
I am saying adding it into the engine will make it slow and difficult to work with. Keep the basic circuit engine light and as fast as possible. Then add features in.

But it is not too hard to create generic support for limits in the simulation engine and document how to add those limits to the models. These are just a few more equations. We are not planning to make it all by ourselves. Also not all the models. It should be an open platform. Anyone could add models to it. Anyone could fix it. Like Wikipedia. I think this is the actual power of the web. Enabling things that are not possible for standalone, desktop simulators.
It's a nice idea but I think you'd need to make the entire program open source to have the community add all the features you like. In reality these features rarely get added by anyone but a small core team of developers. A project needs to reach a critical mass of supporters before others become interested in actually modifying it.

I You see, if the models were open, you could easily fix it. Such feature can be also easily switched off, if someone doesn't like it. Nevertheless exceeding 5V is a bug in the design. It is better to sometimes warn about something not so critical instead of silently simulating a circuit that is likely to cause problems.
I think this is putting too little emphasis on the fact that you should be checking parameters anyway. If you make it automatic, people will think that it will verify all critical parameters anyway even if it doesn't.

I would not like to go to a shop to buy new set of gates just because I set their power supply voltage to 10 V by accident.
Components are cheap. I've run a 3.3V PIC24F at 5V for about 3 minutes. It got really hot, but continued working properly (blinking an LED.) It still works. I've run 20V CMOS gates at 35V for a few minutes before they die. You should pay attention to these things. How does one accidentally double the supply voltage?
 

thatoneguy

Joined Feb 19, 2009
6,359
Ok, so what is what you like and dislike about it?
Especially what you want to improve?
Falstad's is great for showing the concept of how something works.

The User interface is a bit awkward, though. moving parts is a pain, let alone adding one.

That aside, it's useful to help most who ask questions here started in understanding.
 

SgtWookie

Joined Jul 17, 2007
22,230
Are you planning on supporting importation of PSPICE, IBIS, and other types of models, for the sole use of the individual - as in a private .sub/.lib library?

Having this feature would be quite valuable, but may run into copyright issues if the models are stored on your server.
 

Thread Starter

rapidcoder

Joined Jan 16, 2011
37
Are you planning on supporting importation of PSPICE, IBIS, and other types of models, for the sole use of the individual - as in a private .sub/.lib library?
As for the model import - yes. Although, I guess it shouldn't be the default option not to publish them to all the others. I can't see a reason, why a company that creates models of their devices, would not like to put these models wherever they can at no cost. I guess, most of these companies earn on selling the parts, not the models. If we get enough users, THEY will be paying us for allowing their models, just to increase their sales. Many user will buy those components, that are available in the simulator and in the shop. Especially, if we provide an "Order components for this circuit" button :)

BTW: If I write down the parameters of some copyrighted transistor model, and I create a new transistor model basing on the generic, parametric model present in our simulator and these actual parameter values, would I infringe the copyright or not? I don't think you can copyright such a small thing like a few numbers. And if I instead of copying, change these parameters by 0.00001% * random(-1,1)? The copyright for models is very, very weak. Patents are stronger, but software patents don't work outside U.S., fortunately. You cannot patent a model in Europe. You can patent physical things only.

It's a nice idea but I think you'd need to make the entire program open source to have the community add all the features you like.
How would you do it - to open source a program delivered in the SAAS model? :D
Someone would screw something in the simulator and other users could not use it until it is fixed.

Opening the model / plugin API is enough. If the engine has support for defining voltage/current/temperature/power constraints, providing this in the API is enough. This is the model successfully used e.g. by Firefox. The community creates plugins. The core is maintained by a small team of well payed, full time core developers. Sure, you can view the code, but try to make some important changes to the core of Firefox and have them accepted. Good luck!

The reason for that is, it is extremely difficult to add a completely new, core feature. And the responsibility is also very high, and it is easy to break things. However, adding a new device model or device symbol using a scripting API or even the GUI only (for simpler models) is a piece of cake. I guess many students have modelling labs - they often use Matlab for it, because there is nothing better, yet.
 
Last edited:

tom66

Joined May 9, 2009
2,595
As for the model import - yes. Although, I guess it shouldn't be the default option not to publish them to all the others. I can't see a reason, why a company that creates models of their devices, would not like to put these models wherever they can at no cost. I guess, most of these companies earn on selling the parts, not the models. If we get enough users, THEY will be paying us for allowing their models, just to increase their sales. Many user will buy those components, that are available in the simulator and in the shop. Especially, if we provide an "Order components for this circuit" button :)
Nice idea. In theory. But you'd need to be pretty big before the manufacturers starting listening to you. Something interesting: Linear Technology produce LTspice, a free SPICE. If you look at the models for their own chips, say LTC4442-1, you'll see they all appear to be encrypted or compressed in some way. My bet is those models have some kind of proprietary information in them which would be important to Linear, perhaps even a low-level gate model of each IC.

BTW: If I write down the parameters of some copyrighted transistor model, and I create a new transistor model basing on the generic, parametric model present in our simulator and these actual parameter values, would I infringe the copyright or not? I don't think you can copyright such a small thing like a few numbers. And if I instead of copying, change these parameters by 0.00001% * random(-1,1)? The copyright for models is very, very weak. Patents are stronger, but software patents don't work outside U.S., fortunately. You cannot patent a model in Europe. You can patent physical things only.
In theory, you should get away with it... in practice, you can in fact copyright/sue over a number (they are called illegal numbers or illegal primes.) For example, DeCSS, a program to decode encrypted DVDs, can be represented as a prime number, one of the longest ones found. And yet, it is copyrighted, despite having a reasonable use.

How would you do it - to open source a program delivered in the SAAS model? :D
Make an open source simulation engine and add some extra features as proprietary add-ons.

Someone would screw something in the simulator and other users could not use it until it is fixed.
Don't let people edit the live simulator; let them create their own, if they want to break it.

Opening the model / plugin API is enough. If the engine has support for defining voltage/current/temperature/power constraints, providing this in the API is enough. This is the model successfully used e.g. by Firefox. The community creates plugins. The core is maintained by a small team of well payed, full time core developers. Sure, you can view the code, but try to make some important changes to the core of Firefox and have them accepted. Good luck!

The reason for that is, it is extremely difficult to add a completely new, core feature. And the responsibility is also very high, and it is easy to break things. However, adding a new device model or device symbol using a scripting API or even the GUI only (for simpler models) is a piece of cake. I guess many students have modelling labs - they often use Matlab for it, because there is nothing better, yet.
Again, you will need a critical mass before plugins are created.

But I wish you the best of luck anyway!
 

Thread Starter

rapidcoder

Joined Jan 16, 2011
37
Make an open source simulation engine and add some extra features as proprietary add-ons.
What for? I mean, why open-source it? I doubt this business model works:

1. Open-source is good for building trivial things for masses. Like making a simple drawing program. It is year 2011 and there is still no community created, open-source EDA tool, competitive with commercial software. There are toys for beginners (Falstad), or things that aim at proffesionals but are cumbersome, unusable, unstable and not innovative (GEDA, KiCAD, etc.). Community can't make software that complex. It is far too expensive. And if users cant afford $2000 per copy (would you, for community created software, without real support?), this doesn't work.

2. Companies that provide successful open-source software don't earn money on that open-source software (e.g. Fedora, Oracle). More clearly: they don't earn on the fact that the software is open-source. They rather open-source software expecting the community to take away the costs of maintenance. This is what happened to Java. However - Java was not opensource from start. If it were, it would very probably fail.

3. We want to unify things. We do not want to have 10 different, incompatible versions of the simulator. We want to be like Facebook, not Linux (1% ppopularity on the desktop). Can you imagine Facebook opensourcing their engine? What for? What would be the benefit, except making the competition's life easier? What the power users (Facebook users) care for is open API. It is enough to make new applications of Facebook. Facebook got this right.

Again, you will need a critical mass before plugins are created.
True, but if the plugins are easy to create, and the product is for users that have some basic programming skills (most advanced electronic hobbyist do have), this mass is extremely low. It is sufficient to get a few persons from some technical university into it... :D Most of the popular, global products available nowadays (e.g. Linux) started small.
 
Last edited:

tom66

Joined May 9, 2009
2,595
What for? I mean, why open-source it? I doubt this business model works:

1. Open-source is good for building trivial things for masses. Like making a simple drawing program. It is year 2011 and there is still no community created, open-source EDA tool, competitive with commercial software. There are toys for beginners (Falstad), or things that aim at proffesionals but are cumbersome, unusable, unstable and not innovative (GEDA, KiCAD, etc.). Community can't make software that complex. It is far too expensive. And if users cant afford $2000 per copy (would you, for community created software, without real support?), this doesn't work.
gEDA is very nice, and very powerful. No EDA tool is easy to use unless it actually builds the circuit for you.

2. Companies that provide successful open-source software don't earn money on that open-source software (e.g. Fedora, Oracle). More clearly: they don't earn on the fact that the software is open-source. They rather open-source software expecting the community to take away the costs of maintenance. This is what happened to Java. However - Java was not opensource from start. If it were, it would very probably fail.
Rarely does open source take away the costs of maintenance, except for small changes. I'd say 95-99% of all Linux developers are employed full time by companies working with Linux.

3. We want to unify things. We do not want to have 10 different, incompatible versions of the simulator. We want to be like Facebook, not Linux (1% ppopularity on the desktop).
1% can have advantages for me. Less security holes, and viruses. ;)

Can you imagine Facebook opensourcing their engine? What for? What would be the benefit, except making the competition's life easier? What the power users (Facebook users) care for is open API. It is enough to make new applications of Facebook. Facebook got this right.
Slashdot, and Livejournal have open source engines, and they are fairly successful. They do not merge changes from the community in, they just open source it to curious geeks.

True, but if the plugins are easy to create, and the product is for users that have some basic programming skills (most advanced electronic hobbyist do have), this mass is extremely low. It is sufficient to get a few persons from some technical university into it... :D Most of the popular, global products available nowadays (e.g. Linux) started small.
Electronics engineers don't like to code, especially not on the desktop. I say this as one. Otherwise we would be embedded software engineers.
 
Top