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.
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.
"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.
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
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/
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...
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 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.
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.
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.
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.
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.
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.
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.
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.
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.