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?"
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.
Sean Ellis
Follow OfQuack's antics on Twitter.
Here is a great online book that starts with basic electrical principles and works up to semiconductor and digital circuit stuff. It is wonderful.
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
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
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.
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.
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>
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!"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!
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?
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.
4 (ie T224) in the school of informatics.
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?C01T22
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
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