views:

685

answers:

8

I've always wanted to have a better understanding of what is happening at the hardware level. As a practical level, anything after compile equals 'magic' and I'd like to remedy that.

I'd like to investigate building circuits and then moving up to assembly programming on basic chip sets, both for my own sake and also for my son's, as something we can learn together.

I've looked at some of the "snap circuit" kits, but to be honest, they don't interest me.

Suggestions?

Edited Note: Thanks to everyone who responded.

+3  A: 

http://www.nerdkits.com/

I am in no way associated with these guys, but their products look cool. And it seems to be what you are looking for.

grieve
They *do* look cool. I think they'd suit the OP too as they seem to be focused on the digital side of electronics.
Marty
+8  A: 

I would recommend looking at the course The Elements of Computing Systems. Most of the material you need to complete the course is online and the textbook is inexpensive (I paid about 50.00 USD for my copy).

The course takes you through constructing a basic computer system from the NAND gate on up. All of the labs are done in simulation software and it would not be a large stretch of the imagination to convert it to actual hardware (using VHDL).

There is also a Google Tech talk on the the course.

http://video.google.com/videoplay?docid=7654043762021156507

If you want to dive in deeper than digital electronics (logic gates) and learn about analog electronics (the transistors and other components that gates are constructed out of), and the physics behind electricity I recommend Teach Yourself Electricity and Electronics

Andy Webb
I cannot possibly recommend this book HIGHLY enough! I just discovered it and am absolutely in love with it. However, I would recommend that you first read CODE by Charles Petzold. TECS glosses over a few topics that you'll still want to know. Regarding price, I paid <$25 for TECS on Amazon (http://www.amazon.com/gp/product/0262640686). Amazon also has CODE for <$13 (http://www.amazon.com/dp/0735611319)
Dinah
Code is a very good book :)
Andy Webb
+1  A: 

You can start with PIC prototyping kit. These are small programmable control chips, One source is Apogee Kits

Jim C
+1 and there are many. another is ccsinfo.com, of course microchip.com and more....
kenny
A: 

The PICkit 2 Starter Kit is pretty nice.

jussij
+1  A: 

I voted for @Jim C. But I saw this link today on hackaday.com that may interest you for playing with.

kenny
This is a nice quick simulator. Thanks for sharing it :)
Andy Webb
+1  A: 

First, learn some basic electrical theory - resistive networks, measuring voltage and current, Ohm's law, and the basics of diodes and transistors.

Buy a few lamps, resistors, LEDs, transistors, and of course wires and wire strippers, electrical tape, batteries and preferably a multimeter. Mess around with some basic circuits. You might like to put some nails in a board and use that to help you out. Making an electromagnets can also be fun, especially for young ones. The components are pretty cheap so don't worry to much about accidentally burning them out - it's just a lesson learned.

The real magic happens when you create a circuit with a few transistors that feed off each other, such that when you flip a switch, a light comes on, and when you unflip the switch, the light stays on.

Once you've reached that point it's probably time to move away from those "low-level" components and start using pre-built chips, like NAND gates and potentially more complex integrated circuits.

An interesting approach from the programming side is to write a small program in assembly language that gets loaded when the computer boots. A "Hello World" operating system, if you will. And then expand it a bit. Use an emulator/debugger such as Bochs to save you time when testing, but then do the fun part: create a bootable floppy disk and let the computer boot off it! You may wish to have a look at this.

Artelius
+1  A: 

Really, the hardware level is electrical engineering. Computers are complex clocked synchronous digital electronic circuits. Software is built on this hardware platform.

The EE in me thinks that you might want to consider getting a copy of The Art of Electronics by Horowitz and Hill. A lab manual is available. Possibly more information than you want to know, and definitely a big, fat, heavy book, but also a very good introduction to electronics that does not require advanced math. You shouldn't read it in one sitting. Digital and analog electronics are covered, as well as microprocessors.

The only criticism I have is it is a bit dated -- the integrated circuits discussed are now pretty old. The basics and the theory is still sound and well done, and a new edition may be in the works.

The books website: http://frank.harvard.edu/aoe/

The books Wikipedia page: http://en.wikipedia.org/wiki/The%5FArt%5Fof%5FElectronics

Building circuits in the real world great fun, and quite different than computer simulation.

gdimike
A: 

You might also look into at SchmartBoard. They make some really good snap together pcb boards which makes working with the tiny stuff easy.

Chris Lively