This question was put on hold, citing the fact that any answer would be based on opinion. I can't really argue that point, but I do believe that in this case the point is irrelevant. I am asking for basic information, where to start from. Because different people started from different locations the answers will be based on opinion.

However, I feel that the "primarily based on opinion" rule exists to discourage trolls and avoid arguments. Neither of those points are the case here. The answer to my question is advice; it is opinion. Not to be overly dramatic, but putting this question on hold, without suggesting another source for the information, is stifling the search for knowledge. It is essentially saying that "you need to already know how things work" to participate.

Please reconsider.

I have been a programmer since the early days of the PC. I have now decided that isn't nerdy enough, so I am teaching myself circuit design.

I have picked up a few kits, and have gotten pretty good at soldering, following directions and reading a schematic. But, I'm not picking up basics I need to be able to design my own circuits. I have hit both Google and YouTube looking for starter tutorials but they miss the sweet spot. They are either assuming complete ignorance describe what the basic components do, and spend no time describing how they work together. Or, they assume you already grok the topic and start soldering things, again, without any description of how and why.

I am aware of "The Art of Electronics" and it is on my list to pick up when the new edition hits hater this year. Collin Cunningham did a great little series in YouTube for make magazine. Unfortunately he only did a couple of dozen videos and they mostly stopped short of explaining how things worked together. In addition to sound references such as TAoE I am also on the hunt for a video channel to pick up where Collin left off.

The goal is to be able to sit down and design a circuit that brings my idea to life the same way that I can sit down with a compiler and write a program that brings my ideas to life.

Here is what I think I need:

  1. i need to understand how the components interact. Book, video channel or website, any source of info would be good. However since this isn't my day gig, a video channel would be ideal. I need to know when you add a LED to a circuit how do you know what resister you need to use to keep from blowing it out (this is asking a deeper question then pointing me at a website with a LED calculator). How do you know when you need a capacitor, transistor, resistor, diode, or any other component. I need the basics, but not the very basics. I know what the components do, just not how they dance together.
  2. Parts. Where do I get cheap parts en-mass, what would be a good selection to start out with, and does anyone sell a kit like that (hundreds to start, not dozens). I know ebay is a good source, but what should I pick up as a good starting selection?

closed as primarily opinion-based by Scott Seidman, Leon Heller, PeterJ, tcrosley, Nick Alexeev Mar 3 '15 at 2:34


  • 3
    \$\begingroup\$ I think most of us took several years of EE coursework (including calculus), followed by many more years of hands-on experience. And even then, analog circuit design is fundamentally hard. There's no straightforward answer to this question... Don't be insulted if the mods close this one... \$\endgroup\$ – MarkU Mar 2 '15 at 21:08
  • 3
    \$\begingroup\$ sparkfun, digi-key, mouser, newark/element14 are better alternatives to ebay. these are all reputable distrubutors that sell to individuals, and (unlike ebay) don't sell defective/counterfeit parts. \$\endgroup\$ – MarkU Mar 2 '15 at 21:10
  • 2
    \$\begingroup\$ you're on the right track, Art of Electronics is a great book, and keep building and experimenting. this particular q&a site deals best with specific, highly focused questions, so if you have a circuit that doesn't work, come back and post a schematic. \$\endgroup\$ – MarkU Mar 2 '15 at 21:13
  • 3
    \$\begingroup\$ I suggest you actually try to accomplish some projects that interest you. Ask here if you're not sure if they're suitable for your present level of experience. Get an oscilloscope and a good meter and a power supply at a minimum. Play with simple transistor circuits for a while. Imagine trying to learn to program without having access to a computer. You don't need a doctorate to be a good circuit designer, but you do need to know a lot of things that definitely take years of work to master and require at least the math background that an engineering grad has to absorb. \$\endgroup\$ – Spehro Pefhany Mar 2 '15 at 21:33
  • 2
    \$\begingroup\$ The close reason is not only against trolls. It's simply because opinion based questions don't work well in a Q&A framework. Sorry. \$\endgroup\$ – Keelan Mar 3 '15 at 15:16

Sounds to me like you have no knowledge of the fundamentals of electrical engineering. This is fine as you have to start somewhere. However, it is no easy task and you won't be able to just create something in a few days like how you can pick up the basics of a new language, or use a new library in software development.


This is a very software paradigm of thinking, i.e. you have a function you'd like to call for a specific reason and you take it like a blackbox and just connect all your modules together. In hardware, this is not the case, if you understand the basic fundamentals, like knowing exactly how a capacitor charges/discharges will allow you to know how to balance larger modules together. A good starting project to do is to just build a 555 timer (or basic any astable multivibrator with a capacitor), which will teach you how a capacitor charges and how you can use that to compare it to other voltages.

When you know how the individual parts work and any parasitic issues that can occur in each one, you can then understand the numbers in a datasheet, which will allow you to figure out what will prevent things from "releasing the blue smoke".

I'll give you an example: the inductor. You charge it up, it acts like a straight, but the moment you cut off current abruptly i.e. if you're using a squarewave oscillator, it can cause a large spike in voltage, which will fry your other components. While this maybe not produce "blue smoke", you can still fry components if the voltage spikes larger than the rated values.


Depends on what you want to learn. To put it simply, there are two large fields in EE: digital design and analog design. They both have very different patterns of thinking. Since you have a CS background, I suggest going to digital route first and start adding analog components as you go. You grab an arduino, program things, and sort of understand how signals affect digital components. This is opposite to traditional EE knowledge as usually they teach analog first.

To get parts, I'm in North America, so I usually just ebay everything. It usually comes out to the best bang for the buck. The key words you usually want to go for are "assorted [component]", "[component] pcs", "[component] set/kit". Usually for common parts like caps, resistors, or even BJT transistors, you'll find them in the hundreds for a few dollars (varies from $4-$20) spanning across many values. Things like ICs (like the 7400 series or 4000 series ICs) are a lot more expensive due to the fact that they're all quite specialized and you usually figure out what you need for a project before you buy. Usually you can get a large volume of a single chip for cheaper than an assorted pack. But if you do want a large number of different types, you might want to look for something like this

Anyway, just want to end off with saying people spend their entire lives studying a small field in electrical engineering, and there's a reason people go to school for it. There might be reasons why you don't want to attend some type of formal education, but there really isn't anything else that's structured well enough for you to understand what I feel like you're trying to learn. People who can actually teach you well don't have time to make videos on youtube, and it's pretty much up to you to piece all varying bits of information together that may require more work than it's worth.

But the best thing I can tell you to do to learn on your own: pick a project, find the parts needed, buy parts, and just put it together. If you break something, you'll find out why, because you'll have a specific question that Stack Exchange can actually objectively help you with.

  • \$\begingroup\$ That really isn't a fair comment. You are offering your opinion on the validity of the question. While I appreciate the time it took you to answer it, it really doesn't offer any information. As I stated, I am already fumbling along with on my own building other peoples projects. Even if I break on of them and you tell me I used the wrong capacitor that doesn't actual give me any knowledge to help me in the future. \$\endgroup\$ – codingCat Mar 3 '15 at 14:55
  • \$\begingroup\$ Sorry... pressed enter while editing the previous comment it should have read: I beg to differ. I am not trying to treat electronics like a function call in programing. Quite the opposite. I am attempting to learn how things interact; to look into the black boxes. To understand the current flows from point to point. And your comment isn't really isn't a fair. You are offering your opinion on the validity of the question without really answering it. While I appreciate the time you took all it really accomplished was to have the question put on hold and discourage a beginner. \$\endgroup\$ – codingCat Mar 3 '15 at 15:03
  • \$\begingroup\$ @codingCat - I beg to differ. There's a lot of good advice in this answer (+1). Believe me, be glad PGT was able to post it before the question was put on hold. For some reason (that was argued way before I got here) SE founders determined that questions demanding answers heavily based on opinion were not what they were looking for. Then they trained us (editors, moderators and reviewers) to detect those questions and put them on hold. We now do it almost automatically. So, it's nothing personal against you, it's just the way the site works. \$\endgroup\$ – Ricardo Mar 3 '15 at 17:03
  • \$\begingroup\$ It's a bit like asking "how to learn how to code" on StackOverflow - they would quickly stone anyone asking that there. I don't like that either, but that's the way it is. \$\endgroup\$ – Ricardo Mar 3 '15 at 17:05
  • \$\begingroup\$ But I'm sure a lot of folks here consider your quest for knowledge honorable. We just can't address your question here. But there's plenty of sites out there that would welcome your question. \$\endgroup\$ – Ricardo Mar 3 '15 at 17:05
