Hacker News new | ask | show | jobs
by franzus 5053 days ago
Yeah, I know what you mean. There's not much information about "electronics for software guys". Every resource I could find was "the other way around": Programming for electronics guys.

There were some promising videos on youtube but it all boiled down to: "Here's this simple circuit. <no explanation about the circuit> Now to the hard part: FOR loops. <30 minutes about for loops and basics of C syntax>".

I guess this would be a great topic for the pragprog-guys. If they'd commission such a book I'd buy a dozen copies ;)

6 comments

> There's not much information about "electronics for software guys".

Interesting you mention this, I've been getting into microcontroller programming for the past year or so and I've also found this to be the case.

I'm thinking of putting together some tutorials that focus more on the electronics side of things. Additionally the programming would be a bit less offensive to us (i.e. where possible tidied up into libraries instead of splat out into one big sketch file). Do you think there might be a lot of interest in something like this?

For arduino, getting set up in vim and working with ino (instead of the arduino IDE, which is extremely useful but fugly as hell) was the first big hurdle.

please do, but please approach from software programmer perspective (please read my other comment in this thread).

i think it's like OOP programmers trying to learn functional programming, you need to bridge with similar concepts so it's easier to grasp.

> Do you think there might be a lot of interest in something like this?

I can only tell from what I know from my peers (mostly CS educated guys). Many of them are interested into hooking up stuff to their computers but can't get their head around the most simple electronic circuits. (Pull up/down resistors are pretty much irritating for example).

So yeah, there's definitely some interest. I guess hardware hacking is something many programmers are interested in (Software only gets boring after 2 decades of programming) but can't find some easy intro.

Check out NerdKits (http://www.nerdkits.com/)

It includes all the hardware to build a simple microcontroller kit, along with step by step assembly instructions. The best part is that the instructions also explain why you are doing what you are doing.

this is great, but now that we have Raspberry Pi, i'm more interested with using it as starting point. simply because, well, it's a computer (something programmers familiar with).

EDIT: bonus point if the book/tutorial can relate with concepts in software development, e.g. "this is equal to a compiler, and this is how you put breakpoints and run debugger"

I found that for very beginners Arduino is easier though. It's also cheaper than the RPi/Gertboard combo. In any case both are a good way to start. :)
Maybe you could have the best of both worlds with something like the alamode:

http://baldwisdom.com/category/raspberry-pi/alamode/

Something like "The art of electronics" and "the art of electronics lab book", coupled with virtual or real equipment will teach smart people pretty thoroughly.

The books are old, and so there have been a number of advances, but that's okay because people like you need a solid grounding in the basics (the simple circuit you mention) and the rest will be easy enough for you to work out.

But it'd be great to see a modern electronics course for programmers.

This isn't exactly what you've requested, but it's still a very good basic electronics guide -

Make: Electronics http://www.amazon.com/Make-Electronics-Discovery-Charles-Pla...

Part of the book is breaking things to see how they work which is much cooler than thinking of things as a black box.

Not being pedantic here, but what do you think is hard about electronics? Could you share it with me?
Can't speak for the OP but here are a few differences between learning electronics vs. programming:

1. With programming you can download open source code that does whatever it is you want near enough instantaneously. Electronics projects come to a halt if you don't have the right parts on hand (which btw makes electronics a good hobby for just dipping in whatever free time you can steal).

2. There's a great deal more learning material available for free online for learning programming than there is for electronics.

3. With enough reading you can put together a web application or software 'in production'. Designing + printing PCBs and soldering on surface mount components with a reflow oven is obviously not a requirement for hobby electronics, but something I'd like to be able to do eventually. Getting the knowledge/skill/equipment together to do this will probably take at least a year (whereas you can go to any web host you like and have a website up and running in about 30 minutes).

4. If you mess something up while programming, you just kill the process and try again. If you make an error when putting together electronic components, you run the risk of letting the blowing them up and letting the magic smoke out. Aside from the safety issue, this is a real PITA if you're short on parts!

5. Debugging is relatively hard. While with programming you can output parts of the state of your program, analysing the state of a circuit requires working a multimetre and possibly an oscilloscope. This difficulty could be more due to my inexperience with electronics though.

EDIT: added...

6. Getting together the right equipment (soldering iron, breadboards, safety glasses, pliers etc) takes time if you're not sure what you're going to need up front. Sames goes for building up a stock of often used parts.

As a side project, I will be hacking a little hardware for a friends business. If you are interested in how it turns out, just shoot me an email and Ill give you the details.
They did.there is a paraprog guide to raspberry pi. Came out this week