Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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!


It blew my mind that the microcontroller I'm now using has a 1000+ page datasheet.


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/


How about joining all the PDFs together and doing ctrl-F? Sounds like it could save you the grep step.


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


Acrobat reader used to let you search all PDFs in a directory; not sure if it still lets you do that.


Use Recoll, a desktop full text search tool which uses Xapian as the backend.


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've actually been using an (ancient) build of Evince for Windows [0] for quite some time now.

[0] https://www.fosshub.com/Evince.html


I've never had to read a large PDFs (probably, ~400 pages) but what's so great about Evince? Is it just speed or is it because of it's features?


One feature I really like is that if you hover over a link Evince previews the target of the link in a little box. Perfect for "see Table X on page Y"


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.


Sumatra PDF on windows is very fast.

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.


Preview.app used to be very good for large pdfs, back in what I suddenly realize must be considered "the early days" of OS X, maybe 8 years ago.

Now? Eh, Firefox. If that doesn't work, well, find an old Mac which hasn't been "upgraded" I guess.


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.

https://youtu.be/kdCJxdR7L_I goes into more detail.


Thanks! I'll check it out!


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.


It also helps a lot when you get a well made breadboard from BusBoard [1] instead of the Aliexpress special.

[1] https://www.busboard.com/


I just get the ones that the EEs throw away when someone retires. ;-)


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.


I've been doing multi chip stuff with 16MHz Atmels with no issues just using a de-coupleing cap on the Vins. Did it not used to be that easy?


You say multi chip, but what are the signals going between chips?

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.


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.


Maybe a checkbox to "show parasitic components".


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.


>Breadboards are for prototyping small low-speed circuits.

Reminds me: https://www.youtube.com/watch?v=yR9TweWf3w8 Sine oscillator (no ICs), 10K load, 24+GHz on a breadboard.


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.

\rant


"parasitic capacitance" ... I shudder recalling the nights wasted in the analog lab due to this.


Fritzing can kind of make breadboards from schematics, but doesn't have a 3D view... which I'm fine with because why do we need 3D?


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.


>which I'm fine with because why do we need 3D?

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.



> because why do we need 3D?

Teaching is much easier when the students can connect the abstract representation to something they can experience.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: