6
\$\begingroup\$

When developing software, it's recommended not to reinvent the wheel but to use battle tested libraries e.g. for sorting or proven design patterns like the GoF.

However when it comes to electrical engineering I'm unaware of such libraries. I have bought Circuit pattern trading cards however a friend of mine told me those implementations are not ideal.

Therefore I'm asking: where to find proven circuit design patterns and higher level libraries for electrical engineering tasks?

\$\endgroup\$

closed as off-topic by W5VO Sep 19 '18 at 19:14

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    \$\begingroup\$ The closest to this that I've found is The Art of Electronics. There are a number of design patterns laid out in that textbook, discussed in detail in many cases, and it provides a lot of more commonly needed "patterns." \$\endgroup\$ – jonk Sep 19 '18 at 18:02
  • 1
    \$\begingroup\$ As usual, I will be the one naming CircuitJS. It is a simulation tool in the browser, if you click the link then you can find tons of designs under "Circuits" at the top. \$\endgroup\$ – Harry Svensson Sep 19 '18 at 18:16
7
\$\begingroup\$

A good place to start would be the Reference Design Library at AllAboutCircuits.com

It has a large searchable database of common circuits.

Another option is more vendor specific. For instance Texas Instruments has nice tools for helping design typical circuits.

Even Digi-Key has a good reference library.

If you are looking for more basic/fundamental circuits, I think you would be best off with a book such as The Art of Electronics.

\$\endgroup\$
  • 2
    \$\begingroup\$ I see we both had the same book in mind! \$\endgroup\$ – jonk Sep 19 '18 at 18:03
4
\$\begingroup\$

Most (all?) chip manufacturers publish application notes showing how their chips can be used in a circuit, and these usually contain reference designs that you can use.

How well these designs are tested varies from manufacturer to manufacturer and probably even depending on which applications engineer wrote the note.

Historically there were books that collected these designs, mostly copied directly out of the app notes, with titles like "1001 Electronic Circuits" or "501 Measurement Circuits". But those are hardly needed in the era of Google.

\$\endgroup\$
  • \$\begingroup\$ Yes you are right, when using a chip there are usually application notes included. However (and this wasn't clear from my question, so you couldn't know) I was thinking about problems like "a 100V XOR gate" where I cannot find a chip implementing this feature so I have to build it myself using other components \$\endgroup\$ – ooxi Sep 19 '18 at 18:09
  • 4
    \$\begingroup\$ I don't think a problem like that qualifies as "common design pattern" \$\endgroup\$ – Maple Sep 19 '18 at 18:10
  • 1
    \$\begingroup\$ @ooxi, even discrete device vendors make application notes. You might find this in the app notes for a high voltage MOSFET or BJT, if anybody has thought of doing it before. But if your requirements are really obscure, you might just have to design it yourself. \$\endgroup\$ – The Photon Sep 19 '18 at 18:10
  • 4
    \$\begingroup\$ A 100V XOR gate is a good example for a thing that should never be built. This problem is ill-defined. The seasoned engineer would go find the source of that problem and eliminate it instead. \$\endgroup\$ – Janka Sep 19 '18 at 18:32
  • 1
    \$\begingroup\$ @Janka you may be interested to know that 100V gates are sometimes built - Relay logic working on the train battery voltage of 110V d.c. was common for door interlock and driver's indicators circuits when I last worked on it, using 110V d.c relay coils and multiple contacts per relay to realise common logic operations by wiring. Yes, it could be done by stepping all the signals down to logic levels for a PLC or embedded micro but then the software would have to be audited for safety, where the relay circuit was readable and not subject to tool chains, microcode bugs or undefined behaviour. \$\endgroup\$ – Martin Sep 20 '18 at 8:08
4
\$\begingroup\$

Art of Electronics is good, the other sources mentioned in other answers probably as well, but I just have a nagging feeling that there's an underlying assumption at play here, which is false.

At the risk of being blunt, I dare suggest that there is no "smarter" method of developing electronic circuits, and no way to cut corners. Trying to save design time and effort will cause even more delays at a later stage in design

The analogies between software development and hardware development are not exactly one to one. For example, in software development it may not be necessary to know the inner workings of something like a MPEG video decoding library, you just use the library. Similarly, in electronics, you don't need to design an MPEG decoder if you can pick that up as a component. But there the analogies end. In electronic design, the division beween what you design (your own circuits and printed circuit boards) and what you use (ICs that other people have designed) is quite clear. You cannot tinker with the IC design, unlike that MPEG decoder library, whose source code you can probably look.

In electronics, you design what you design and you must know completely how it works. You cannot, generally, just take one circuit from one book and another circuit from another book, throw them both on the same PCB and hope that they work together. I think you must have a complete understanding of how each of them works so that you can evaluate how they work together.

No way to cut corners. No way to work smarter, not harder. That's my point of view anyway. You don't need to reinvent the wheel - in fact, you absolutely must not. You better be well familiar with the design of the wheel even before you start designing your product, and then measure and re-measure it so that you're pretty darn sure that it's round before you ship it to your customers.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.