Posted by rossant 4 days ago
Edit: I am ex EE. I will note that it's horrible using this view. It is marginally more horrible than using breadboards in reality. Schematics exist because reality tends to suck or have inconsistencies. For example TO-99 packages come in different pin orders, so 2N3904 has the opposite order to a BC547. Also breadboards tend not to have full length bus bars depending on vendors. At least though in this form it's an ideal representation though which doesn't have parasitic capacitors, inductors, dodgy contacts and no ground plane all over it.
It is good fun though :)
Once I had a functioning prototype, the next step was to convert it into a schematic. After that, you have to convert the schematic into a PCB. Now we are at two layers of translation, and at this step I made a mistake: I wanted to use SMD components to save money, and I found that the BC8xx transistors are the SMD equivalent of the BC5xx ones, so I used the footprint of the BC8xx transistors in my PCB, with no errors from KiCad.
As it turns out, the BC8xx footprint is not compatible with a BC5xx schematic! The pinout is different: the base is pin 1 instead of pin 2, so the components in my PCB that use transistors (crucially, the voltage controlled amplifier) didn't work. Unlike a bug, that mistake cost me $200 and weeks of development time, but after 10+ years of writing software I'm still happy to be making things that people can touch.
Mine was assuming that the stripe on tantalum SMD capacitors was the negative side. First prototype board came back from the fab and pick and place department (we had it in house). Immediately caught fire when I powered it up :)
Second lesson, start with current limit on your bench supply, not throw 10A into it :)
Shoutout to OSHpark's prototype service. Something like 5 bucks an inch and you only have to toss out 3 if you find a fault.
Printing the board outline and layers combined as well. And checking you used the correct footprints against actual parts helps.
Breadboards make me wince a little especially in a professional setting but I've made my peace with dev boards that come with DIP-style pins for them. Decent breadboards are so cheap now that every dev board get to live on its own permanent breadboard.
I think this is a key point. One could imagine three layers:
(1) NETLIST: a list of text-only descriptions, like "R1 1 0 1k", or even a sentence description "connect a 1k resistor between node 1 and node 0"
(2) SCHEMATIC: a 2D drawing with canonical symbols, straight lines for wires, and labels/notes
(3) LAYOUT: a 3D (or multi-layer 2D) physical representation for PCB, or in this case breadboarding
All three layers are useful. (Obviously you need layout to make a PCB, and you need a netlist for simulation.)
But for most humans, where we have 2D visual representations baked in, if you're trying to understand or communicate what's going on:
- It's really really hard to keep track of a bunch of text sentences like a netlist and node numbers/names for all but the simplest circuits -- maybe 3-5 elements?
- It's really really hard to follow a 3D layout of PCB tracks that leads to pads, and then having to remember pin orders etc.
- It's easiest to follow a schematic diagram. It's browsable. It contains "idioms", as you say, about signal flow, logical block groupings, etc.: purpose and intent and functionality, in a way that netlists and physical layouts don't.
FYI, for medium-large digital circuits, I don't think this is true: probably just reading VHDL/Verilog, like reading source code, makes more sense. This is closer to the "netlist" level. I think that's because you'd name modules and inputs/outputs in a way similar to how you'd name functions and arguments in software, which doesn't really apply to "Resistor" or "Capacitor" as primitives.
But for a pretty big practical range of mixed-mode and analog things, I'd argue that schematics really are the easiest level for our brains.
(Disclosure: I'm one of the founders of CircuitLab https://www.circuitlab.com/ (YC W13) where we've been building an online circuit simulator & schematic editor for a long time. Although I'm mostly on the simulation engine / netlist side. My cofounder and other teammates have done most of the schematic GUI work.)
IMHO solderless breadboards still have their place for prototyping some slow circuits, ballpark maybe < 1 MHz signals, if you're aware of the extra capacitance and limitations. :)
I haven't done much HDL work so I don't have strong opinions there, but let's think about graphical representations source code and software intent for a moment. I like to see some block-level description of firmware even if it's just a few rectangles representing the main loop and each ISR other other process with text indicating what they do. I like to see statecharts. If someone has written an implicit flags-and-conditionals state machine, I'll draw the statechart and start probing for bugs and debugging from there. Tools like Scitools Understand are drastically underrated for figuring out other people's code, incidentally.
What kills me about the aforementioned style is that it eschews the schematic as a tool for thinking and implicitly sees schematic capture as a layer of friction you have to get through to get to layout. I suspect a lot of designs drawn that way were built up point-to-point on a breadboard and never sketched or even otherwise mentally visualized.
Maybe you can explain.
Are you saying in these cases often the physical PCB layout follows the geometry of the schematic?
Also usually totally implicit power routing. And no one that draws schematics that way has ever learned the value of drawing IC symbols to fit the circuit as opposed to the physical pinning of the device.
> Decided to shutdown Diode. (For now the site is live, I'll likely open-source the code in case anyone wants to take the baton and run)
Kenneth is now working on RMFG (https://www.rmfg.com/)
Steam: 78% positive reviews out of 675. $8.99. Windows-only, though the website says “CRUMB is available for iOS and Android along side its desktop counterparts on Windows and MacOS.”
https://store.steampowered.com/app/2198800/CRUMB_Circuit_Sim...
No affiliation.
No affiliation with any. I'm a Comp.E in consumer electronics who likes to keep a pulse on these things.
Edit: Clicking the background and dragging it actually gave me the top view I was looking for. Thank you goodcanadian. That said, I still think this application is a better skillset demo than a practical tool to use.
Don't add unnecessary complexity just because AIs are good at vibecoding threejs demos (edit: even if this particular demo seems to predate vibecoding and was likely used for training instead of being the product of inference).
Maybe it's just the extremely clean and generic presentation on the website without any links to the author / team / twitter.
From an EE perspective I still see limited value in having a 3D breadboard. Having a standardized schematic language is really nice. Everybody knows how resistors, capacitors and transistors look like in a schematic, whereas they are all just little cuboids with varying number of pads in their smd packages. I recommend multisim blue for learning btw.
Nevertheless, a cool project and I should be more positive when commenting.
I somewhat agree with you in general though—if the web UX is a breadboard… maybe just get a breadboard? At the same time, while physical parts are generally cheap enough, power supplies, multimeters, an oscilloscope… that part of the hobby can add up.
Sometimes too I am waiting a week or two for a part to arrive from Mouser, it is nice to be able to mock up a circuit online.
If it's a circuit made by composing multiple integrated circuits based on their application notes and not a custom analog design, I just use LTspice alone since you can just import the manufacturers spice behavioral model (assuming they didn't encrypt them...)
I'm breadboarding with physical breadboards but they get messy/cluttered fast, ha ha.
I personally reach for LTspice from Analog Devices first even if I have better available - it is quick, easy enough to use, and someone has ported the model you need to it already. There is a Mac version on their web site but I have never used it.
Micro-Cap is free-as-in-free-beer but windows-native and will do stability analysis (gain margin/phase margin).
Qucs-S + the backend simulator of your choice is probably your best bet for free software on Mac. Original Qucs is still developed (checkins last month on their github, if you want to try building from source) but hasn't had a release in almost ten years. QucsStudio is now uSimmics and is closed-source and Windows-native. They all have their peculiar uses. I haven't used any of them much.
Online you can use PartsQuest Explore for free for public designs and short simulation runs. I have not used the online version much but it is basically the very powerful Siemens (Mentor) VHDL-AMS simulator that has gone by a number of names (Mentor never commits to names) on the backend. I have used that: it came with PADS Standard Plus. It surprisingly does just about everything at least usably well. It can use spice models or VHDL-A(MS) models. It can use RF s-parameter models. It can use control-theory laplace-transform block models. It will do stability analysis and monte carlo analysis. It can run VHDL models. You can model just about anything you can write the ODEs for in VHDL-AMS: try viewing source on their motor model for example. You won't get the filter synthesis or analysis tools you'll find in a dedicated RF simulator like Keysight Pathwave. You won't get the controls design and analysis tools in the Matlab/Simulink toolkits. But it does a whole heck of a lot.
Kicad is an excellent free schematic capture and simulation software.
- clock advances
- voltage around the LED slowly rises to infinity for some reason
er.
And I want it to be free/open-sourse ideally :)
https://en.wikipedia.org/wiki/List_of_free_electronics_circu...
kicad is the oss orcad, but i never got good at it. (to be fair, orcad was weird to learn as well)
I always disliked Orcad. Especially because cadence had excellent software that predated OrCAD, and for reasons that I cannot fathom chose to promote OrCAD after they acquired it instead of the better software.
Here's a specific example in the interface. If you wanted to draw a wire, the keyboard shortcut of the old software was 'w' but orcad required you to type 'ctrl + w'. Why are you forcing me to use control when w doesn't do anything on its own? It was filled with similar tiny annoyances that just slowed things down. (Admittedly, it's been years since that was my primary work, and free stuff is good enough for what I do now.) I sincerely hope that orcad has continued to improve over the years.