Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Education Hardware Technology

Learning Hardware as a Software Geek? 55

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?"
This discussion has been archived. No new comments can be posted.

Learning Hardware as a Software Geek?

Comments Filter:
  • by seanellis ( 302682 ) on Tuesday June 07, 2005 @05:52PM (#12752108) Homepage Journal
    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.
    • hear hear,

      That book was our univeristy text, great stuff. I sat and read it cover to cover rather than wait for the the course to set the pace.

      I would also rettpcommdn one of these kits [maplin.co.uk]. The 300 in one kit and it's ilk are particularly neat: a load of bits and bobs and solderless joints, they have springs that you put the connecting wires into. Good fun to get you going.
      • Really?
        Don't get me wrong, I love the book, I just didn't have it pegged as an introduction book. But then I don't know a good introduction book for all of electronics.
        What I use AoE for is a quick refresher on a subject when I can't be bothered going back to my uni notes.
        I'd like to ask a question back to the origonal post, good introduction to what? Electronic Engineering? Hobby digital electronics, hobby analog? Audio or Control? Theory or practice?
        What do you want to achieve? solder together a few examp
    • I strongly recommend you also get the student handbook that goes with the "Art Of Electronics". Turns the theoretical stuff into lab-style practical examples. **very** useful.
    • For digital electronics, O'Reilly's Designing Embedded Hardware [oreilly.com] 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.

  • by jpmkm ( 160526 ) on Tuesday June 07, 2005 @05:57PM (#12752158) Homepage
    Here [ibiblio.org] is a great online book that starts with basic electrical principles and works up to semiconductor and digital circuit stuff. It is wonderful.
  • Next step (Score:5, Informative)

    by mnmn ( 145599 ) on Tuesday June 07, 2005 @06:05PM (#12752248) Homepage
    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.

    • How would you recommend learning to build the stuff you talk about? I would prefer a book, but other mediums are acceptable if there aren't any decent books for that type of thing..
      • Dont know about books, I cant learn from books. I just take the equipment, manuals, and aim to build something and read along whatever I need to know as I go along. I setup pretty ambition projects some of which can be months, but it feels more interesting than books.

        But thats me.

        I cant come up with many books beside PDF datasheets of the devices, sample circuits online and in popular electronics, and quite possibly the textbooks of electronics courses of reputable universities like MIT.
    • Re:Next step (Score:3, Interesting)

      by Usquebaugh ( 230216 )
      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 som
      • Re:Next step (Score:3, Interesting)

        by mnmn ( 145599 )
        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 reg
    • I would definitely rate the Atmel AVR series higher than the PICs. They have a more modern architecture internally, and run faster at the same clock speed.

      The Atmel ATMega8 is a wonderful beginner's chip. It's cheap at about $5, and it has on-board clock and reset circuits, so you really do only need a 5v supply and some programming hardware. It also has at least one of most of the peripherals available in the AVR architecture: ADC, timers, USART, SPI interface, I2C interface, symmetric digital I/O, watchd
  • http://www.xgamestation.com/about_gamestation.php/ [xgamestation.com]

    Great learning tool.
  • by n1ywb ( 555767 ) on Tuesday June 07, 2005 @06:13PM (#12752305) Homepage Journal
    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/ [forrestmims.com]

    Second of all get your ham radio license! Buy a copy of Now You're Talking! [arrl.org] 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.

  • Program an FPGA... (Score:3, Informative)

    by PaulBu ( 473180 ) on Tuesday June 07, 2005 @06:14PM (#12752322) Homepage
    You can get an evalkit from anyone of top FPGA vendors for a $hundred or two (for example [xess.com]), 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.
  • I know learning on your own gets you more hacker cred, but a class in electronics might be of real help. Oscilloscopes (especially digital ones), signal generators, various meters, myriad small components, microcontroler test boards, simulation software, and more all cost lots of money. A community college can often give you access to all these in addition to what is hopefully useful instruction. Try to talk to your professor and explain the background you have in digital technology, and try to test/qual
  • by prostoalex ( 308614 ) on Tuesday June 07, 2005 @06:29PM (#12752474) Homepage Journal
    For an introductory title Designing Embedded Hardware [oreilly.com] is pretty good. It doesn't go into specifics, just introduces terminology and explains the things you need to know.
  • Two must haves: (Score:3, Informative)

    by darkjedi521 ( 744526 ) on Tuesday June 07, 2005 @07:03PM (#12752803)
    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>
  • I recommend getting a copy of Horowitz & Hill's "Art of Electronics" book. It's a good read - also get the "laboratory book" (whatever it's called), which is really a fun read and has some experiments listed. Art of Electronics at Amazon [amazon.com]
  • by WolfWithoutAClause ( 162946 ) on Tuesday June 07, 2005 @07:53PM (#12753209) Homepage
    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.

  • Start from where you are - software - and take baby steps. Start with a Basic Stamp microcontroller board, you can get them from Digikey. Now add peripherals that light up LEDs, cause interrupts from push buttons, then on to driving LCD displays or scanning a keyboard matrix. Then go on to D/A controllers for sounc, PWM for motors or servos, and you are on your way to hardware uber geekdom.
  • Best price I've seen on this: http://www.elexp.com/kit_x909.htm [elexp.com]

    If I remember correctly, ads in Nuts & Volts and Circuit Cellar magazines list these at around $179.

    http://www.nutsvolts.com/ [nutsvolts.com]
    http://www.circuitcellar.com/ [circuitcellar.com]

  • Start with the Radio Shack X in 1 kits. (X=100, 200, etc.)

    The closest thing I could find on the web site was the Electronics Learning Lab [radioshack.com], but the old style project kits [ebay.com] are still around.

    • Long ago and not-so-far away, I started with these kits as well. My biggest problem with them was that they were usually structured with the left side of the page containing some text about what the cool project you were doing would do and what you could do with it, and the right was the wiring layout. There was no explanation about why you were hooking up most of the wires, what you were doing, or why if you changed to a different resistor everything stopped working. I never felt like I got anything out
    • I must be more dense than your average geek, but I had many of this kits as a kid and never could learn a damn thing from them. I could hook up the projects and they worked fine, but never did learn why it worked or now to design my own projects.
  • by GrpA ( 691294 ) on Tuesday June 07, 2005 @10:38PM (#12754236)
    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.
  • Most of the posts seem to suggest a big bang approach (diving into analog). While analog is the interesting side, I'd suggest starting with a handful of simple logic chips, work up to a mux/demux, maybe build a little digital clock (assuming old fashioned LED's can still be got). The nice thing about digital is its predictability: when things don't work, you can usually just review your schematic and find the gate you didn't wire properly.

    Analog can be a bitch goddess: variations in resistive, capacitive,

  • I took an intro to logic design course a few years ago(EE student), and as a easier-to-understand reference for the simpler topics, I got this book.
    bebop to the boolean boogie [amazon.com]
    It was nice for an introduction to logic design, and the simpler parts of computer hardware. I later went on to learn about(and program) FPGA's, and do some analog stuff. ...but most of my projects now are microcontroller based.

    Personally, I think the best way to learn is on a project basis. Pick out something you want to make(


  • Beware the programmer that carries a screwdriver. Retreat quickly if they carry a soldering iron.

    -Adam
  • by pbhj ( 607776 ) on Wednesday June 08, 2005 @10:30AM (#12757341) Homepage Journal
    I took http://ict.open.ac.uk/courses/t223/ [open.ac.uk] 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 [open.ac.uk] (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
  • Hook battery-powered stuff to the parallel port on your PC - LEDs, buzzers, HV power supplies connected to your brother's doorknob, etc. Once you do a few simple things and get them working you can decide on bigger projects.
  • by Glonoinha ( 587375 ) on Wednesday June 08, 2005 @05:43PM (#12762238) Journal
    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.

Scientists will study your brain to learn more about your distant cousin, Man.

Working...