top | item 33991007

A circuit simulator that doesn't look like it was made in 2003

905 points| malerba118 | 3 years ago |withdiode.com | reply

259 comments

order
[+] SAI_Peregrinus|3 years ago|reply
Schematics are for understanding what a circuit does.

Breadboards are for prototyping small low-speed circuits.

Veroboard is for prototyping larger medium-speed circuits.

Gerbers & a PCB are for production and for prototyping large or high-speed circuits.

If the tool could automatically make a 3D breadboard view from a schematic, it'd be pretty neat for beginners. If the tool warned you when the normal parasitic capacitance between breadboard rows would cause problems with a part you're using, that'd be amazing for teaching.

[+] Kwpolska|3 years ago|reply
The competition might look ancient, but IMO, a 2D interface would be much more productive and easier to work with. This site is completely unusable for me in Firefox (it does work in Edge though).
[+] ryandrake|3 years ago|reply
Yea, the whole "looks old = bad" meme rears its head again. Some of the most usable web sites in existence like Craigslist and McMaster-Carr look "old" but they do what you need them to do and do it cross-platform/cross-browser.
[+] duskwuff|3 years ago|reply
So many times this. There is a reason why engineers use schematics instead of assembly diagrams or renderings when designing circuits or discussing how they operate. In particular, layouts on solderless breadboards tend to become incomprehensible for any sort of even mildly complex circuit.
[+] salmo|3 years ago|reply
The tools with origins >2003 are pretty useless beyond making things out of prefab parts. That’s cool for beginner stuff, but I feel like we’re dropping people off a cliff from there. Most are really just sales platforms for parts or PCBs.

My workflow is a complicated combination of LTSpice, KiCAD, prototyping from the schematic and then ordering PCBs. It’s a little painful, but the tools are fast to use. I wish KiCAD’s SPICE integration was as natural as LTSpice and I could maintain 1 library of parts.

Breadboards are getting too painful for me to use. Too much time dealing with bad connections or noise from jumper wires being little antennas. It’s more of an issue with audio circuits than digital.

I guess my dream is if you could easily get a symbol, footprint, SPICE model, and 3D model of parts from vendors that all dropped into 1 toolchain.

Maybe a commercial offering is more like that. I’ve never really looked.

[+] nabilhat|3 years ago|reply
One reason is a noncritical third-party dependency; the circuit canvas will patiently wait in line to load forever until fonts.gstatic successfully loads. Normally I wouldn't post that kind of feedback here, but there's no readily apparent way to submit feedback or bug reports at the site so here we are.
[+] sixothree|3 years ago|reply
Why is it even a web site? Maybe I'm just old fashioned, but this seems slow and unusable. But more importantly, I have a hard time bringing myself to trust anything that isn't saved locally.

edit: Also I feel terrible that my negative comment has any weight in this thread. I don't want to be a detractor. It's just that this is not for me.

People work hard to make things and you can't please everybody. You definitely can't please curmudgeons like me sometimes.

[+] ilyt|3 years ago|reply
If you have ever used LTSpice you'd know, the "old" looking layout is not really a problem but the arcane way anything is done, different from every app I ever used.
[+] dheera|3 years ago|reply
Agreed. I can't figure out for the life of me how to move this LED upward in the Z direction. Or bend the pins so I can plug the LED into 2 different Arduino pins e.g. GND and A0. I have the same problem with most 3D software, I have a 2D mouse and it's a fundamentally inadequate human interface device to manipulate things in 3 dimensions.

https://imgur.com/wF5voVO

I think a modern 2D UI (i.e. with nice looking fonts, swipe gestures, hamburger icons, generous margins and space) would be nice.

[+] Gigachad|3 years ago|reply
Does the page just show up mostly blank for anyone else?
[+] yazzku|3 years ago|reply
Well, it is like 2003 as far as the real-time performance of the graphics go. Or maybe more like 1993.
[+] CoffeePython|3 years ago|reply
Yeah on my machine it's a lot slower using Firefox than chrome. We can investigate and see why it's happening.

Also I do agree that 2D interface is probably important to add at some point too!

I think right now the skeuomorphism is nice for folks wanting to get their hands dirty with circuit projects but don't have all the materials/supplies available for whatever reason (cost/space/etc)

[+] MichaelZuo|3 years ago|reply
The title does seem like a misaimed comparison.
[+] malerba118|3 years ago|reply
3d opens up a few extra possibilities for us, but i think there's definitely advantages to 2d as well and seeing every solder joint on the arduino board is just a waste of cpu/memory at the moment. We have some camera presets that let you position the camera directly overhead for a top-down view which effectively is a 2d building experience. We might create a dedicated 2d view if there's enough demand for it!
[+] Fordec|3 years ago|reply
And on the good software the 2D interfaces take customizable color parameters, any level detail you like 3D files, customizable fonts.

Just take 20 minutes to customize a settings file and reuse for every new project after, iterating as you go and you'll get yourself pretty realistic outputs long term.

[+] cpcallen|3 years ago|reply
Also doesn't seem to work in Chrome: I see a toolbar and the rest of the page is blank.
[+] fuzzythinker|3 years ago|reply
On Chrome on 2019 MBP, nothing loads until 5secs later. Zooming lags 2+ secs. Probably only good for making a presentation on a beefy machine, not useable otherwise.
[+] Taniwha|3 years ago|reply
doesn't seem to work on chrome either
[+] JCM9|3 years ago|reply
“Doesn’t look like it was made in 2003.”

Sometimes in tech we don’t do a good job of recognizing that a problem is essentially “solved” and further “innovation” isn’t helping. The reason why stuff looked like “it was made in 2003” was because that essentially solved the problem. All the extra iterations on top of that arguably didn’t help.

A lot could be said of many forms of web design too. The basic designs of the late 90s and early 2000s were very functional. A lot of the junk out there today looks flashy but is borderline terrible at actually communicating easily navigable information. There are good exceptions today, and to my point those are broadly things that didn’t try and reinvent the wheel through unnecessary “innovation” in “design.”

[+] jmole|3 years ago|reply
This is a bad take - most UIs from that era are objectively worse, and most of the good ones have been carried forwards and incorporated into newer versions.

With old software, you have a lot of experimental ideas that make it into prod. Want properties on this item? Sorry, right click rotates the component. Click the component and press P instead.

Today, at least in the professional software world, UIs are better than they’ve ever been and the programs are capable of infinitely more. And in 20 years we’ll be looking back on this era the same way: “What do you mean you can’t see an AR preview of this component you’re working on?“ “You had to label each wire of the I3C bus by hand??”

[+] malerba118|3 years ago|reply
Aesthetics aside, we're interweaving a wasm port of ngspice with a microcontroller simulator and running realtime simulations all in the browser which i would say is innovative in several ways
[+] theodric|3 years ago|reply
Yes! Somebody had to say it!

We thrive on novelty, especially people drawn to tech. With the pace of change in the early years of modern tech, making things constantly change appearance was natural and unavoidable, so we've come to expect it, but some things are eventually good enough. Chairs, sinks, toilets, plates-- there may be edge cases of radical divergences from their settled forms, but for the most part, they're stable and consistent.

[+] pkolaczk|3 years ago|reply
This illustrates a problem with many "modern" applications. My first impression: "Oh, that looks nice. Looks like in real life". Then I tried using it and found that it is clunky and slow to the point it is barely usable and I would much faster build the real circuit on a real breadboard instead.
[+] gumboza|3 years ago|reply
I want 2003. That's the last time anything worked.

LTspice for example.

Edit: worth nothing there is a native macOS port of LTspice now.

[+] Arubis|3 years ago|reply
LTspice at least had a gui! I remember sketching schematics by hand, marking up nodes with names, then feeding plaintext into PSpice.

But it worked great!

[+] coupdejarnac|3 years ago|reply
LTspice still works great afaik. I use it on Linux with Wine.
[+] antegamisou|3 years ago|reply
> I want 2003. That's the last time anything worked.

This. NI Multisim is one of my [proprietary] favorites too.

[+] Kiboneu|3 years ago|reply
For reference, here is a circuit simulator that was ported from a 2005 project and it is 2D. It also visualizes the voltage and current as speed and density of electron packets flowing through the circuit:

https://www.falstad.com/circuit/

Maybe a similar sort of visualization could be used for this project?

It is neat that it can simulate arduino uno code to pulse IO, as an in-simulation workbench.

[+] gnramires|3 years ago|reply
There's a similar product at https://wokwi.com/ (with an open source core)

It's actually really useful, fast, educational. Highly recommended.

I also wish someone would revitalize falstad circuit sim (http://falstad.com/circuit/), which is still I think the best tool for experimentation with analog electronics. Just a little bit better interface and user friendliness and it would be amazing!

A somewhat more robust numerical backend (that can give error guarantees) would also be nice, you kind of have to tinker with time steps in some cases.

[+] alphabetter|3 years ago|reply
I did the port of Paul's sim so that it runs natively in the browser instead of needing a Java plug-in (remember them) and made various other contributions.

I haven't contributed for a couple of years, but Paul still actively maintains it.

Do you have specific ideas on what would be changed to "revitalize" it? I agree the UI is kind of basic (it could do with a pallet of common components), but I still like the productivity of it.

[+] malerba118|3 years ago|reply
Wokwi is an awesome tool! We're actually using wokwi's open-sourced avr simulator to power arduinos in diode.

One thing wokwi doesn't do however is analog simulation so we're hoping to combine spice simulations with arduino, rpi, esp32, etc.

[+] IshKebab|3 years ago|reply
Pretty cool, though I would say that a breadboard is probably a worse UI for capturing circuits than whatever we had in 2003.

But it is fair that e.g. LTspice has a terrible GUI. I always thought QUCS had the best UI of all the free options:

https://qucs.sourceforge.net/screenshots.html

Unfortunately it's not the most popular project.

[+] atoav|3 years ago|reply
As someone who teaches electronics to people who are purely into it for the practical parts (artists) I think one of the main beginner challenges in electronics is the translation between the different representations of a circuit.

Going from a schematic to a breadboard, going from a breadboard to a stripboard or from a schematic to the actual PCB/IC is hard if you never have done it. It is like showing someone who has never seen written language a book and trying to make them understand that the signs map to spoken language somehow.

Groking that takes some time.

For that matter I think choosing the breadboarded representation of a circuit (in 3D!) for a simulation program is not really a good choice. For beginners it might seem like a good choice, but it prevents them from becoming accustomed to the schematics they will encounter everywhere. For more advanced people it is too clunky (schematics just are superiour for reasoning about circuits).

So far the best and most usable simulator I have come across is circuit.js by Paul Falstad. It has some circuits where the simulated circuit does not match reality at all (e.g. a CMOS-Inverter based relaxation oscillator), but it is extremely usable.

[+] aifer4|3 years ago|reply
This is a great technical demonstration of how to visualize a circuit board. But I would rather walk over hot coals than try to actually design a circuit using this interface. Circuits can be represented very nicely in two dimensions, which is convenient given that computer screens are two dimensional. For things which are fundamentally 3D (e.g. models of objects) it can be useful for design purposes to have a 3D visualization, but this doesn't seem to be the case with circuits.
[+] skykooler|3 years ago|reply
This spent thirty seconds with a spinning loading icon, switched my graphics card to the discrete graphics card, and then Firefox hard crashed to desktop. I think I prefer the 2003-era designs.
[+] proee|3 years ago|reply
This is great for learning - you should consider a mode that switches to traditional schematic view so people can understand the corresponding circuit.
[+] heywherelogingo|3 years ago|reply
The ones from 2003 worked - this is mostly blank and does nothing.
[+] bandyaboot|3 years ago|reply
I’ll take 2003 design over something that looks like it was designed by Apple for iOS circa 2010.
[+] whywhywouldyou|3 years ago|reply
Noted. I guess in the future I will continue to look for things made in 2003, because this is entirely useless for any actual circuit simulation and/or design.

Looks great if you're trying to impress some of your beginner friends, though.

[+] godelski|3 years ago|reply
It sure is pretty, but there's a critical issue. Components can have their pins labeled, but this is done in the 3D environment. Just place them down on the right side. There's plenty of white space there. No one wants to rotate a component around like that and strain their head to read. I'm literally just going to pull up Google and get the schematic there. You have the information but it is displayed in a way that is hostile to the user. I can't even see where pin 1 is without this view because there's no marker like we'd see on a standard real life component.
[+] CoffeePython|3 years ago|reply
Great feedback, we've chatted a bit about this internally already. It's something we'll likely add. In general we're looking for ways to make it easier to see pinouts/voltages/current/etc.

Thanks for sharing!

[+] oscillonoscope|3 years ago|reply
Nice idea but it's not very useful without net names or a schematic view. A nice looking UI isn't good if it's not functional
[+] paleogizmo|3 years ago|reply
For a nice, polished, non-skeuomorphic circuit simulator, see iCircuit [1], which provides native MacOS and iOS clients (based on the Falstad JS circuit simulator mentioned elsewhere in this thread, if I recall correctly). It differs from most SPICE-based simulators in that there is no edit or run mode - the circuit is always simulating in transient mode so updates happen in real time.

[1] https://icircuitapp.com/