Are you looking for a beginner's guide?
What type of hardware are you referring to?
Is it more PC hardware drivers? Or are you looking to reverse engineer some proprietary piece of hardware controlled by specific controller circuit?
What you want to do, from a very high level perspective, is
identify controller circuit and chip,
look for information on the controller chip,
gather docs on its architecture if available,
check the wiring or connection and
start hooking into existing driver software to see and analyze the communication.
If I'm going off on tangent, feel free to correct me
A complete beginner's guide would likely be a waste of time because it's not really a beginner's subject.
I think it would be productive to have a lecture geared towards someone who is comfortable with IA32 assembly, C, and debugging, then take them through the steps of applying those skills to develop simple (for an example) hardware driver.
As far as real world applications?
well what comes to mind with me are things like drivers for the iphone linux project, or drivers for random proprietary usb devices.
and yeah your framework sounds dead on
"start hooking into existing driver software to see and analyze the communication."
that is what I think would be very interesting, and usefull.
This would make an awesome show. Might want to make it a bit more generic to start off with, like Nicholson suggested. But in the mean time, I have compiled a list of links that might help you out to get started:
After having been working at RCE for a while, (with my previous knowledge exculded) I've like to think I've come a ways in reversing merely by using some of the forum links mubix was kind enough to dump and testing my skills on unpackme's, crackme's and keygenme's...
and shit, in the last month or so I have learned alot, mayhaps this is a good idea for a show?