Slashdot Mirror


Books On Electronics For the Lay Programmer?

leoboiko writes "I'm a computer scientist and programmer with no training whatsoever in hardware or electronics. Sure, we designed a simple CPU (at a purely logical level) and learned about binary math and whatnot, and I can build a PC and stuff, but lately I've been wanting to, you know, solder something. Make my own cables, understand multimeters, perhaps assemble a simple robot or two. Play with hobbyist-level electronics. How does one go about educating oneself in this topic? I've been browsing Lessons in Electric Circuits online and it's been helpful, together with Misconceptions About 'Electricity' which went a long way in helping me finally to grok what electric charge and power actually are. I've reached the point where I want an actual dead-tree book, though. Any recommendations?"

29 of 335 comments (clear)

  1. The Art of Electronics by Aglassis · · Score: 5, Informative

    Pick up the Art of Electronics by Horowitz and Hill. The lab manual might also be helpful. The Art of Electronics is basically the electronics Bible for physicists and a popular introductory text for electrical engineers.

    For technical electronics work (like soldering or cable assembly) you will probably want to find a specific book (the Navy electronics manuals would be very helpful).

    --
    Suddenly, the hairy finger of a familiar monkey tapped me on the shoulder. It was time.--G. T.
    1. Re:The Art of Electronics by aero2600-5 · · Score: 5, Informative

      As a former Electronics Technician in the Navy, I have to agree with the parent. The Navy Electricity & Electronics Training Series (NEETS) is a great series of books that teach the basic of electronics. After studying these manuals, I successfully built a Superheterodyne receiver, also known as your basic radio receiver. You can find all of the NEETS modules online here in PDF format. I still have them on CD from when I went through the training in 1998.

      As for your link to electricity misconceptions, all I can say is that I find the information there disagrees with what I was taught by the US Navy. It reminds me of the old electron flow vs hole flow arguments. The important part is that electric circuits work the same regardless of what you're philosophy is concerning the movement of electrons.

      Best of luck with your search. Just remember that soldering irons are HOT. I've heard good things about the Art of Electronics as well.

      Aero

      --
      Please stop hurting America -- Jon Stewart
    2. Re:The Art of Electronics by carnivorouscow · · Score: 5, Interesting

      The electricity misconceptions site seemed so intent on proving things wrong that it made several errors or needless complicated several topics.

      On topic I found "Teach Yourself Electricity and Electronics" by Stan Gibilisco to be a very useful book for hobbiest stuff.

    3. Re:The Art of Electronics by marimbaman · · Score: 4, Informative

      c is merely the maximum speed of light. It is constant in the sense that it is the speed of light in vacuum, all over the universe (we think).

    4. Re:The Art of Electronics by vlm · · Score: 5, Insightful

      As an active hardware engineer you don't need that book anymore. Give it to a newbie. I haven't glanced at my copy since the 90s for similar reason. I liked AoE because it is a window on how a ckt designer thinks... "How to think" not "what to think".

      It's pretty useless as a display of how to set the bias current for a class A amp for an obsolete transistor. You know, vocational school "training".

      But its great for explaining the thought process of, "I want an amp" "I need the following characteristics" "guess I want a class A" "how should I design one?" "here is an example". Yes the last step, the example, is somewhat useless now, but the best part of the book was the other steps anyway. It provides an "EE education" as opposed to "vocational training".

      It's like the difference between "history" and "journalism". Or "education" and "training".

      Don't go into AoE expecting the wrong thing, or you'll be disappointed.

      Go into it with the attitude that it's "EE in 24 hours" and you'll be unhappy. Go into it with the attitude that its a guided puzzle book or a philosophy of EE work, and you'll be happy. It's kind of like Knuth's TAoCP series, in that way.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  2. Ahhh.... yes.... by Corporate+Troll · · Score: 5, Funny

    3 Scary things: A programmer with soldering iron, a manager who codes and a user who gets Ideas

    1. Re:Ahhh.... yes.... by Cryacin · · Score: 5, Funny

      3 Scary things: A programmer with soldering iron, a manager who codes and a user who gets Ideas V=IR
      Programmer
      function int getVoltage(I:int, R:int)
      {
      var int smoke=I*R;
      return smoke;
      }

      Manager
      function float cashCow(Idea myIdea)
      {
      var step1:String=myIdea.text;
      var step2:String=null;
      var step3:String="Profit!"

      return 0.0;
      }

      User
      What if I got rid of the off button?!? That would be MUCH SIMPLER!
      --
      Science advances one funeral at a time- Max Planck
  3. Community college by SkOink · · Score: 5, Informative

    I would like to make a plug for your local community college, if you live in a reasonably-sized city. Most community colleges offer a couple of basic-level electronics classes, which teach you basic circuit theory. Books (either eBooks or paper ones) like Misconceptions About 'Electricity' are sort of interesting from a physics perspective, but they don't really offer much insight into electronics. In fact, many of the logical assumptions taught to electrical engineers _aren't_ true, strictly speaking, but are 'true enough' and much easier to understand.

    If you're looking for someplace where you can learn about your basic circuit elements (resistors, capacitors, op-amps, etc) a real dyed-in-the-wool intro electronics course might be just what you're craving.

    --
    ---- I'll take you in a Hunt deathmatch any day.
    1. Re:Community college by somersault · · Score: 4, Funny

      apply what you learn to larger projects "Right, I see the problem here. We're going to need a really big springy wire.."
      --
      which is totally what she said
  4. Starter for electronics by Anonymous Coward · · Score: 4, Interesting

    Get yourself an Arduino.

    http://www.arduino.cc/

    1. Re:Starter for electronics by clampolo · · Score: 4, Insightful

      If you want to just tinker with the digital side and you are willing to learn vhdl or verilog, then get a dev board from Xilinx or Altera. Some of them come with lcd screens, so you can have fun sending output to the screen.

      It's corny but there's a lot more of a sense of accomplishment when you get your first LED light blinking on and off than when you write your first Hello World program.

    2. Re:Starter for electronics by Mr2cents · · Score: 5, Informative

      I recently met up with a few people from my alma mater, and they have bought a bunch of Arduino's to teach embedded programming. From what they told me, they seem to be a great educational tool. I've never worked with them personally, but I do have experience with the processor used in the board, the ATMega. It's a nice architecture, clean design, and advisable. Another hint: stay away from PIC, they have severe limitations (like a hard-wired call stack, memory access limitations).

      Still, this won't help you with understanding elektronics as such, but will it will make a bridge from your programming world to the electronics world.

      Other things you need are: a multimeter (a good one costs some money, and a cheap one is probably good enough for a while, but from what I have heared, the problem of the cheap ones is that the calibration drifts after a couple of years). And a breadboard. That's a board with holes where you can plug in electronic components easily without need for a soldering iron. Very handy for experiments. For an example, see this: http://www.youtube.com/watch?v=HteDBfSJ9zo. (No idea if it's interesting, my flash audio doesn't work for some unknown reason :-( ). Later on, you might feel the need for an osciloscope, these things can be quite expensive but you don't need the latest model, just a second-hand model from 10+ years old will be a very handy tool for measuring clocks, signals etc.

      A last advice I can give you: read Elektor (a magazine available in many languages), find a simple circuit you find interesting and try to understand it. Read the explanation, calculate the voltages at certain points, build the circuit, measure, etc. This will teach you a lot.

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
  5. Not the Art of Electronics! by EmbeddedJanitor · · Score: 5, Informative
    I have the Art of Electronics and a wide range of other books. AoE is great for introductory EE, but is overkill for the level you are talking about and does not cover practical stuff.

    I would suggest looking at the various hobby robotics books in a good bookshop. Most of these will cover stuff like how to solder, how a transistor/FET work and how to wire up configurations like H bridges etc.

    --
    Engineering is the art of compromise.
    1. Re:Not the Art of Electronics! by hey! · · Score: 4, Insightful

      I think you bring up a good point, I'd just like to counterweight it a bit.

      There are very few technical books that are as well written an clear as Art of Electronics. A robotics book might be more "essential" if you are interested in building a robot, but very few of them will extend your understanding and mastery of robots specifically as AoE will extend your understanding of electronics in general.

      "Practical" doesn't just means "arts-and-crafts." Theory is "practical" too, when you are faced with a problem that requires an original solution. AoE was not, if I recall correctly, written with the EE student in mind. It was written for people like experimental scientists from whom the ability to understand and design circuits would be a great practical advantage.

      If you want to build other people's designs, then by all means restrict yourself to building things that other people have designed or snapping together modules, you can get by without really knowing much about how electronics works. I expect that most robot hobbyists only have a rudimentary understanding of electronics theory, and that's fine for them. But it certainly won't hurt to be able to analyze circuits even design them, and if you avoid AoE because it is not "practical", you're cheating yourself out of one of the best tech books ever written.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    2. Re:Not the Art of Electronics! by sharp-bang · · Score: 4, Informative

      I have to disagree with your view of The Art of Electronics. It is to electronics what The Joy of Cooking is to cooking: a comprehensive and extremely clear guide for beginners that is equally useful to masters. I've certainly found it to be practical and accessible for a variety of projects.

      --
      #!
    3. Re:Not the Art of Electronics! by Hatta · · Score: 4, Informative

      I agree, if you're looking to master electronics AoE is a fantastic choice. If you want to get your hands dirty quick I'd recommend something like Practical Electronics for Inventors.

      You can always return to AoE when you're ready.

      --
      Give me Classic Slashdot or give me death!
  6. Bebop to the Boolean Boogie by draxbear · · Score: 5, Informative

    I recommend this annoyingly named book, which is an excellent cover-all on this and related subjects. Really did join the dots for me many years ago and it looks like it's now in its 2nd edition.

    http://www.amazon.com/Bebop-Boolean-Boogie-Unconventional-Electronics/dp/0750675438/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1210145164&sr=1-1

    (Any grammar nazi's able to show me how to tidy up that link? Or point me at the right place on here to find out please?)

    --
    --- I've completed diagnosis of your problem and can classify it as a YOYO...You're On Your Own
    1. Re:Bebop to the Boolean Boogie by Bogtha · · Score: 4, Informative

      You don't really need the quotation marks around the URL

      While this is true in this specific case, it's only because Slashdot automatically corrects your broken markup. You cannot use slashes in an attribute value without quoting it, and slashes appear in most URLs.

      --
      Bogtha Bogtha Bogtha
  7. The usefulness of textbooks by SkOink · · Score: 5, Insightful

    It might be that I'm not a particularly good student, but I've never really been able to learn from textbooks unless I already had at least some background knowledge about the subject I was studying. I'm a practicing electronics engineer, and I find that textbooks are a great reference. I also enjoy reading textbooks written on areas where I have some knowledge, but not enough.

    That being said, learning something like electronics or signal processing completely from a textbook would be really tough for me. I'm not saying it can't be done, but I think the original poster would be much better off taking a class or two than he would be trying to slug his way through something like the Art of Electronics.

    --
    ---- I'll take you in a Hunt deathmatch any day.
  8. Practical Electronics for Inventors by zobier · · Score: 4, Informative
    While I grew up with a soldering iron, inventing stuff and hacking hardware projects; I'm primarily a software guy. I find Practical Electronics for Inventors to be an excellent resource for the kind of projects you're looking into. Also you might consider getting yourself either an ATSTK500, the starter-kit for AVR micro-controllers (great tool IMO), OR a LEGO NXT.

    Happy hacking!

    --
    Me lost me cookie at the disco.
  9. Well... by evanbd · · Score: 4, Informative

    Much as you can't learn to program well without looking at programs more complicated than you'll find in any textbook, you need to study real world circuits.

    Whether you want to do digital stuff or analog, it's worth your time learning the analog stuff -- digital systems tend to break as a result of the underlying analog problem of circuit design.

    For example, Wikipedia has the internal schematic for a 741 op amp along with a decent explanation. Once you understand the function of every one of those transistors, you'll be able to really understand why it has both a gain-bandwidth limit and a slew rate limit, and what the difference is.

    The best source of real-world circuits I've found is the application notes and example circuits in data sheets published by manufacturers. Since they need the resultant circuits to work when engineers build them, they don't leave out the random extras that textbooks often do. Does that MOSFET need a gate resistor? A circuit in an app note will probably say, whereas an example diagram might well not.

    If your goal is to learn more in general, as opposed to solving a specific problem, I'd pay more attention to the author than exactly what they're writing about. For example, I can't recommend Jim Williams' design notes highly enough -- he's both an excellent engineer and an excellent author. Making Shakespeare a citation is the sort of thing that keeps his writing lively and interesting. Or rating circuit complexity in baby bottles as a measure of how long it took him to design and debug it. And, of course, he often goes into great detail about the *practical* considerations involved in precise, high-speed analog work -- especially as it relates to working at the lab bench, rather than with professionally printed PCBs and the like.

    I'm sure others will have excellent textbook recommendations. They're an important part, but only a part. Add some analysis of real-world circuits that you'll find in application notes, and a bunch of fussing around with actual silicon and a scope, and you'll be well on your way.

  10. Forrest M. Mims III by goodmanj · · Score: 4, Informative

    (I'm a physics professor teaching electronics to undergraduates this term.)

    I'll second Horowitz and Hill.

    But if you want a gentler sunday school introduction before you pick up the Bible, get "Getting Started in Electronics" by Forrest M. Mims III. This is the book I taught myself with, bought it from Radio Shack when I was twelve. Text-and-drawings done "lab notebook" style, very basic approach.

    You'll need Horowitz and Hill to get the math, but for basic concepts Mims can't be beat.

  11. By far the best I've seen by EmbeddedJanitor · · Score: 4, Informative
    is the SmileyMicro stuff: http://www.smileymicros.com/ It is basically a simplified course in a book, covering microcontroller programming, interrupts, interfacing, control etc using 8-bit micros. No special equipment needed beyond a soldering iron + PC (if you buy the kit with the book).

    Once you get through that you'll have a reasonable understanding of the field.

    --
    Engineering is the art of compromise.
  12. Bridge the gap between HW and SW by sankyuu · · Score: 4, Interesting

    You have to bridge the gap between bits and voltages. I don't remember the titles of my books, so I will include keywords (You're probably past steps 1&2? Working backwards from #4 would also work).

    1. Break down assembly language even further and look into OP codes as well as the FDOES (Fetch-Decode-Operands-Execute-Store) cycle. Think clocks and busses. [microprocessor architecture, bus architecture, instruction set, instruction architecture]

    2. Move further into details of how ALU and memory are implemented: how flip-flops are used to store state, and how ALU's adder circuits, etc. can be implemented using NAND gates. Know what a 7401 is. [digital circuit design, half adder, full adder, flip-flop, register]

    3. Then at a lower level, study how NAND gates themselves are implemented using transistors. Know about BJTs and FETs. [transistor electronics, electronic circuit analysis and design, BJT, FET]

    4. You can be happy at the transistor level, but to solder things that actually work (and at the same time, know what you're doing), you have to study electric circuits and power electronics [electrical engineering, power electronics, ohm's law, thevenin, kirchoff's circuit laws]. Know how to read the color bands on resistors and appreciate the cheeky mnemonics for BBROYGBVGW :)

    5. If you want to grind your own sand to make your chips and transistors, you may want to look up material science

    *Be careful not to inhale the lead fumes, lest you suffer brain damage :)

    Now if someone could recommend books for each stage...

    (It's hard to recommend self-learning hardware, because I was taught hardware and am self-learning Computer Science.)

  13. Get some old/broken stereo equipment by mrcdeckard · · Score: 4, Informative


    The better the quality, the simpler and easier the circuit.

    Get a receiver or amp that has a problem and mess with it. A receiver in "protect mode" is a good one since that pretty much means that you have a DC offset on the output. A bi-polar amp will drive you nuts, since *any* bad component will throw DC onto the output, but you'll learn a ton going through it. A mosfet amp is much simpler since they are more like tube amps in topology. Hell, for that matter, try to get ahold of an old tube amp. They are very simple and are a good way to get yer feet wet.

    Or an old cassette deck, like an old Nakamichi. Nobody wants them anymore (and they shouldn't, either), but they have a lot of cool control/motor circuitry in them. Especially if you get a hold of one that's discrete -- ie, all the logic and control is done with transistors.

    and get the service manual -- it'll have schematics and sometimes theory of operation.

    Oh yeah, the advice for the Navy Manuals is right on. Those are the clearest and most comprehensive books on the subject.

    mr c

    --
    "Physics is like sex. Sure, it may give some practical results, but that's not why we do it." - R. Feynman
  14. Make Magazine by Ghost-in-the-shell · · Score: 4, Informative

    Google Make Magazine! It is great for the DIY in you.

    --
    -Ghost
  15. Practical experience! by Alioth · · Score: 4, Interesting

    *Nothing* beats practical experience. Others have mentioned the Art of Electronics (which I have, and recommend as well). But practical experience is what really is the fun bits and what cemented it for me. I started from your position, and what I did was this:

    1. Solderless breadboard, and an assortment of transistors, resistors, capacitors, inductors, 555 timers, op-amps etc. Do some simple circuits with them - make logic gates with BJTs and resistors, then do the same with mosfets (construct some CMOS gates out of discrete transistors for instance). Experiment with power supplies - buck converters to step DC voltages down, boost converters to step voltages up. Make sure you have several of each, because you'll probably let the magic smoke out of some of them.

    2. Decide on a simple practical project. I chose to make a solar power system for my garden - an 80 watt pv panel sourced from ebay. The first project was to turn on lights at night from the battery that had been charged by the panel in the day. This consisted of a voltage comparator to detect when the solar panel voltage had fallen below a certain level. The output is connected to a power transistor that turns on the lights.

    3. More complex stuff. Get a heap of 74 series or 4000 series logic ICs and make something with it. This will teach you how the real world has a nasty habit of creeping into your digital designs: glitches, why we need decoupling capacitors, synchronizing clocks, that kind of thing. I built an RS232 nixie tube display. It had no microcontroller - the UART was entirely implemented in 4000 series logic. I built it on tri-pad proto board. This required me to learn how to build several things: a simple switch mode power supply to boost 12v to 170vdc for the tubes, as well as the UART.

    4. It is your fate to home brew a computer. My next project was a Z80 based single board computer on 160x100mm (Eurocard). It has a CTC, PIO, real time clock, paged memory, 512k of flash memory and 32k of RAM, and an expansion connector. The flash was initially programmed by a similar circuit to the nixie tube UART, but with a simple address generator circuit added. Once the initial program was written, the Z80 system could write its own flash.

    I'm now up to the stage where I'm doing more challenging designs, such as an ethernet card for an 8 bit system, implemented almost entirely surface mount components, the glue logic being in a programmable logic chip called a CPLD (the little brother of the FPGA). There are even more real world considerations that mess with digital design here: how to avoid ground bounce, PCB layout considerations to make the board work at all, and also a good bit of real fun programming: writing a driver for it in assembly language :-)

    There's a great deal you can do as an electronics hobbyist: for example, you can make your own PCBs for fine pitch surface mount components if you have access to a laser printer: I've made my own PCBs for chips with 0.4mm pin pitch (that's 0.2mm traces and 0.2mm spacing) using nothing but gEDA PCB (which is GPL'd PCB layout software), a laser printer, a clothes iron, copper clad board and etchant. Sparkfun Electronics have some great tutorials on hand soldering surface mount components, by the way. As you progress, you'll want to be able to do this because there are a lot of interesting ICs that are only available in some sort of surface mount package.

  16. Applied Engineering Principles by AllynM · · Score: 5, Informative
    As another former Electronics Technician / Reactor Operator in the navy, I can suggest this wonderful reference:

    http://www.usna.edu/EE/ee301/internal/Applied_EngineeringPrinciples.pdf

    Chapter 1 covers electrical, chapter 2 covers electronic. The remaining chapters dive into nuclear power field topics (chemistry, mechanics, reactor theory - also very handy for those interested in 'just the facts' for those topics). This reference is about as technical as it gets without venturing into "If I told you I'd have to kill you" territory.

    It's awesome that the Naval Academy has an unclassified version out there...

    --
    this sig was brought to you by the letter /.
  17. Don't forget circuit theory! by AdamHaun · · Score: 4, Informative

    The Art of Electronics, which many people have recommended, is a well-written book, but it comes with a couple caveats. First, it is twenty years old, which means it spends a lot of time on topics that aren't as important today (JFETs, for example). Second, and more importantly, it's an electronics book, which means it's intended to be read after a corresponding class in basic circuit theory. Electronics is the study of how semiconductor devices are used in electrical circuits, not the study of electrical circuits in general. While the first chapter of AoE does offer a review of circuit theory concepts, it's pretty terse. If you're good at calculus and want a good textbook, try Engineering Circuit Analysis by Hayt, Kemmerly, and Durbin. This may be a bit more work than you're looking for, but one of the things you quickly learn about electricity is that it's pretty abstract (being invisible and all), and visualization aids like LEDs and even expensive test equipment don't help as much as you might think unless you already have an idea of what's going on. If you're just doing digital circuits you can get by with less, but for anything remotely analog, knowing the theory helps a lot.

    --
    Visit the