That's so cool that there's a web version now! I was introduced to multisim back in high-school and enjoyed that unit a lot, will play around with it on the weekend :)
How will Diode differentiate itself from TINA? They have 3D breadboard, web browser, microcontroller code simulation, PCB layout, equation extraction, etc.
presumably melony already knew that because ngspice is mostly licensed under a 3-clause bsd license which says
> Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
unless you're violating the ngspice license? or the documentation and/or other materials are just hard to find?
parts of ngspice are also licensed under gplv2, cc-by-sa-4.0, lgpl-2.1+, or gpl2+, but maybe you aren't using those parts
Melony is not that pedantic and melony does not ask questions whose answers melony already know. Melony has better things to do than to hound SaaS services over alleged license violations (unlike a certain somebody).
perhaps if melony didn't know that, it is evidence that the required credit is, in effect, not being given; that the authors of this software are, in effect, passing off the work of the ngspice contributors as their own
3d does present some additional challenges, but we decided to go this route to reduce friction for beginners who might not understand how schematics or other abstract representations map to the real world circuits they're playing with
I'm still not sure what the 3D aspect in particular adds, though. Tools which work with physical wiring diagrams, like Fritzing, have been available for ages, and I don't think the 2D nature of those tools has ever been a meaningful obstacle to understanding.
a) You want to check that your components won't physically bash into something else you care about
b) You are designing something that operates at RF to mm-wave frequencies and need to worry (a lot) about the spatial location of the high-frequency components and nearby conductors / ground planes
c) You want to get an idea about airflow and heat dissipation on power electronics and/or modules (such as power amplifiers) that come with their own heatsinks (some SIPs do!)
Kicad and other bits of more hobby-orientated software that do a 3D render (such as diptrace) tend to do it for reasons (a) and (c). Software that does (b) properly costs hundreds of thousands of €$£ per year to rent and tends to have a UI that makes you scream with frustration at every possible moment.
Those are all good reasons to use 3D capabilities in a more capable tool, but none of them apply here. "Diode" doesn't even check for collisions between parts -- it'll happily let you stick a DIP 555 "inside" another 555, for example -- and it certainly doesn't do any RF or thermal simulation.
maybe you should spend your time writing software that teaches the beginners how to read schematics, thus enabling them to make progress toward their presumed goal of understanding and designing circuits, instead of giving them additional handicaps to overcome, such as having to use a user interface that is as confusing as a breadboard (if not more so, if the comments indicating that the pin-1 indicators are missing from the simulated chips are correct; in my browser the app wouldn't even load)
or at least software that gives you an error message when it fails instead of a blank white page
If you haven't tried micro-cap, I'd recommend checking it out. It became free a few years ago when the company liquidated, and it's orders of magnitude more powerful than LTspice (and quite a bit more intuitive, but still not great). Don't expect any updates though.
That's where the whole thing falls apart with these things usually. Oscillators are quite difficult to simulate because they require less than ideal startup conditions i.e. noise, voltage gradients to get going. While the SPICE engine underneath does support that, you can't really expect someone wiring up a breadboard to be completely aware of the nuances around simulation vs reality.
This is great for learning - you should consider a mode that switches to traditional schematic view so people can understand the corresponding circuit.
I believe another web-based tool which can do this already is https://www.flux.ai
I've noodled around with it and I like it, but I actually find working with pencil, paper, and the actual components to be more efficient than panning and zooming around a 3d environment. It's not always an option so these simulators are very useful, but I've come to realize I'm far better off by planning not to use these tools, I guess.
I’m realizing I didn’t give flux the credit I should have. I actually interviewed to work on it because as far as I can tell, this stuff is the future. So that aside, it doesn’t fit my workflow well today but I don’t doubt that it will, and for many people it already does.
I’m glad to hear good things are coming! I’ll definitely keep checking in. Apologies for being dismissive of the hard work your team does, especially after seeing the kinds of technical challenges you take on and working with similar technologies myself these days.
High performance, user-friendly collaborative tools in the browser are not a free lunch, and what flux does today is already impressive.
Thanks for the kind words…it’s a true labor of love
Also no hard feelings…I agree that we are early and that there is still a lot of work ahead of us.
Schematic UX hasn’t gotten as much love as it needs because there was so much other stuff to figure out first…we just needed something that worked in the very early days
And now we get to come back to it and make things like wiring truly great
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).
Hey! Would love to investigate and see why this isn't working for you. Any more info on your OS/specs/browser version or what exactly isn't working? Should work on chrome.
latest linux chrome Version 108.0.5359.124 (Official Build) (64-bit) on ubuntu latest LTS, directly from google (not in a snap). Starts up but central window just has a rotating loading icon that never goes away
Do you perhaps have "Advanced Security" mode enabled, where JIT is disabled for new sites? Site was super jank at first but once I added it to my exception list it was buttery on my M1.
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)
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!
The overhead view might not be enough. Performance issues aside, if I take your sample and rotate the camera to the overhead view, the wires that power the Arduino overlap in a kinda confusing way. It’s even worse if you swap them around, with the wire colors randomly mixing in the middle (but it is also broken when looking at it from the side). A 2D-first design wouldn’t need to worry about it, but it would instead route the wires in a way that avoids overlapping wherever possible (and two parallel wires would be quite trivial).
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.
> layouts on solderless breadboards tend to become incomprehensible for any sort of even mildly complex circuit.
Translating non breadboard circuit schematics to a breadboard is definitely something some people struggle with, It would be useful to have a tool that could do that for you.
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.
Yeah, so we started diode 3 months ago and in the beginning here we're focused mostly on making electronics more accessible to youth/beginners.
One major advantage of web based tools is shareability and we hope to see content creators writing articles with embedded diode projects so that tutorials can include inline interactive examples.
This is already common in the software world with tools like codesandbox and stackblitz, but not so much in the hardware world. Hardware tutorials often include fritzing diagrams, but we think the next step is interactive simulations anywhere and everywhere.
I would just like to say that this work is amazing.
I get what people are saying, but for people trying to dip their toes into electronics (and who maybe can’t afford the equipment just yet), this might be just the thing! I don’t mean to restrict the use cases, I just think a both/and world is just fine. And this is some excellent hacking.
Just don't want you to be too discouraged by the HN pile on. A lot of this is stuff to think about (and I'm sure you're doing just that!). But really, creating a new system like this is a massive achievement, and you should be proud of what you've done.
I agree with the goal, and agree with web based tooling, but the design-centric approach feels like dangling keys to keep my attention. Anyone who's attention can be captured with dangling keys doesn't have the attention to do circuits.
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.
Indeed. Hacker news is about as responsive as the native site.
Reddit on the other hand went to being completely unusable. So much so, that I don't understand who and what motivates it to be the way it is. It's having on due to "old.reddit", but that too is a pain to use on mobile.
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.
I just started using LTSpice a few days ago. It's pretty arcane for sure but at least it's consistent. The tool is really not that complicated at all. Its value seems to be in its simulation capabilities as well as its selection of standard components. It does crash here and there, though, but I haven't lost any work yet.
Well, yes. LTSpice is not for schematic capture. It's for simulation. If you have to do power supply design, LTSpice lets you almost get it right before you order parts.
Here's one of mine.[1] I built that, and it works pretty much the same as the simulation does. Except for the depletion-mode FET current limiter. The resistor that sets the current limit had to be adjusted after building to get the same current limit as the simulation.
LTSpice doesn't help with layout. I had to follow the layout instructions in the switcher control data sheet to get it to work. Some of those paths have to be very short.
You usually use LTSpice only to simulate difficult analog parts of a circuit. Not the whole thing.
The important part is the device models that simulate components.
Those do get updated as new analog ICs come out. It's finding a good model that's hard. Linear Technology keeps the models updated for their own parts, but you have to look around on the Web for many non-LT parts.
I jump from altium to kicad to solidworks multiple times a day but the most annoying jump is when I go to ltspice and go, why is move bound to F7. I stopped even bothering to try to use hotkeys on LTspice.
The key shortcuts in ltspice are hilarious, it took a decade before I found another program that used R and E for rotate and mirror instead of right clicking in some way. I still haven't decided whether I prefer the horror of embedding models, creating single-system-only library files that I can't give to anyone, or ... it's amazing.
I'd probably pay if it was just simple to import 3rd party models, even if they're encrypted. Every time I have to screw around with some encrypted model I worry about whether it's going to end up accurate.
LTSpice is pretty great. I used it in undergrad to design and simulate a single block of CMOS memory. It was a little tough getting going, but once I figured things out it was a great experience.
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.
1. was OpenSource
2. would *please* switch to modern conventions for Load/Save/Cut/Paste/Undo/Redo/Exit keyboard shortcuts
3. would have a larger, *online*, library of standard parts instead of having to download every missing ones every time from random obscure places on the internet
4. had a setting for switching off showing the names of *all* the new components on the circuit
5. had a vaguely sane way to keep all the .asy and .sym files used by a .asc in the same directory
6. had a central repo of example circuits / standard circuits
7. had an API to its spice engine
It'd be the perfect tool.
But in the meantime, and in spite of its old age, it's still light-years ahead of the web-based thing from 2022
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.
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.
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.
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.
Just wondering can Multisim integrate seamlessly with Ultiboard for circuit emulation since both of them now under NI? I know that Proteus simulator can perform the emulation to some extent.
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.
James Cameron would like a word with you. Seriously though, 3D can show off some things that just might not be realized without it. Not sure of Fritzing's design abilities with layered PCBs, but I could imagine trying to design a layered board and forgetting how tall a component is. Seeing a component "through" the second layer could be useful
If your circuit is so complex that you need a breadboard planner and even an fully 3D visualization you have a big problem and you should not be breadboarding but ordering a PCB.
I don't have a ton of experience with teaching, but some (6 years various STEM stuff and 3 years math) and I have problem with this statement. It might SEEM easier at first glance, but this kind of interactive 3D/VR/whatever tools make much harder for students to climb up into more abstract levels. I found that it works much better than students can connect schematic with real (I really mean real) thing as early as possible.
Any recommendations for introductory level course/book? I'm a web dev and I know next to nothing about PCBs, electronics etc.
Ideally I'd like to be able to open up, say tv remote, look at the board and have at least some idea of what the top left part does vs bottom right one, that sort of thing.
I’m not sure how valuable it would be in this case, but 3D visualisation of PCBs is extensively used in pro circuit board design. It’s very easy to place something in 2D and not realise that something will totally clash with it. Even when you have the components all set up with heights and clearance rules, it can be things like connectors where you have something blocking it so the connector is technically clear (so passes DRC) but you can’t actually plug it in because you have a big component in the way! The next level is then importing enclosures and things to make sure things fit and can actually be assembled.
It’s interesting too that there are all sorts of mistakes that become a bit more obvious when you look at it in 3D than in the 2D view.
Exactly! Allow idealized networks, but also insert reasonably sized/modeled parasitics to be inserted so you can see why your beautiful plan isn't really.
That's not just capacitances! At speed the resistance of a long trace or the inductance to a neighbor are big deals. Meanwhile the internal PCB planes of Power/Gnd are necessary low impedance bypass that no packaged cap could provide.
This is a tangent, but having worked with digital circuits for 40 years, the improvements in chips have made circuit construction -- even breadboarding -- vastly more forgiving than ever before. I've run 10 MHz clocks on breadboards and 100 MHz SPI bus on 2 layer boards that were not designed with extreme care. And, it's a fast precision ADC that's meeting its datasheet specs on that board.
No doubt the parasitics and other nasties still come into play, but it's still amazing how much faster we can go before they start to bite.
That's been a funny thing for me. I'm not an electrical engineer, at all. My electrical knowledge is an introductory electromagnetics course I had to take in college that I've mostly forgotten, reading/watching EEVblog, other internet sources, playing around with cheap and/or old parts, reading whatever I can find, etc.
I've made some retrocomputing boards (<= 50 MHz) (8051, 286, 68010, 68030, etc.) and haven't had much of a problem. No idea what the EMI looks like though. Greatest goof I had so far was an old part who's datasheet didn't mention that the signal output was open collector so I had to bodge a resistor in. Mostly just followed advice I found on the internet -> 4 layer boards can be had for very cheap these days (JLCPCB does 10 for $30 w/ ENIG boards up to 10cm x 10cm), so I followed the "just do yourself a favor and get the 4 layers boards so you can make ground and power planes" advice. Used a tool to compute minimum trace spacing to stay under a certain capacitance for a specific copper weight, board thickness, dielectric type, etc.
Probably my crowning achievement at this point is making an 1.8V LVDS to TMDS level shifter board so I can get HDMI 1.2a (4x 1.65 Gbps lanes + sidebands) out of an FPGA board I repurposed from some cryptomining hardware I bought on eBay. Had to learn how to do soldering using a stencil, paste, hot air station, and a hotplate because no one is hand soldering 0.4mm QFN packages. 0402 are the smallest thing I can do by hand.
Next thing I want to try is breaking out a small BGA. Managed to get a few Lattice iCE40HX8K's in the CT256 package (256 balls @ 0.8mm pitch BGA).
What hurts is how patent/royalty/industry interest group encumbered that nearly everything modern is. Want to do PCIe? Join PCIe SIG. Want to do USB? Join USB-IF. Want to support SD cards? Pay a bunch to SDA. Actually their patents expired so maybe you can do native SD mode now without much fear. HDMI is awful, DisplayPort requires you to join VESA, MIPI for CSI and DSI devices, etc.
Yeah, joining the clubs is burdensome. I'm lucky to be in an industry where there's enough value-add, that we just pay the piper and move on. Myself, I buy that kind of stuff pre-integrated.
I mean, it's the same for me, I'm just on the software side of the company (mostly, I'd say systems because occasionally I have to borrow the PCIe packet analyzer to figure out why something isn't working).
The electronics are a thing I do as a hobby and I try my absolute hardest to ensure work and hobby resources are kept separate. Electronics is sufficiently different from my professional role that it doesn't feel draining as a thing to do on the side. I'm not one of those "spend 8 hours programming/architecting/designing at work only to go home and spend another 6 writing code for fun" kind of people. I definitely write software and learn at home from time to time, but the motivation for doing it on the side is certainly less than it was before I turned it into a full time job. So I tend to gravitate towards things that are interesting to me but not necessarily useful to others.
"Want to do PCIe? Join PCIe SIG. Want to do USB? Join USB-IF..."
As someone who works for a large silicon vendor I can tell you that even with access to those industry groups the documentation still sucks!!!! I look at the amazing documentation available surrounding various software initiatives (OpenCV, machine learning, linux drivers, programming languages, etc...) with envy. It's all right there and out in the open with multiple blogs and forums and pages explaining shit. And actually I did try to learn PCIe. I gave up. 1000+ reference specs, about 3 random web pages and a half dozen marketing youtube video's. There's a reason why some guys manage to build niche careers around these HW topics!
I recently came across a reference manual for an SoC that came in at over 24,000 pages - a new personal record. The tools for working with such large PDFs generally suck.
Evince on Linux is by far the best program I've found for reading large PDFs. It's worth the trouble to setup a VM or WSL just to run Evince if you're not natively on Linux.
Another terrific option is Okular. It actually has a setting to reduce memory usage on large PDF files by not prerendering pages that are not being viewed.
Eek, Okular. The one time I resorted to downgrading a package in 20+ years of using Linux. A few years back, someone drank too much design Kool-Aid and introduced smooth scrolling without making it optional. That did not get a very good reception from everyone, as browsing 20,000-page reference manuals with buttery smooth scrolling is, literally, dizzying.
I don't know if it ever got fixed. I stopped using Linux around the time when it was introduced, and having had to revert to using xpdf for browsing large PDFs like it was 1994 again was part of why I ragequit :-(.
I've never opened a 20,000 page document, but I've opened documents of several hundred pages with no noticeable issues. Pressing either Space or PgDown instantly moves the page down, no scrolling animation. The option still does not exist, but it seems that the feature doesn't exist either.
IIRC the eventual fix was to have it respect the global compositor settings, so if you have animation speed set to instant, while it does actually smooth scroll, it does so instantly. However, when it was introduced, it did not; for similar reasons (i.e. I don't like nausea), I had animations disabled, but Okular did its thing, and slowly.
It took some time for it to land though and not without the kind of discussions that you see on the Gnome bug tracker. It was pretty disheartening.
I use Evince on Linux and PDF Expert on MacOS. They both do okay, but neither does search indexing, so searching goes irritatingly slow. Also neither support the public key encrypted PDFs that a certain SoC vendor likes to give me.
SumatraPDF works far better than Firefox for me for service manuals (half a gigabyte or so usually).
It doesn't have fancy features but it's very quick to load and render.
It seems like any PDF viewer that runs in a browser just can't handle big documents and often will be terribly slow on even medium sized ones. I always have to use standalone viewers to get them to load.
I'd be so happy with a 24,000 page PDF, cause then at least you know where too look, and you can the search tool. I programme Siemens hardware and the docs I need are spread out over many tens of PDFs (of 100-1500 pages). I haven't found a proper tool than can let me search and view all this documentation properly. Best I found is ripgrep with some PDF extension to search which document I need, and then use SumatraPDF for finding the right page... ughh
In the particular case of Siemens, they already did that for you.
(Migrating from S7-300 PLCs to the current S7-1500 range, I found the complete documentation package for the 1500 universe in one whopper of a pdf. Just north of 11,000 pages IIRC.)
I shared the OPs frustration when working on the S7-300, though. The docs are excellent, there's just so many of them...
Use Agent Ransack (free) or better, File Locator Pro ($69) from Mythicsoft. Both include comprehensive PDF text searching. AR includes the full functionality of FLP as a 30 day trial. Money you'll recover many times over and a product you'll be using for the rest of your life. https://www.mythicsoft.com/
I usually use SumatraPDF on Windows, it's super lightweight, fast, and can handle large documents. However, I never tried it with more than 1500 pages or so. No idea if it would survive a 24k pages PDF, would be a good test...
> "just do yourself a favor and get the 4 layers boards so you can make ground and power planes"
In general, you should avoid power planes on 4 layer boards if you can. They tend to cause a lot of trouble with return currents when signals jump from the top layer to the bottom layer through a via. Prefer using ground planes for both inner layers and make sure you have ground return vias near every signal via.
You're right, the chips are not speaking 16MHz to each other. I've always revered the computing era where the electrical engineering actually mattered. Cheers.
Listening to various Rick Hartley talks on youtube, I got the understanding that it was the opposite: even at slow clock rates, modern ICs cause all sorts of signal integrity and EMI issues because of very fast edge rise times.
Cannot confirm from my experience though, I don't practice EE, I just dabbble in electronics and never actually characterized SI and EMI in my creations.
Schematics HAVE TO define which components are in the circuit and how they are connected (unless you really want to write net lists).
Schematics SHOULD help readers to understand what a circuit does.
Especially in, let's say, "prosumer" boards (like boards designed by small companies for hobbyists) I keep seeing schematics that are designed to make it easy for the dev to get them done and NOT to communicate the circuit theory.
It's exactly like writing code without any formatting or comments. As far as I'm concerned connecting components by net name is as bad or worse than a GOTO.
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.
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.
Nice touch that you can fry a LED, but unfortunately I couldn't get the Arduino to fry; it's the expensive part and the one I would want to run a simulation to make sure I will not destroy.
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:
I use this a lot for quickly testing things out when I am not entirely sure what I need. It's incredibly powerful, and give you scopes so you can verify things work. It may be very old and look ancient by modern standards but it's much more usable for me. Also I don't need sonmething to simulate an Arduino, I need something to say test a op-amp summing amplifier.
I was trying to rig a feedback loop between a lamp and a photoresistor but it isn't working. Do you know if the photoresistor actually reads in light generated by other circuit components, or is it just supposed to simulate a variable resistor responding to light from outside the circuit?
I've contributed quite a lot to Paul's simulator, including doing the port so it runs natively in the browser.
The photoresistor is just controlled by the slider in the side-bar. It doesn't respond to lights in the circuit. There is an "optocoupler" under "active building blocks" that does connect optically.
I've seen a few requests to add feedback that occurs outside the electrical domain - light is one, but also for mechanical movement (motors that turn generators). But, I pesonally think it's hard to know how to model all these non-electrical interactions in a way that is visually clear and effective.
Thanks for your contributions. I played circuit.js obsessively during high school (as well as some of the other simulators). It was just way more intuitive than spice. I picked up Art of Electronics around that time.
Ten years later, just the other day I was using it to prototype some filter and resonator circuits.
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.
Indeed, mixed signal simulations would be very useful, I reckon, for people dealing with sensors and that kind of stuff. Might as well simulate it before building it. It's currently possible with falstad's open source code base as well, you just have to program inputs and outputs but it's not very ergonomical let's put it that way.
In any case, I always encourage trying to be as open as you can with the software, this encourages collaboration/cooperation (and of course is just better for everyone, in most cases!).
I think (like others here) any slightly more advanced user would be more comfortable/productive in a 2D interface most of the time. But the option of having 3D for blinkenlights is sure nice :)
(also a great accessibility for people who can't afford to buy hardware for learning and experimentation but have access to a computer)
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.
Well, first, thanks so much for your work it's really one of the most useful tools on the internet imo. I'm not super qualified to critique it, specially the interface. (but I think it works well as is!)
I had a look back at it and see many great new features.
(1) I think it's awesome that you can program javascript inputs (and there's AVR8js). But it's not really user friendly: maybe there could be some editor window or something you could program js in with syntax highlighting
I think that's what would be most significant contribution for me, because there are quite a few prototypes where you want to mix analog/digital and that's currently difficult.
(2) If you want to get really fancy, look at editor.p5.js interface (although in terms of self-documentation[1], I think circuitjs is better!). The cloud save functionality could be really useful (although I'd understand if you find it out of scope).
(3) Maybe the time step could adjust automatically as an option? (Something like: auto step -- simulate at half speed and check the difference between the two simulations; if significant, improve accuracy until it reaches maximum; I'm sure there could be better approaches though like trying to find maximum resonance frequencies)
(4) An easy way to run it offline? I think since it's already a web app and it's very light, an electron app distribution would be nice (although HN notoriously cringes at electron :P ).
[1] I define self-documentation as the ability to find functionality and documentation within a user interface. That's easier done with GUIs where commands and references should be a few clicks away, though it can also be done in text interfaces with help commands and such.
269 comments
[ 1.8 ms ] story [ 611 ms ] threadhttps://www.tina.com/edison/
> Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
unless you're violating the ngspice license? or the documentation and/or other materials are just hard to find?
parts of ngspice are also licensed under gplv2, cc-by-sa-4.0, lgpl-2.1+, or gpl2+, but maybe you aren't using those parts
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.
a) You want to check that your components won't physically bash into something else you care about
b) You are designing something that operates at RF to mm-wave frequencies and need to worry (a lot) about the spatial location of the high-frequency components and nearby conductors / ground planes
c) You want to get an idea about airflow and heat dissipation on power electronics and/or modules (such as power amplifiers) that come with their own heatsinks (some SIPs do!)
Kicad and other bits of more hobby-orientated software that do a 3D render (such as diptrace) tend to do it for reasons (a) and (c). Software that does (b) properly costs hundreds of thousands of €$£ per year to rent and tends to have a UI that makes you scream with frustration at every possible moment.
or at least software that gives you an error message when it fails instead of a blank white page
This got to a point that Bob Pease of legendary analogue design fame, chucked a computer off a roof https://www.youtube.com/watch?v=vrZ_fMqd8k8
I've noodled around with it and I like it, but I actually find working with pencil, paper, and the actual components to be more efficient than panning and zooming around a 3d environment. It's not always an option so these simulators are very useful, but I've come to realize I'm far better off by planning not to use these tools, I guess.
thanks for the plug!
We are working on making our schematic editor so good...you'll never go back to paper :)
I’m glad to hear good things are coming! I’ll definitely keep checking in. Apologies for being dismissive of the hard work your team does, especially after seeing the kinds of technical challenges you take on and working with similar technologies myself these days.
High performance, user-friendly collaborative tools in the browser are not a free lunch, and what flux does today is already impressive.
Also no hard feelings…I agree that we are early and that there is still a lot of work ahead of us.
Schematic UX hasn’t gotten as much love as it needs because there was so much other stuff to figure out first…we just needed something that worked in the very early days
And now we get to come back to it and make things like wiring truly great
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)
Translating non breadboard circuit schematics to a breadboard is definitely something some people struggle with, It would be useful to have a tool that could do that for you.
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.
One major advantage of web based tools is shareability and we hope to see content creators writing articles with embedded diode projects so that tutorials can include inline interactive examples.
This is already common in the software world with tools like codesandbox and stackblitz, but not so much in the hardware world. Hardware tutorials often include fritzing diagrams, but we think the next step is interactive simulations anywhere and everywhere.
I get what people are saying, but for people trying to dip their toes into electronics (and who maybe can’t afford the equipment just yet), this might be just the thing! I don’t mean to restrict the use cases, I just think a both/and world is just fine. And this is some excellent hacking.
I tip my mouse to you.
It's been challenging to say the least, but that's half the fun.
Reddit on the other hand went to being completely unusable. So much so, that I don't understand who and what motivates it to be the way it is. It's having on due to "old.reddit", but that too is a pain to use on mobile.
Of course all of these would be solvable in a "retro" design as well.
Here's one of mine.[1] I built that, and it works pretty much the same as the simulation does. Except for the depletion-mode FET current limiter. The resistor that sets the current limit had to be adjusted after building to get the same current limit as the simulation.
LTSpice doesn't help with layout. I had to follow the layout instructions in the switcher control data sheet to get it to work. Some of those paths have to be very short.
[1] https://github.com/John-Nagle/ttyloopdriver/tree/master/circ...
That may well be. IN that case, LTSpice would benefit greatly from being able to import the output of a proper schematic capture tool.
If LTSpice was OpenSource, that could be added in a day of work.
I love LTSpice, but the fact that
is really a huge downer.The important part is the device models that simulate components. Those do get updated as new analog ICs come out. It's finding a good model that's hard. Linear Technology keeps the models updated for their own parts, but you have to look around on the Web for many non-LT parts.
I'd probably pay if it was just simple to import 3rd party models, even if they're encrypted. Every time I have to screw around with some encrypted model I worry about whether it's going to end up accurate.
It was much better than the simulator shown on this thread.
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.
But in the meantime, and in spite of its old age, it's still light-years ahead of the web-based thing from 2022
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.
ironically maybe it's also feedback that our share feedback button is too hidden
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.
LTspice for example.
Edit: worth nothing there is a native macOS port of LTspice now.
It's still missing a comprehensive component library like LTspice does though, contributions are welcome.
KiCad can also simulate circuits through NGSpice, but it's missing a library and suffers from a lot of quirks.
This. NI Multisim is one of my [proprietary] favorites too.
But it worked great!
"When you include the time to earn the money for a car, driving can be no faster than walking." (~Mumford)
https://github.com/logisim-evolution/logisim-evolution
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.
James Cameron would like a word with you. Seriously though, 3D can show off some things that just might not be realized without it. Not sure of Fritzing's design abilities with layered PCBs, but I could imagine trying to design a layered board and forgetting how tall a component is. Seeing a component "through" the second layer could be useful
[0] https://blog.fritzing.org/2022/06/27/Simulating-Circuits-wit...
Teaching is much easier when the students can connect the abstract representation to something they can experience.
Ideally I'd like to be able to open up, say tv remote, look at the board and have at least some idea of what the top left part does vs bottom right one, that sort of thing.
It’s interesting too that there are all sorts of mistakes that become a bit more obvious when you look at it in 3D than in the 2D view.
That's not just capacitances! At speed the resistance of a long trace or the inductance to a neighbor are big deals. Meanwhile the internal PCB planes of Power/Gnd are necessary low impedance bypass that no packaged cap could provide.
No doubt the parasitics and other nasties still come into play, but it's still amazing how much faster we can go before they start to bite.
[1] https://www.busboard.com/
I've made some retrocomputing boards (<= 50 MHz) (8051, 286, 68010, 68030, etc.) and haven't had much of a problem. No idea what the EMI looks like though. Greatest goof I had so far was an old part who's datasheet didn't mention that the signal output was open collector so I had to bodge a resistor in. Mostly just followed advice I found on the internet -> 4 layer boards can be had for very cheap these days (JLCPCB does 10 for $30 w/ ENIG boards up to 10cm x 10cm), so I followed the "just do yourself a favor and get the 4 layers boards so you can make ground and power planes" advice. Used a tool to compute minimum trace spacing to stay under a certain capacitance for a specific copper weight, board thickness, dielectric type, etc.
Probably my crowning achievement at this point is making an 1.8V LVDS to TMDS level shifter board so I can get HDMI 1.2a (4x 1.65 Gbps lanes + sidebands) out of an FPGA board I repurposed from some cryptomining hardware I bought on eBay. Had to learn how to do soldering using a stencil, paste, hot air station, and a hotplate because no one is hand soldering 0.4mm QFN packages. 0402 are the smallest thing I can do by hand.
Next thing I want to try is breaking out a small BGA. Managed to get a few Lattice iCE40HX8K's in the CT256 package (256 balls @ 0.8mm pitch BGA).
What hurts is how patent/royalty/industry interest group encumbered that nearly everything modern is. Want to do PCIe? Join PCIe SIG. Want to do USB? Join USB-IF. Want to support SD cards? Pay a bunch to SDA. Actually their patents expired so maybe you can do native SD mode now without much fear. HDMI is awful, DisplayPort requires you to join VESA, MIPI for CSI and DSI devices, etc.
The electronics are a thing I do as a hobby and I try my absolute hardest to ensure work and hobby resources are kept separate. Electronics is sufficiently different from my professional role that it doesn't feel draining as a thing to do on the side. I'm not one of those "spend 8 hours programming/architecting/designing at work only to go home and spend another 6 writing code for fun" kind of people. I definitely write software and learn at home from time to time, but the motivation for doing it on the side is certainly less than it was before I turned it into a full time job. So I tend to gravitate towards things that are interesting to me but not necessarily useful to others.
As someone who works for a large silicon vendor I can tell you that even with access to those industry groups the documentation still sucks!!!! I look at the amazing documentation available surrounding various software initiatives (OpenCV, machine learning, linux drivers, programming languages, etc...) with envy. It's all right there and out in the open with multiple blogs and forums and pages explaining shit. And actually I did try to learn PCIe. I gave up. 1000+ reference specs, about 3 random web pages and a half dozen marketing youtube video's. There's a reason why some guys manage to build niche careers around these HW topics!
I don't know if it ever got fixed. I stopped using Linux around the time when it was introduced, and having had to revert to using xpdf for browsing large PDFs like it was 1994 again was part of why I ragequit :-(.
It took some time for it to land though and not without the kind of discussions that you see on the Gnome bug tracker. It was pretty disheartening.
[0] https://www.fosshub.com/Evince.html
I like it so much in fact that I've been looking for a linux alternative and haven't been satisfied yet. I will try evince though.
Now? Eh, Firefox. If that doesn't work, well, find an old Mac which hasn't been "upgraded" I guess.
(Migrating from S7-300 PLCs to the current S7-1500 range, I found the complete documentation package for the 1500 universe in one whopper of a pdf. Just north of 11,000 pages IIRC.)
I shared the OPs frustration when working on the S7-300, though. The docs are excellent, there's just so many of them...
In general, you should avoid power planes on 4 layer boards if you can. They tend to cause a lot of trouble with return currents when signals jump from the top layer to the bottom layer through a via. Prefer using ground planes for both inner layers and make sure you have ground return vias near every signal via.
https://youtu.be/kdCJxdR7L_I goes into more detail.
Imagine all the peripherals baked into your uc were separate DIPs, and you had to worry about high speed signals going everywhere.
And yeah, all the parts were less robust and hadn’t evolved to be tolerant of less than perfect conditions.
Cannot confirm from my experience though, I don't practice EE, I just dabbble in electronics and never actually characterized SI and EMI in my creations.
Reminds me: https://www.youtube.com/watch?v=yR9TweWf3w8 Sine oscillator (no ICs), 10K load, 24+GHz on a breadboard.
Schematics SHOULD help readers to understand what a circuit does.
Especially in, let's say, "prosumer" boards (like boards designed by small companies for hobbyists) I keep seeing schematics that are designed to make it easy for the dev to get them done and NOT to communicate the circuit theory.
It's exactly like writing code without any formatting or comments. As far as I'm concerned connecting components by net name is as bad or worse than a GOTO.
\rant
And it looks modern enough for me.
https://ibfriedrich.com/en/index.html
Thanks for sharing!
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.
it doesn't look ancient to me
The photoresistor is just controlled by the slider in the side-bar. It doesn't respond to lights in the circuit. There is an "optocoupler" under "active building blocks" that does connect optically.
I've seen a few requests to add feedback that occurs outside the electrical domain - light is one, but also for mechanical movement (motors that turn generators). But, I pesonally think it's hard to know how to model all these non-electrical interactions in a way that is visually clear and effective.
Ten years later, just the other day I was using it to prototype some filter and resonator circuits.
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.
One thing wokwi doesn't do however is analog simulation so we're hoping to combine spice simulations with arduino, rpi, esp32, etc.
In any case, I always encourage trying to be as open as you can with the software, this encourages collaboration/cooperation (and of course is just better for everyone, in most cases!).
I think (like others here) any slightly more advanced user would be more comfortable/productive in a 2D interface most of the time. But the option of having 3D for blinkenlights is sure nice :)
(also a great accessibility for people who can't afford to buy hardware for learning and experimentation but have access to a computer)
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.
I had a look back at it and see many great new features.
(1) I think it's awesome that you can program javascript inputs (and there's AVR8js). But it's not really user friendly: maybe there could be some editor window or something you could program js in with syntax highlighting
I think that's what would be most significant contribution for me, because there are quite a few prototypes where you want to mix analog/digital and that's currently difficult.
(2) If you want to get really fancy, look at editor.p5.js interface (although in terms of self-documentation[1], I think circuitjs is better!). The cloud save functionality could be really useful (although I'd understand if you find it out of scope).
(3) Maybe the time step could adjust automatically as an option? (Something like: auto step -- simulate at half speed and check the difference between the two simulations; if significant, improve accuracy until it reaches maximum; I'm sure there could be better approaches though like trying to find maximum resonance frequencies)
(4) An easy way to run it offline? I think since it's already a web app and it's very light, an electron app distribution would be nice (although HN notoriously cringes at electron :P ).
[1] I define self-documentation as the ability to find functionality and documentation within a user interface. That's easier done with GUIs where commands and references should be a few clicks away, though it can also be done in text interfaces with help commands and such.
Diode: Build, program, and simulate hardware projects in the browser - https://news.ycombinator.com/item?id=33396792 (26 comments)
CircuitJS: https://www.falstad.com/circuit/circuitjs.html
I couldn't compare to OP because it timed out loading on my slow internet.