Hacker News new | comments | show | ask | jobs | submit login
Ask YC: Learning circuit/hardware; lab book?
37 points by Emmjaykay 3488 days ago | hide | past | web | 35 comments | favorite

I've been wanting to get into hardware type projects (robots, gizmos, etc) for a while but I'm fairly ignorant of hardware. I'm a software developer by trade. I've seen books like "The Art of Electronics" and "Teach Yourself Electricity & Electronics". But what I really need is a book of project/tutorials, that upon completing them, I can honestly say I am very, very familiar with electronics.

Is there such a book?

Learning electronics was much, much, harder for me than programming. Electronics seemed magical. I couldn't break complex circuits into the little components, circuits didn't seem to be built hierarchically. I felt like, if a circuit designer wrote code, you'd have one big function with no loops and minimal branching. First thing to keep in mind -- that's not true. It's just hard to see the components until you get familiar with them.

But, to answer your question. You _need_ The AoE. Read it over and over and over again. Look at Forrest Mims books. Your local technical library should have some.

The most important thing (not mentioned) is your lab. Mims books basically beg you to build his circuits. At minimum, a power supply and multimeter. Consider adding an oscilloscope* and function generator. I have a lab at home, basically everything purchased off of ebay, it's great. You'll need components. These are expensive, I have several bins of components at home. Handy to have when you think of an experiment to perform. If you live in the bay area, go to weirdstuff warehouse. You could film wargames 2 in that place.

If you really don't want to invest in a lab, an alternative (might) be the software package "multisim." Multi-sim lets you hook stuff up in software, and simulate the output. I've heard this tool helps students learn circuit design. But I've never used it.

good luck

* Just learning how an oscillscope works, and how to use it will teach you more than you can imagine :)

Someone else mentioned this but I want to give another boost for the lab manual for the horowitz and hill's art of electronics - it's a little dated but still a great resource. For example I remember doing the project where you build a simple analog to digital converter. I had read the theory behind these devices many times without comprehension, but building the project illuminated it.

I've also found the ARRL handbooks to be extremely helpful for getting RF and microwave projects to work without sinking huge amounts of cash on expensive equipment like vector network analyzers.

I didn't realize that the Hill/Horowitz book also has a companion lab manual. It looks something like I would like to have. Some of the books in the ARRL store look neat, too. Thanks!

Digital and analog circuit design are art-like activities and doing them with grace requires knowledge of many other levels of abstraction all the way down to physics.

It is possible to lack these fundamentals and become a decent designer by doing design and filling in the gaps as you go but that is the exception and not the rule. And I have only ever seen this exception happen with the help of a real-life mentor and access to some fancy lab equipment.

It should be possible to formulate the teaching of EE into a more project-oriented manner but you need to realize this would be a nontraditional approach. When I studied for my EE degree we followed a program that has been roughly constant since the 1960s, starts close to the bottom and expands in both directions at the same time. They sprinkle design in the whole time but you do not get to do full designs until junior and senior year.

So finding this book might be tricky because EE is traditionally taught in a completely different way than you would like to approach it.

One thing worth looking into would be a class at a local college taught for either local motivated/gifted HS students or for physics majors which teaches you a bunch of practical EE stuff. The class would be lab oriented. Teach you the use of test equipment, building and debugging circuits, some theory. Objective is to get you into a place where you would have some hope of being able to come up with designs and make them work without having all that "foundation" knowledge. This would help you get to the point described above as you would have your mentor and access to the equipment (at least for the duration of the class-- make the most of it!)

If you are local to Boston the Harvard Extension School used to offer two such courses-- one for digital and one for analog. I believe the courses were designed by the author of "The Art of Electronics" and in fact used that text. (I did not take them but a friend of mine did.)

Neato, you can still take those classes; poke around http://www.extension.harvard.edu/ for:

* PHYS E-123a Laboratory Electronics: Analog Circuit Design * ENSC E-123 Laboratory Electronics: Digital Circuit Design

Happy hacking!

The hands on approach definitely appeals to me. I've thought about a local community college but the hours are not compatible with work.

I guess I could n ot worry about details but part of me is genuinely curious about how that stuff works. :)

Sorry if this is a bit off-topic, but I've had an idea for an online game that would secretly teach you circuit design. In the game, you would build a series of water pipes to preform a certain tasks for each level. The amount of water in a pipe would be voltage, and how fast the water flows would be current. The game would start off very simply, and after "beating" a level, you would get more devices available to complete the tasks.

That's a really neat idea. I'm a programmer, and I wouldn't mind brainstorming with you if you wanted to try and put together a simple implementation. I'm just thinking that implementing components like resistors, diodes, and what-not sounds like a lot of fun.

Sounds good. I myself am a newbie programmer; just recently started to learn RoR. I'm busy with my startup, but I think it might be worthwhile to kick some ideas around. Drop me an email if you get a chance (my email is in my public profile).

Not at all! As an aside, http://www.mmoworkshop.com/trac/mom/phpbb might be of interest but it is mostly kits for MMOs

Wouldnt amount of water be more analogous to current, than voltage?

I have to admit I'm not an EE by any stretch of the imagination, but if you look at the definition of amperage (the amount of current that flows past a given point in one second), I think it's most analogous to a water current.

I know you asked for books, but I'm going through this course with my ipod--it's good:


I lof the OCW! Thanks!

You may want to get started by jumping into the BasicStamp world. The advantage is that it is programmable, so it's be straightforward for you to make it "do stuff".

Get it with the development board and you can make LEDs blink, drive a LCD panel, etc. Grab a high-level book on robotics and bam! it'll quickly click how all this fits together.

It's high-level way to start, but a great way to dive into the hardware world without worrying too much about hardcore hardware stuff. (Which, as a fellow software hacker, is pretty boring! I want stuff I can code!)

I've seen the BoeBot and it is quite adorable. I was wanting to put my software skills to a real test, though and I don't know if there is enough space on a BasicStamp chip. But it does seem like a good place to start! Even, still, I need to be aware of how components come together if I want to do something fancy on the bread board (don't want to short stuff out,e tc).

I don't have any good books in mind, but I think you need to know what you're really interested in learning about hardware. Define "very, very familiar with electronics."

You might want to think about electronics on several level and topics:

- Board Level: Op Amps, Feedback Control Systems... etc.

- Chip Level IC design: Analog IC design, Bipolar/CMOS design... etc.

- Firmware: C, Assembly language...

...each of these topics are semester/year long courses on its own. I can recommend books in each topic, but have not seen a do-it-all, teach-it-all book.

as attack said, "the topic area is more broad than you'd think."

I agree, what is "very, very familiar"?

I would buy a circuit kit, like the one for 12 year olds, and you can knock out those projects pretty quickly, but they usually come with schematics and pieces for 100 projects or so. RadioShack sells them, but when you want to buy more parts, don't go there, go to Jamco or Digikey.

Learning Chip Level IC means learning how to reduce binary functions, there are many 'tricks' to this, and from my CS classes, they didn't really care much about reducing, and the EEs always did much better when it came to binary logic then the CS students. Also Figure out transistors, the circuits kit will have some transistor projects, and do a good overview, but learn the math and (some) of the physics here, it will help you understand.

After that, find some books on microcontrollers and or microcomputers. Figure out how RAM and ROM work (not necessiarly the internals) and program some.

I've heard great things about the Arudino, but I've never used it. I started off on the PIC series, and then to Motorola 8bits and Coldfire 32Bits, both of the last two, you can program in C, so no real assembly is required.

I agree with yangyang2, as far as a do it all approach, you probably aren't going to find it..

The Arudino looks neat. I will definitely keep it in mind. I have taken digital electronics while in college and do remember k-maps and so forth, so it should hopefully not be too far ahead of me. :) Thanks again!

This seems like a neat way to break it down. Thanks for your suggestions!

I didn't know much about this stuff either here are some websites I found that were helpful in getting me started.

http://www.sparkfun.com has a lot of cool electronics type stuff to learn with. http://www.batchpcb.com to manufacture custom circuit board designs for cheap (2.50 per/sq in). If you want to design something simple FreePCB is super easy to learn http://www.freepcb.com/

YouTube has a lot of videos on how to solder if that interests you.

For FPGAs http://www.fpga4fun.com/ and http://www.knjn.com/

Other cool hardware related sites... http://www.curiousinventor.com/ http://www.gumstix.com/ http://www.cmucam.org/ http://www.electronics123.com/

Hurray for lots of of links!

I tinkered with FPGAs in college as part of my digital logic class. I remember reading about Hugo De Garis's work with them and they sound neat.

I could probably list off $15,000 of Electrical Engineering course text books, but for getting into "hardware type projects" they really won't get you very far. You'll learn far more (and far more quickly) by finding more hacker oriented resources that will bootstrap you with absolutely necessary information and skip the rest.

# Introductions #

To begin with, Sparkfun[1] has a bunch of tutorials, including a great introduction to embedded electronics.[2] This encompasses much of what you'll need for basic hardware projects.

As someone with a software background, the Arduino[2] is a great platform to start playing around with hardware. It acts as something of a bridge between software and hardware hacking by allowing you to program a micro-controller in a (relatively) high level language, and abstracting away a lot of the messy hardware details. This not only lets you start getting simple things done quickly, but also allows you to easily interface with virtually any other hardware modules you can come up with so you can push the boundaries of your knowledge. By making experimentation cheap, it strongly encourages the best types of exploratory learning.

# Projects #

Beyond the project tutorials listed on Sparkfun, OpenCircuits[3] is a great resource for more project ideas. Hack a Day[4] is often a good resource for inspiration, and the venerable Make[5] seems to always have something interesting.

# Sourcing Parts #

Sparkfun[1] is a terrific online electronic components store. It is extremely hacker friendly, having been founded to serve preciecesly that group. For some items the prices may be slightly higher than at Digikey[5], but this is more than made up by the fact that they have sorted through the bewildering number of seemingly-identical components available.

If you know exactly what you need, and especially if you can't find it through Sparkfun, Digikey is your friend. They have everything. And its uncle. The site is aimed at commercial designers who know what they're doing, so navigating the site isn't easy. If you're browsing without a specific component in mind, Digikey isn't the right place, but Octopart[7] might be. Its a search engine for electronic components that checks availability and compares prices of different retailers and also has some features to organize project shopping lists.

When buying electrical components, always buy plenty extra. You will burn things out. Five times in a row. Unit costs are cheap enough that its worth having lots of spares on hand.

As others have mentioned, this is a very broad topic. If you give us more details on what it is you're looking to learn, we'll probably be able to give more useful answers.

Good luck!

[1]: http://www.sparkfun.com - Well organized, hacker friendly

[2]: http://www.sparkfun.com/commerce/hdr.php?p=tutorials#BEE

[3]: http://www.opencircuits.com

[4]: http://www.hackaday.com/

[5]: http://www.makezine.com

[6]: http://digikey.com - Huge selection. Great if you know what you want.

[7]: http://octopart.com/ - Electronic Component search engine

Wow! lot sof links + text. Thank you for this information!

Have you looked into MIT's open course ware stuff?


That is probably a good place to start although some background with physics and differential equations might be helpful.

One of the best resources for getting a practical handle on electronics is the ARRL Handbook. They've released a version every year for many years now.


By the way, The Art Of Electronics has a pretty nice lab manual that goes with it....

This book may help as a starting point assuming no prior knowledge, you could work from there to an O'Reilly hacks book. A Peek at Computer Electronics: Things you Should Know http://www.pragprog.com/titles/ctelec

If you've got some basic eletronics knowledge I highly recommend "Designing Embedded Hardware": http://www.oreilly.com/catalog/dbhardware2/index.html

It would be quite a huge book. The topic area is more broad than you'd think, although not at all impenetrable. I don't know if any such comprehensive text exists. All of the books I used, I found to be quite poor and limited in scope compared to books in other fields. I think it's easy to see why. Frequently I'd just read everything I could scattered around the internet. Maybe you have a more narrow goal for what you want to learn than "electronics"?

Even the narrowly scoped books I found to usually be quite a bit less effective than they should be. Then again, the books I'm referring to where school books.

I am worried about breadth vs depth issues. It's probably why people get degrees in this. :) I'm sorry if I made it sound like I thought it was trivial. I'm not in any hurry, though; The Hardware Hacking books from O'Reilly are ok but not .. I dunno, "enough". The "Teach Yourself .." book is pretty dense...

You would get the most out of taking the freshman/sophomore level electric circuit analysis series from either your local community college or university. in the lab that goes with the course you can use the o-scopes, function generators, etc. if you like it then take the analog design classes where you really get into active filter and circuit design first at the op amp level then transistor.

That's a problem with most EE books, it's either extreme depth or broad and shallow. You have a good question. I'd like to see others' recommendations.

I wish I could help more, but I still curse the books I learned from:)

why thank you!

I hope this is certainly possible to answer. Theoretically, if someone reads the right books and practices in the right way, along with hefty discipline and focus, one could say they would be very, very familiar with software and systems.

What specifically are you looking to learn though?

Do you want to learn about digital hardware - how chips and components are constructed using AND, OR and NOT gates? This will give you a pretty good idea of how hardware works, but the projects will be limited to you, a breadboard and some switches - not terribly exciting stuff.

On the other hand, if you want to learn build simple robots and such, you'll have something neat to do, but at the end you likely still won't have an idea of how a CPU works or GPS chip works.

If you're serious about getting into this, consider obtaining a scope - even a cheap used one. Reading about various waveforms is one thing, but seeing the output of your circuit at various nodes can help build intuition.

I couldn't find it online - maybe it is out of print, but are you also aware of the Laboratory Manual for the Art of Electronics?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact