It's a minecraft mod, yes. It's also a fully functional DC electrical simulation, with realism as a primary focus. Any inaccuracies are either strictly required (= it runs at 20Hz for most purposes), or allowances for decent gameplay.
Re:Electronic Circuit Simulator in the Browser
by jtms on Wednesday July 25, 2018 @04:39PM
(#17612597)
Minecraft is an amazing learning tool even for adults! I used Minecraft as a "build along" tool for fully understanding logic gates while reading "Code: The Hidden Language of Computer Hardware and Software" (which I highly recommend - great book!). I used a mod called "red power" to make laying out the circuits much easier (the color coded, bundled cables alone were worth using it). Perhaps I will have to fire up Minecraft and take Electrical Age for a spin - it looks REALLY cool!
Re:Electronic Circuit Simulator in the Browser
by Kagerjay on Thursday July 26, 2018 @09:43AM
(#17617406)
People don't realize how much crazy stuff originates from minecraft.
For instance, battle royale (e.g. fortnite, pubg, realm royale, etc). That came from a minecraft mod based on hunger games before Arma+dayZ implemented it on their end. https://en.wikipedia.org/wiki/Battle_royale_game
But there's way more cooler stuff than that coming out of minecraft.
We have people building full blown computers in minecraft too.
Re:Electronic Circuit Simulator in the Browser
by worldsayshi on Thursday July 26, 2018 @09:57AM
(#17617526)
The full blown computers running in Minecraft has made me hope for more games that make computation an integrated part of game mechanics.
Like what if parts of the game code where represented as the environment. So that you can build your own game. Perhaps you can mod the game from inside the game. Or perhaps something more controlled, like modifying the level generation by interacting with the level itself.
Re:Electronic Circuit Simulator in the Browser
by MrEldritch on Friday July 27, 2018 @01:57PM
(#17627789)
>The full blown computers running in Minecraft has made me hope for more games that make computation an integrated part of game mechanics.
You know, speaking of which, I actually learned FORTH from Minecraft.
Years ago, there was a now-defunct mod, Redpower 2, that massively expanded on the game's existing redstone mechanics. Redstone wires that could be run on walls and ceilings, insulated wires, bundled cables that carried 16 signals in parallel, a plethora of single-block logic gates, and a huge array of added features like the motorized "frames" that let you move huge constructions all at once, or the sophisticated pneumatic-tube networks for moving, routing, and sorting items. It was hugely popular; many features it introduced worked themselves so deeply into the modded community that clones copying many of its mechanics would remain popular to this day.
And one of the things it added, in one update, was a computer - specifically, an emulated custom 6502 variant (the 65EL02) with 8K of RAM (expandable to 64K), and a boot disk for a FORTH-based operating system to run on it. (Some dedicated users did code up other operating systems; someone ported BASIC to the thing, although it took up an awful lot of that limited memory)
Nobody had ever seen anything like it in the modded community, and a lot of children (including me) made at least a nominal effort to learn some basic FORTH so we could build things like password-locked doors, or pilot frame-based flying machines to do useful things like quarry out half the world and deliver it to our doorstep. Lots of more advanced stuff got built, too - 3D printers, computer-controlled automatic crafting systems, teleporters with selectable destinations.
The Redpower computers ended up not terribly popular, in the end - FORTH, being a language from 1970 that nobody had heard of before and which didn't look much like anything else most Minecraft players had ever used, proved a pretty intimidating barrier to entry; and shortly after Redpower introduced their feature someone else made their own mod that added Lua-based computers with a much less barebones OS and friendlier ways of interacting with useful functionality. This had a much easier time taking off.
Re:Electronic Circuit Simulator in the Browser
by worldsayshi on Thursday July 26, 2018 @04:45PM
(#17620915)
I'm honestly curious: where do you think the boundary between work and play occurs here? It seems to me that many of those that make those mods do it mostly as a recreation, don't you think?
Re:Electronic Circuit Simulator in the Browser
by worldsayshi on Friday July 27, 2018 @11:19AM
(#17626594)
Exactly! And that's the beauty of designing such a game in the right way. There's an opportunity to narrow down the freedoms in just the right way to limit failure rates.
I don't think complexity alone is a game stopping issue. There are plenty of highly complex games that people find fun and addictive. But complexity in combination with high failure rates (a lot of trial and error) will kill the fun.
But I think that high complexity with low error rates is perhaps exactly what makes a game fun. If you can express yourself freely and roam around while expecting most of your actions to produce an interesting result the game will be very interesting.
Re:Electronic Circuit Simulator in the Browser
by sleavey on Wednesday July 25, 2018 @04:01PM
(#17612294)
I'll throw my hat into the ring as well. I have also recently been building a small signal AC analysis circuit simulator [1]. The main idea behind it is to convert a closed source tool that has been around for years within the LIGO scientific collaboration to one that is open source and implemented in Python. It's almost functionally complete, can simulate transfer functions and (accurate) noise from op-amps, resistors, capacitors and inductors in circuits with current or voltage sources. There is a library of popular op-amps for which we've measured the noise, open loop gain and various other parameters, available to be simulated with.
Re:Electronic Circuit Simulator in the Browser
by zokier on Wednesday July 25, 2018 @06:19PM
(#17613451)
Is there some fundamental differences between this and the more established simulators like (ng)spice and QUCS? Trying to understand the rationale of building your own
Re:Electronic Circuit Simulator in the Browser
by sleavey on Thursday July 26, 2018 @04:02AM
(#17615850)
When LISO (the tool my project is based on) was first made, SPICE simulators couldn't properly handle "realistic" op-amp parameters, like finite open loop gain, strange phase shifts due to output impedance especially of FET-based op-amps, realistic noise, stability of circuits containing feedback loops, etc. Furthermore, SPICE models provided by manufacturers typically don't represent the real behaviour of their op-amps, especially when it comes to noise, so the idea was to build a tool to which you can give arbitrary, perhaps measured, noise spectra.
LISO also contains a brilliant fitting routine which can take a measured transfer function or noise spectrum and fit circuit parameters (e.g. op-amp noise, resistor values, etc.) to the data. It first uses some standard fitting algorithm (e.g. Nelder-Mead) to get close to the possible minimum, then uses a custom optimisation in log space to get the global minimum. If I remember correctly the author published a paper on this, and I can try to find it if someone is interested.
Re:Electronic Circuit Simulator in the Browser
by sleavey on Thursday July 26, 2018 @03:54AM
(#17615805)
Thanks for taking a look!
> the input is pretty esoteric to a newbie like me
Yeah, those input and output files are what LISO uses. This was developed between around 1995 and 2010, and was built mostly to solve specific problems the original author was having with circuits and not as a generic tool, hence the syntax. You can avoid using this syntax at all as everything gets parsed into Python objects - see e.g. [1].
> Is this a custom file format or a well known one?
Custom. It's similar to a SPICE input file, but not identical. The author told me that he didn't know about parsing algorithms like Lex/Yacc when he wrote it, otherwise it might have been nicer.
> the references to LISO are all behind a user/password wall
Sorry about that. As I said, this was a tool used internally within the collaboration for many years. I am working on getting at least the manual made publicly available, but there are some proprietary libraries with unclear licences preventing public release of the binary and source code. Ideally, eventually my Python project will replicate all of the features of LISO and we won't even need the old binary any more.
EDIT: if you like, I can send you the manual and binary for LISO to the email in your profile - let me know.
Re:Electronic Circuit Simulator in the Browser
by alphabetter on Wednesday July 25, 2018 @06:39PM
(#17613568)
Paul Falstad did (and does) all the heavy lifting for this project, but the co-host of the JS version at lushprojects.com is my site and I did the original port from a Java applet to a GWT application that complies to JS.
Glad to know so many people find it useful. I always thought it was a great visualisation tool which I why I wanted to put the effort in to do the port.
Off to bed now, but if people have questions I'll take a look at the discussion again in the morning.
Re:Electronic Circuit Simulator in the Browser
by bjt2n3904 on Thursday July 26, 2018 @12:42AM
(#17615102)
This app really helped me through my degree, especially the internals of the 555 timer. Very intuitive and simple to use, but as soon as I found it, I knew it had a lifespan running as a Java plugin. Rejoiced profusely when I learned it was ported to JS! Thanks for the effort!
Re:Electronic Circuit Simulator in the Browser
by Something1234 on Wednesday July 25, 2018 @09:46PM
(#17614504)
Where do I learn to write simulations like this? I'm doing numerical models this summer, and it feels like a lot of the notation is inconsistent, unlike programming.
Re:Electronic Circuit Simulator in the Browser
by Sean1708 on Thursday July 26, 2018 @08:01AM
(#17616752)
What's your background? I ask because if you need to learn the physics behind how circuits behave then that's going to be a lot more difficult to self-teach than just learning how to solve differential equations computationally.
Re:Electronic Circuit Simulator in the Browser
by Something1234 on Thursday July 26, 2018 @09:42PM
(#17622847)
I've done a little bit of arduino nothing too impressive, and I've had basic physics. I'm still having issues understanding how graphs(the data structure) come into play and how to count the resistance in those situations. I've read several books on basic electricity. As for calculus I've only had calc 1. What should be my path to learn more about these simulations?
Re:Electronic Circuit Simulator in the Browser
by Tade0 on Wednesday July 25, 2018 @02:35PM
(#17611659)
I remember when this was still a Java applet - nice to see that it has been since rewritten in JS.
I credit this app for being able to pass the first half of my sophomore year at University - just months before I failed four courses(the allowance was two) and was given a chance by the dean to redeem myself.
Re:Electronic Circuit Simulator in the Browser
by kmm on Wednesday July 25, 2018 @04:33PM
(#17612551)
I was really happy to see it got rewritten in JS as well, because Java applets are a pain (or just plain impossible). Sadly, the JS version is also a lot slower, I don't know how that could have gotten prevented
Re:Electronic Circuit Simulator in the Browser
by TwiztidK on Wednesday July 25, 2018 @02:19PM
(#17611497)
I'm currently teaching an electronics class and have used this site heavily for in-class demonstrations. Some of the concepts (like a Push-Pull amplifier) are much easier to understand when you can see a visualization of how it works.
Re:Electronic Circuit Simulator in the Browser
by Taniwha on Wednesday July 25, 2018 @06:09PM
(#17613380)
I teach an occasional "electronics without math (except ohms law)" class at the local makerspace - I've been using falstad ever since they showed up (many thanks!)
Re:Electronic Circuit Simulator in the Browser
by virgil_disgr4ce on Wednesday July 25, 2018 @02:29PM
(#17611597)
It's funny to see this here—I've been a MEGA FAN of Falstad for many years now, and I use this and many of his other tools in every single one of my classes. If y'all don't know about this site, he's made SO MANY incredibly excellent and informative tools it boggles the mind.
Seriously people, this guy is a freaking genius. I want to meet him just so I can shake his hand, thank him, and buy him about a million beers.
Re:Electronic Circuit Simulator in the Browser
by teraflop on Wednesday July 25, 2018 @01:49PM
(#17611239)
Nice! I've been using this tool on an occasional basis for years (since long before it was converted from a Java applet to JS) and I noticed that the source code was available for download, but I had no idea it had switched to a fully open-source development model.
Re:Electronic Circuit Simulator in the Browser
by ironix on Wednesday July 25, 2018 @03:43PM
(#17612174)
This tool is the lowest-barrier-to-entry to get into circuit design -- used the applet after trying commercial/trial tools (including "cloud-based" ones), and all failed me.
Re:Electronic Circuit Simulator in the Browser
by olafalo on Wednesday July 25, 2018 @01:56PM
(#17611298)
This is a fantastic tool! When I was younger, it was great to be able to experiment without needing any hardware and while having more visibility into what was happening. Especially cool that it lets you play with memristors.
Re:Electronic Circuit Simulator in the Browser
by Animats on Wednesday July 25, 2018 @06:53PM
(#17613660)
That's very nice. I've used LTSpice extensively, but this was very helpful for understanding phase-locked loops. Seeing the current flow in the wires helps.
Re:Electronic Circuit Simulator in the Browser
by up-n-atom on Wednesday July 25, 2018 @05:57PM
(#17613268)
Been using iCircuit for iOS for a very long time, which is a C# port of falstad's engine. Only recently have I tried the demo of circuitlab; It would be much appreciated to give it a more comprehensive try... Username: up-n-atom
Re:Electronic Circuit Simulator in the Browser
by yuhe00 on Wednesday July 25, 2018 @06:22PM
(#17613460)
Username: yuhe
Thanks, that's very generous! I registered a while ago and I'd definitely pay for something like this if I was using it professionally, but I'm barely a hobbyist...
Re:Electronic Circuit Simulator in the Browser
by domsl on Thursday July 26, 2018 @02:35AM
(#17615465)
username: domsl
Hey I just signed up, it looks pretty cool. I still remember struggling with spice at school (almost 10 years ago) – I think this makes easier access to electronic simultion :)
Re:Electronic Circuit Simulator in the Browser
by zokier on Wednesday July 25, 2018 @03:34PM
(#17612104)
KiCAD 5 was recently released (congrats team!) and it got ngspice integration which sounds neat. Haven't yet had time to try it out, but what I've seen so far looks promising. Of course with SPICE (and really any simulator) the problem is creating/finding good models for your parts or even generic ones.
Re:Electronic Circuit Simulator in the Browser
by vortico on Wednesday July 25, 2018 @03:46PM
(#17612196)
Same here. It never hit production, but this simulator was fully-featured enough to replace SPICE and accompany breadboard prototypes before I ordered a PCB run.
Re:Electronic Circuit Simulator in the Browser
by p1mrx on Thursday July 26, 2018 @04:07AM
(#17615859)
When I made this 3-phase source, the voltages were out of whack until I reset the simulation. Perhaps the phase offsets are relative to the time of placement, instead of some absolute reference?
Re:Electronic Circuit Simulator in the Browser
by santix on Wednesday July 25, 2018 @03:31PM
(#17612081)
Nice site!
That example circuit is called a resonant circuit and the oscillation that is seen after the power supply is removed happens because both the capacitor (C) and the inductor (or coil, L) store energy—in electric and magnetic fields, respectively—and start feeding each other.
That LED represents a something (probably firmware on the keyboard) reacting to the switch being pressed by a user.
Edit: I used a decade counter with a 5 col matrix for simplicity. I was using a 4 bit binary counter, but the browser started really bogging down with a bunch of components.
Re:Electronic Circuit Simulator in the Browser
by kragen on Thursday July 26, 2018 @08:12PM
(#17622479)
I wanted to build this from source to use offline, but so far I can't figure out how; the source is in Java, compiled to JS with GWT, and I haven't figured out how to install GWT yet. I've really enjoyed using it online.
Has anyone done a validation study comparing this simulator to a known-good simulator like Berkeley SPICE?
Re:Electronic Circuit Simulator in the Browser
by kragen on Thursday August 09, 2018 @04:02PM
(#17727972)
Cool! I've installed it and it seems to work plausibly, though it's an old enough version that its "export URL" function is no longer compatible with the site. And the site has more features.
The validation question is interesting to me because I'd like to do things that go beyond just academic exercises, so I'd like to know how much confidence to have that the physical devices behave as modeled.
Re:Electronic Circuit Simulator in the Browser
by gkhartman on Wednesday July 25, 2018 @05:05PM
(#17612798)
I used this to better visualize the circuits in my undergrad physics courses. I remember searching for a good animated representation of a curtain type of circuit with the expectation of finding some decent gifs/videos, but I stumbled upon this web app instead. :)
Re:Electronic Circuit Simulator in the Browser
by devxpy on Thursday July 26, 2018 @10:20AM
(#17617712)
That's great, but we really need something like this that can allow us to simulate microcontrollers / raspberry pi. Development would become really simple for us software guys then !
Re:Electronic Circuit Simulator in the Browser
by duncancarroll on Wednesday July 25, 2018 @08:58PM
(#17614314)
Yes! I've wanted something like this since I was 12 and could never understand why it didn't exist. How else was I to learn circuitry at that age? Thanks!
Re:Electronic Circuit Simulator in the Browser
by ladberg on Wednesday July 25, 2018 @06:50PM
(#17613644)
I have 8 bookmarks in my browser and this has been one of them for the past two years. It's incredibly useful for EE stuff and fun to just mess around in.
It's a minecraft mod, yes. It's also a fully functional DC electrical simulation, with realism as a primary focus. Any inaccuracies are either strictly required (= it runs at 20Hz for most purposes), or allowances for decent gameplay.
(Or bugs. Those are probably my fault.)
For instance, battle royale (e.g. fortnite, pubg, realm royale, etc). That came from a minecraft mod based on hunger games before Arma+dayZ implemented it on their end. https://en.wikipedia.org/wiki/Battle_royale_game
But there's way more cooler stuff than that coming out of minecraft.
We have people building full blown computers in minecraft too.
Example: https://www.youtube.com/watch?v=SPaI5BJxs5M
You can even livestream yourself on a TV screen that you make on minecraft. Example: https://youtu.be/IdlZRhKmWJY?t=327
Like what if parts of the game code where represented as the environment. So that you can build your own game. Perhaps you can mod the game from inside the game. Or perhaps something more controlled, like modifying the level generation by interacting with the level itself.
You know, speaking of which, I actually learned FORTH from Minecraft.
Years ago, there was a now-defunct mod, Redpower 2, that massively expanded on the game's existing redstone mechanics. Redstone wires that could be run on walls and ceilings, insulated wires, bundled cables that carried 16 signals in parallel, a plethora of single-block logic gates, and a huge array of added features like the motorized "frames" that let you move huge constructions all at once, or the sophisticated pneumatic-tube networks for moving, routing, and sorting items. It was hugely popular; many features it introduced worked themselves so deeply into the modded community that clones copying many of its mechanics would remain popular to this day.
And one of the things it added, in one update, was a computer - specifically, an emulated custom 6502 variant (the 65EL02) with 8K of RAM (expandable to 64K), and a boot disk for a FORTH-based operating system to run on it. (Some dedicated users did code up other operating systems; someone ported BASIC to the thing, although it took up an awful lot of that limited memory)
Nobody had ever seen anything like it in the modded community, and a lot of children (including me) made at least a nominal effort to learn some basic FORTH so we could build things like password-locked doors, or pilot frame-based flying machines to do useful things like quarry out half the world and deliver it to our doorstep. Lots of more advanced stuff got built, too - 3D printers, computer-controlled automatic crafting systems, teleporters with selectable destinations.
The Redpower computers ended up not terribly popular, in the end - FORTH, being a language from 1970 that nobody had heard of before and which didn't look much like anything else most Minecraft players had ever used, proved a pretty intimidating barrier to entry; and shortly after Redpower introduced their feature someone else made their own mod that added Lua-based computers with a much less barebones OS and friendlier ways of interacting with useful functionality. This had a much easier time taking off.
a) complexity
b) failure rate
c) consequences
I don't think complexity alone is a game stopping issue. There are plenty of highly complex games that people find fun and addictive. But complexity in combination with high failure rates (a lot of trial and error) will kill the fun.
But I think that high complexity with low error rates is perhaps exactly what makes a game fun. If you can express yourself freely and roam around while expecting most of your actions to produce an interesting result the game will be very interesting.
[1] https://git.ligo.org/sean-leavey/circuit
LISO also contains a brilliant fitting routine which can take a measured transfer function or noise spectrum and fit circuit parameters (e.g. op-amp noise, resistor values, etc.) to the data. It first uses some standard fitting algorithm (e.g. Nelder-Mead) to get close to the possible minimum, then uses a custom optimisation in log space to get the global minimum. If I remember correctly the author published a paper on this, and I can try to find it if someone is interested.
Same thing about the output format: https://git.ligo.org/sean-leavey/circuit/blob/master/example...
Is this a custom file format or a well known one?
Also, the references to LISO are all behind a user/password wall, which makes it hard to learn: https://wiki.projekt.uni-hannover.de/aei-geo-q/start/softwar...
> the input is pretty esoteric to a newbie like me
Yeah, those input and output files are what LISO uses. This was developed between around 1995 and 2010, and was built mostly to solve specific problems the original author was having with circuits and not as a generic tool, hence the syntax. You can avoid using this syntax at all as everything gets parsed into Python objects - see e.g. [1].
> Is this a custom file format or a well known one?
Custom. It's similar to a SPICE input file, but not identical. The author told me that he didn't know about parsing algorithms like Lex/Yacc when he wrote it, otherwise it might have been nicer.
> the references to LISO are all behind a user/password wall
Sorry about that. As I said, this was a tool used internally within the collaboration for many years. I am working on getting at least the manual made publicly available, but there are some proprietary libraries with unclear licences preventing public release of the binary and source code. Ideally, eventually my Python project will replicate all of the features of LISO and we won't even need the old binary any more.
EDIT: if you like, I can send you the manual and binary for LISO to the email in your profile - let me know.
[1] https://git.ligo.org/sean-leavey/circuit/blob/master/example...
Glad to know so many people find it useful. I always thought it was a great visualisation tool which I why I wanted to put the effort in to do the port.
Off to bed now, but if people have questions I'll take a look at the discussion again in the morning.
I credit this app for being able to pass the first half of my sophomore year at University - just months before I failed four courses(the allowance was two) and was given a chance by the dean to redeem myself.
Seriously people, this guy is a freaking genius. I want to meet him just so I can shake his hand, thank him, and buy him about a million beers.
This is a favorite among collegues. I believe at http://lushprojects.com/circuitjs/circuitjs.html already this is already marked.
Edit: if anyone wants, reply with your CircuitLab username and I'll give you a free membership upgrade when I get home this evening.
Thanks!
Thanks, that's very generous! I registered a while ago and I'd definitely pay for something like this if I was using it professionally, but I'm barely a hobbyist...
Very generous of you. I've loved using it to answer stackexchange answers but don't have enough use myself to justify the membership.
I'm just getting started, so not sure what tools I'll end up using most, but it great to get to try this.
Username: fluxsauce
Many thanks.
I remember running Spice on an 8086... The day I bought an 8087 coprocessor...it was SOOOOO much faster!
Hey I just signed up, it looks pretty cool. I still remember struggling with spice at school (almost 10 years ago) – I think this makes easier access to electronic simultion :)
Thanks so much, Mike, so generous of you!
Thank you for the offer, even if you don’t get to me.
Username: RandomException
Thank you! :)
My username is magnetik
Thank you!
kemalenver
Username: kburkitt
Thanks! Looking forward to using this!
Thanks!
username: blarg1
Bjartr
Thanks so much for the upgrade!
Thank you!
Thanks man! :)
thanks man ! :)
Thanks!
Thanks!
Thanks Mike!
Thanks Mike!
Thanks!
Recently I've used: Qucs: https://sourceforge.net/projects/qucs/
Circuitmod: https://sourceforge.net/projects/circuitmod
These were also in my bookmarks of tools I've explored: CEDAR Logic Simulator: https://sourceforge.net/projects/cedarlogic
Logisim: https://sourceforge.net/projects/circuit/
For teaching LogicWorks is still my favorite.
http://tinyurl.com/y7dlszq2
That example circuit is called a resonant circuit and the oscillation that is seen after the power supply is removed happens because both the capacitor (C) and the inductor (or coil, L) store energy—in electric and magnetic fields, respectively—and start feeding each other.
set the 100 ohm resistor to 1 ohm
set the 15uF cap to 15pF
close the switch, open it again - check out the spark (or rather the stupidly high voltage)
That LED represents a something (probably firmware on the keyboard) reacting to the switch being pressed by a user.
Edit: I used a decade counter with a 5 col matrix for simplicity. I was using a 4 bit binary counter, but the browser started really bogging down with a bunch of components.
Has anyone done a validation study comparing this simulator to a known-good simulator like Berkeley SPICE?
www.falstad.com/circuit-java/
The validation question is interesting to me because I'd like to do things that go beyond just academic exercises, so I'd like to know how much confidence to have that the physical devices behave as modeled.
I love that I can now play with this while on my computer and with monitors..
I've done this in the past and it works just fine.
lots of interesting bits
glad this is here.