Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Where to begin when learning hardware hacking?
10 points by anujkk on Jan 5, 2014 | hide | past | favorite | 4 comments
For someone having a decade of experience in software application development(mostly web applications) but not so much knowledge about hardware, what is the best approach to get into hardware hacking?

C was the first programming language I learned and while I was in college I did some fun projects like developing a graphics & GUI library from scratch using just BIOS interrupt calls to set video mode, read/write pixel on screen and mouse handling. Since I left college I code mostly using python, php & javascript.

What would be the best approach for a person like me to get into hardware hacking?

Arduino. You are writing in C but there are plenty of examples you can use to start with. The community support around Arduino is fantastic, and is a great way to get into hardware.

Although somewhat overpriced, the Arduino starter kits that you can get are a pretty good first step. I bought one a few years ago for about $90. The premium you pay is worth it, in my opinion, for the components, instructions, and sample projects that come with it. Starting with projects from a kit like this lets you get your feet wet, while picking up bits and pieces along the way. From there, you can branch out, make modifications to the code, buy new components, and start building your own projects.

More information about what kinds of things you are interested in would help in guiding you also, although I think Arduino is probably the best starting point in any case.

I'd second the Arduino - it was designed for teaching electronics, and the Wiring IDE makes it simple for anyone with a programming background to get started. There's a huge community out there so finding support through forums, tutorials, etc, is very straightforward.

I'll add some links:

* http://www.arduino.cc/ - a good place to start

* http://www.ladyada.net/learn/arduino/ - adafruit sells kits and stuff and has some pretty well laid out "basic electronics" stuff as well as tons of tutorials/projects (connected to things you can buy for those kits)

* https://learn.sparkfun.com/tutorials - sparkfun also is great in the same regard

* http://hackaday.com/ - has a steady stream of neat "stuff" that's good exposure

* https://www.youtube.com/user/EEVblog - my favorite EE vlog for clear/mostly to the point videos on specific topics. There's lots of stuff on YouTube for just about anything you might be confused about, although quality of presentation varies greatly.

* If you're a "book" person, this is the classic (what ITP uses to teach students) and covers the fundamentals: http://www.amazon.com/Physical-Computing-Sensing-Controlling... - here's the associated site: http://www.tigoe.com/pcomp/code/

I think for someone coming from a pure software background, learning basic electronics, reading schematics, etc will be the biggest challenge, but is something you should try to master w/ breadboards and low current DC before you try anything potentially dangerous.

A few tips from someone that's been making a similar journey over the past few years (I had a bit of EE background but mostly did software, but started doing more and more hardware for fun and now work over the past few years):

* You can never have too many basic components like male/female jumpers, resistors, etc - buying some bulk packs are totally worth it, otherwise you may find yourself diving in parts bins at Radio Shack, which is no fun

* Sparkfun and Adafruit can be convenient, but usually about 10x the pricing on components vs Digikey, Newark, etc, so once you know what you're doing you'll probably want to start moving there

* Similarly, Arduinos are great for learning, but they're rarely the best answer for building things and will depend on the kinds of things you like to build. There are a lot of innovation going on in the microcontroller space right now, so probably best to keep your eyes peeled.

* Picking up a decent variable DC power supply is totally worth it. I've been using a Mastech HY3005D, it's great.

Oh, and a couple random suppliers I like (interesting selections, good pricing):

* http://yourduino.com/ - dirt cheap, but everything I've gotten has worked well. Their wiki has lots of good info (despite the Comic Sans). Shipping from China

* http://imall.iteadstudio.com/ - great prices and interesting selection of stuff. Shipping from China

* http://www.seeedstudio.com/depot/ - huge selection of stuff from lots of little studios (most stuff not in stock, dependent on demand). Shipping from China

* http://numato.com/ - good prices for some really convenient, well documented relays/GPIO. Shipping from India

* http://oshpark.com/ - I just made my first PCBs in EAGLE - these guys were awesome for doing onesies cheap and w/ good turnaround. Based in PDX

If you want a more structured introduction to hardware hacking, UTAustin is offering a MOOC called "Embedded Systems - Shape The World" that starts on January 23, 2014 and puts a heavy emphasis on hands-on labs. The platform used in the course is based on the Cortex M4 ARM chip and the board is made by Texas Instruments.

Course website: http://users.ece.utexas.edu/~valvano/edX/index.html

edX website: https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embe...

As a long time HWH and SWH I actually get asked that often. The answer I always give is to find a project that interests you, and go do it. That is the best way to learn, dig in. There are a ton of resources online so just start reading up and researching your project and keep going.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact