What do I need to reverse-engineer hardware and where can I buy it?
November 25, 2008 2:09 PM   Subscribe

What equipment do I need to become an EE student cum amateur hacker? For bonus points, where can I buy it (either online or in person) in Melbourne, Australia?

I've finished my first year of a five-year joint EE and CS degree and want something interesting to pursue over the summer holidays. I've always had a passion for discovering how things work, which leads to the logical conclusion of trying my hand at reverse-engineering.

I've tinkered a lot with software over the years, but I've never had anything to do with hardware. What books should I read and what tools should I buy in order to pull apart my computer, hifi, Xbox, etc and read the contents of their EEPROM chips, NAND flash and so on? What precautions should I take before attaching said tools to one of the system buses in my PC while it is running?

Many thanks for your kind help. I've spent many months looking into this, but the bewildering array of resources is either far too simple or assumes too much experience with the necessary tools!
posted by PuGZ to Computers & Internet (7 answers total) 4 users marked this as a favorite
Jaycar is probably a good place to start.
posted by pompomtom at 2:42 PM on November 25, 2008

http://hackingthexbox.com/ is the web site for a book that talks about that.
posted by pdxpatzer at 3:10 PM on November 25, 2008

i would say for tools, if you don't already have a DMM that is probably a good place to start. get a good set of screwdrivers and the next big piece of equipment you could get is an o-scope. also depending on what you want to do, getting and iron and starting to play with soldering, both taking apart things like an old hifi or something and putting different elements into circuits to see what you can make it do.

You should be able to find a electronics store nearby that sells everything new and if you a lucky they will have a nice selection of used stuff also. If there are any ee clubs at your school i would check them out and someone in the ee department should be able to tell you where to go, in particular the person in charge of the classroom labs.
posted by humanawho at 4:22 PM on November 25, 2008

You're being too vague. Find a project that interests you and only buy what you need to complete that. Buying an oscilloscope is overkill; if you have to ask this kind of question, a scope is out of your league. Reverse-engineering a commercial system like an xbox is going to be way over your head. Aim at small projects that you can knock out in a week or two and get some momentum before you jump in the deep end.

If you want to make the transition from software to hardware, try to find a microcontroller project (PICs are popular). You'll need to learn assembly, and you'll be programming directly on hardware: getting values from registers, working in binary, bcd, hex, managing your stack when you want to pass values to subroutines, etc. Something like generating and displaying a 4-digit random number on seven-segment displays will take you weeks if you've never worked at that level before.

Email upperclassmen in your program or the professors teaching the microprocessor, computer organization/architecture, and digital systems (FGPA/CPLD) courses at your school and see if they'll give you copies of the lab assignments.
posted by tylermoody at 7:43 PM on November 25, 2008

I'd read a book like Andrew Tanenbaum's Structured Computer Organization before actually diving down to the electrical engineering level. You could get ahead in your studies via MIT's OpenCourseWare
posted by PueExMachina at 9:08 PM on November 25, 2008

I dont know how dis/similar it is to your classwork.. but you may want to check out the Arduino scene and see if any projects there trip your fancy. I've been meaning to get into it myself.. just havent had the time/resources.
posted by jmnugent at 12:28 AM on November 26, 2008

Please leave the cover on your XBox for now.

On the MCU front: Parallax has superb startup kits for the SX and Propeller chips. Their forums are no slouch either. Microchip is heavier (albeit cheaper) and has pretty good dev environments. The Arduino offshoots (ladyada's projects--o0o0o0o, yBox!--, the BBB) are an okay place to start since Arduino seems more about the software design, and you're a software guy (for now).

But slow down. Go find a specific practical problem to solve. Then go solve it with electronics before going and hax0ring flash memory of your hi-fi. Look up how other people solved the problem(s) and learn from their mistakes. Build something USEFUL for a change. Home automation is a good start. Audio/video is another. Robotics - build a three-axis positioner, that's a good one to learn about stepping motors, timing, computer interfaces and all that kind of thing.

Instructables to the nth degree.

Sparkfun is good for your EE soul.

Browse Wikipedia and look up their articles on electronics...
posted by ostranenie at 10:21 PM on November 26, 2008

« Older Guide me to well written books about financial...   |   Batch Adding Text (File Name) to JPEG Images Newer »
This thread is closed to new comments.