Slashdot Mirror


Learning Hardware as a Software Geek?

digitalvengeance asks: "I'm a long-time software geek with very little experience on the hardware side. I've configured servers and built various desktops for friends and family, but I'd like to move to the next level. I assume I need to purchase a breadboard to begin tinkering, but is there a particular kit I will find more useful than others? What books, sites, or other resources can the hardware geeks recommend for a software geek wanting to learn the basics of electronics and hardware?"

16 of 55 comments (clear)

  1. A Book Recommendation by seanellis · · Score: 5, Informative

    If you're going to do anything outside of just digital electronics, then I thoroughly recommend "The Art of Electronics" by Paul Horowitz and Winfield Hill, Second Edition. Cambridge University Press, ISBN 0-521-37095-7.

    It starts off with the real basics, and has a very readable style and lots of practical advice.

    It's pretty expensive (about $50) but well worth it. If I'd had this at University, I would have done a whole lot better in my practical electronics courses.

    1. Re:A Book Recommendation by Twylite · · Score: 2, Informative

      For digital electronics, O'Reilly's Designing Embedded Hardware is brilliant. I have the first edition, and it takes you through digital circuits with practical examples of putting together AVRs and other small chips with memory and peripherals. It doesn't cover FPGAs or VHDL though.

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  2. Lessons in Electric Circuits by jpmkm · · Score: 5, Informative

    Here is a great online book that starts with basic electrical principles and works up to semiconductor and digital circuit stuff. It is wonderful.

  3. Next step by mnmn · · Score: 4, Informative

    For one, you should know about passive analog electronics. Build an AM radio or something.

    Next step, is to go digital. Buy a couple of PIC or AVR microcontrollers and build some simple stuff. You'll get to write assembly code (or even in C) and upload the code to the chip and run it there. The pic can be interfaced with ethernet, audio chips, flash chips, LCD, camera CCD etc. Think of the possibilities.

    If the PIC is tough, just use the simplest PIC16F54A initially, or even just use a BASIC stamp. Make a set of blinking lights to begin with, and download the test code first before writing code.

    After the 8-bit level, you can buy the powerpc or ARM kits from olimex.com or ebay, and with enough flash, sram and boot code, try to boot netbsd, linux or something similar.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    1. Re:Next step by Usquebaugh · · Score: 2, Interesting

      Ignore the analog stuff. As a software guy he can handle digital far easier. Analog may be needed later but it really is chalk and cheese.

      I myself went through the same thing a few years ago. Been a prog for 20+ years and needed a new challenge. I bought a LARGE breadboard and some discrete logic chips, leds, dip switches. Built a bunch of nand, and or etc circuits. Played around with 555 circuits. Then went into PICs, pretty easy to interface and pgm.

      The easiest way for me to learn is to build something simple and then build on that. I only refer to books when stuck. There's plenty of info online and it's really not that hard.

      I'm currentlyt working on my ham licsense, morse on QRP :-)

      If you wish to buy components check out ebay, I have thousands of components for about $200, if I had bought them at retail it would have cost me thousands. Also I'm not scared if I smell that something is burning, it only cost me pence not $$$s.

    2. Re:Next step by mnmn · · Score: 2, Interesting

      I personally think the analog is quite important, from experience. Many a times in my digital experiments, things didnt work for analog reasons.. busses too long, wrong metals, interference, voltage stuff, and it becomes more interesting at higher speeds and in DSPs and DACs and ADCs.

      Even for the PICs they direct you to use RC oscillators, and that can have consequences from the change of temp, part inaccuracy etc.

      Youre right about not buying stuff retail. I bought a soldering iron from radioshack and regretted it. For passive parts, its best to buy assorted bulks from active, jameco and digi* etc. Later on, more advanced parts become harder to buy in small quantities, like the EP7312, and they dont come in DIP format either. Thats when you know youre an engineer.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  4. Read Forrest Mimms books, get a ham radio license by n1ywb · · Score: 3, Informative
    Ok first of all, Forrest Mimms rules. He wrote those little "Engineer's Mini Notebooks" you used to be able to get at Radio Shack (maybe you still can, I'm not sure), they're small, easy to understand, chock full of GREAT electronics projects, and best of all cheap. Also his amazing book Getting Started in Electronics is probably the best introduction to electronics ever. You can find his stuff on his web site at http://www.forrestmims.com/

    Second of all get your ham radio license! Buy a copy of Now You're Talking! from the ARRL and study up! Amateur radio is approximately 50% applied analog and digital electronics, and don't think all that communications theory stuff doesn't apply to computers because it does, RF knowledge is CRITICAL to engineering high speed digital circuits! Get involved with a local ham radio club and start building ham radio kits and projects. Other than working in an electronics lab, it's the best way to get applied electronics experience quickly.

    I'm n1ywb and that's my two cents.

    --
    -73, de n1ywb
    www.n1ywb.com
  5. Program an FPGA... by PaulBu · · Score: 2, Informative

    You can get an evalkit from anyone of top FPGA vendors for a $hundred or two (for example), program it in VHDL (if you were doing software for a while it will be quite easy for you, just another language -- actually if you've ever done Ada it will be very easy, it is basically the same), compile VHDL program, load it into the board (they come with USB, parallel or plain old serial links) -- and here is your first special-purpoise hardware device! ;-)

    Now, the problem is to figure out what do you want it to do.... ;-)

    Paul B.

  6. Designing Embedded Hardware by prostoalex · · Score: 2, Informative

    For an introductory title Designing Embedded Hardware is pretty good. It doesn't go into specifics, just introduces terminology and explains the things you need to know.

    1. Re:Designing Embedded Hardware by johncatsoulis · · Score: 2, Informative

      I think Designing Embedded Hardware DOES go into specifics (I should know, I wrote it!) - 400 pages of example circuits and how-tos. From 8-bit controllers to 32-bit systems and DSPs. Serial ports, USB, ethernet, motor control, analog I/O, CAN, SPI, I2C, RS485... etc, etc. What more do you want? Sheesh! jtc

  7. Two must haves: by darkjedi521 · · Score: 2, Informative

    A good multimeter (digital or analog, your call, each has its advantages), and a good logic probe.

    The multimeter is good for simple diagnostics (checking the power supply, checking a circuit for shorts, and troubleshooting analog inputs). The logic probe can make or break a project. This is assuming its mulitple chips and not a single FPGA>

  8. Dabble not with the hardware side by WolfWithoutAClause · · Score: 3, Funny
    Quicker is it. Surer. Faster. But soul consume it could.

    Knew once I a software engineer that dabbled in the hardware, and destroyed him did it.

    "How do I know the difference between hardware and software, it's all digital isn't it?"

    When alone and peace at are you, clear it will be. Or you could always ask a systems engineer.

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  9. Re:Read Forrest Mimms books, get a ham radio licen by hankaholic · · Score: 2, Informative

    I tried to get back into it a few years ago and was disappointed to find out that none of the local Radio Shacks had any of the Engineer's Mini Notebooks. The folks at the counter hadn't heard of them, either.

    Just two weeks ago a friend serendipitously returned something that I'd lent and forgotten about -- Mims' "Getting Started in Electronics", which the cover tells me was published exclusively for Radio Shack. It was a great introduction to electronics and covered enough theory to make it worth reading even if you didn't actually make anything functional.

    It's definitely looking for a copy, or writing to Radio Shack to see if they know of any sources. It probably set me back about $10 at the time, and is a great introductory handbook.

    --
    Somebody get that guy an ambulance!
  10. I think you need a project first.... by GrpA · · Score: 2, Insightful

    Otherwise you might as well leave your objectives at soldering.... Choose something you actually want to do with hardware and progress down that path.

    The objective you choose will define the path you need to take.

    I started with wanting to build a Joystick interface for Sinclair Spectrums back in the mid-eighties. So then I went out and got books on microprocessor interfacing and spectrum architecture. The learning was simply a natural process then.

    There is plenty of fun hardware stuff you can do. Hack a cheap 2 channel radio control into a 10 channel monster with a mini PC in charge ! Build a set of servo's to control a camera remotely ! But choose something you actually wanted to do, or you will just waste your time doing stuff that seems pointless.

    I'd second the suggestion of getting some Forrest Mimms stuff. The books seem kind of basic, but they are good... I used to keep them in my reference library way back when I was employed as a serious R&D Engineer as a quick reference to some stuff I was uncomfortable with.... (I was mainly digital, and only sometimes dabbled in analogue).

    Also, the Electronics Cookbook is a more serious text that is very useful. Especially if you start to get into more powerful circuits or RF.

    After that, you'll need more specific texts that relate to what you are doing.

    And as every great hardware hacker knows, if you have a need, the knowledge will slowly present itself. It's the one fixed law of the universe.

    David.

    --
    Enjoy science fiction? "Turing Evolved" - AI, Mecha, Androids and rail-gun battles. What more could you want?
  11. Open University course on microprocessors by pbhj · · Score: 2, Informative

    I took http://ict.open.ac.uk/courses/t223/ at the Open University (the largest UK based university!). They do world-wide correspondence courses - sadly I don't think the hardware courses are available outside the EU, but this may help someone else here.

    It seems (M)T223 has been stopped now, but you may find something else there that is useful. The replacement is http://www3.open.ac.uk/courses/bin/p12.dll?C01T224 (ie T224) in the school of informatics.

    T223 was a top down look at microprocessors starting with the C programming language, then look at compilation, instructions, microcode and logic to understand how programs are converted to impulses. The course used a serial (RS232) connected thermometer to aid study of some of the hardware aspects.

    If you know software then it might be a little basic for you - but you could try for a level-3 course.

    HTH

    pbhj

  12. Everything you need to know about hardware : by Glonoinha · · Score: 2, Funny

    Sound card on IRQ5, because nobody has two parallel printers.
    COM 1 and 3 on IRQ4,
    COM 2 and 4 on IRQ3. Don't ask me why.
    Orange and White, Orange, Green and White, Blue, Blue and White, Green, Brown and White, Brown. (Sing to the tune Mary Had A Little Lamb.) When the times comes, you will know why that is important (hint: network cabling.)
    The IDE hard drive closest to the motherboard on the cable is the slave, the one on the far end of the cable (or the only drive on the cable, if there is only one) is the master. Bitchslap anybody who says otherwise.
    The red line on the cable goes towards the power connector or towards the front of the case.
    Black wires together when putting the cable from the power supply to the motherboard.
    ARCnet isn't picky, you can use two coathangers (metal) to transmit signal as long as they don't touch.
    On the Intel vs. AMD - I don't care, just pick one and stick with it.
    nVidia video card are better simply because they all use the same drivers so upgrading doesn't require anything more than swapping the old card for the new one.
    It used to be cheaper to build your own, but that isn't the case anymore.
    Anybody that adds lights to the inside of the case, or a see-through panel or neon or anything like that is a pathetic loser and isn't worth your attention.
    Pay special attention when wiring the power supply to the switch on your new case. The wires aren't keyed and you can cause a wicked short if you don't get it right.
    Twist two wires together, use the iron to get the wires really hot, put the soldier on the hot wires. If the wires aren't hot enough to melt the solder then heat the wires hotter, don't use the iron to melt the solder.
    Don't eat the solder, not even a little.
    Static electricity kills hardware. Wear a grounding strap, spray the carpet with fabric softener.
    Enable the encryption on your wireless point.
    You can tell if a 9v battery has power by touching it to your tongue. Don't try this with anything plugged into the wall.
    Exotic cooling and overclocking are like hooker sex. Expensive, and you don't really get anything you wouldn't get anyways if you were patient and waited a few months, except maybe a fried PC / PeePee.
    If you have to choose between $200 worth of processor upgrade or $200 worth of additional memory, go with the memory.
    If you can't tell the difference between two systems / components / configurations without a stopwatch, they are equally fast. A 4.3% advantage isn't really faster. 300%, now THAT's faster.

    --
    Glonoinha the MebiByte Slayer