Walk around on any bulk-pickup day and you'll see lots of laptops free for the taking. What you might not see is that many of their peripherals are connected internally with USB, and are totally compatible with your PC's, RasPi's, and other SBC's.
If you know what to look for, you can salvage lots of Bluetooth modules, WiFi cards, cell modems, and more, as good as you can buy at an electronics store, and totally gratis! It's also a chance to take the electronics to a recycling center so that lead and lithium stay out of the dump.
I'll demonstrate by salvaging a USB webcam from an old HP laptop and setting it up on my Mac.
Step 1: Equip Yourself, and Salvage Something!
You won't need much for this Instructable - it's pretty straightforward.
- A fairly recent discarded laptop. Derp! As long as the laptop was made in the last seven or eight years, its accessories should be about as good as you can buy. The accessory market doesn't change much.
- A decent screwdriver set. I like my iFixit toolkit. Make sure you have Torx Security bits, since they turn so many types of "proprietary" screws.
- A soldering iron. Not too hot - these wires are quite fine.
- Wire strippers. The adjustable kind are best, since these wires are REALLY fine. My 30-gauge stripper was too big to strip this webcam's wires.
- Adafruit USB male shell or salvaged male USB plug.
- Hot glue if you're using a USB shell, like I did
- Heatshrink if you're using a salvaged male plug.
Now for the fun part, crack open the case and get to that motherboard. There are way too many screws on a motherboard, and many of them are hidden under labels and rubber feet.
Find an accessory that's internally connected with USB. Look for wire harnesses that have multiples of four or five wires, one each black, white, green, and red. The fifth wire, if it's there, doesn't usually have insulation.
A laptop's internal USB accessories are usually socketed near each other, or near external USB ports. USB signals don't travel very far on circuit boards.
Carefully remove the accessory, taking care to keep its wires intact. If the accessory is attached to the case with double-stick tape, be careful not to bend the circuit board while removing it.
Why would they bother color-coding accessories inside a device? The same modules are often repackaged and sold as consumer products. That's why they're so easy to repurpose!
When you're done salvaging, throw out the plastic and metal parts of the frame and bring the unsalvaged electronics to a recycling center. Don't throw electronics in the garbage or single-stream recycling! There's a lot of precious, toxic and conflict metals in there!
Step 2: Mount a USB Port
Tin the USB Shell pins by holding a hot soldering iron against them for a second or two and applying a drop of solder.
Cut the header plug off the USB accessory and carefully strip its wires about 1/8". Be careful not to accidentally cut off some wire strands!
Twist each wire and coat it with a drop of solder.
One at a time, press a wire into the corresponding pin and touch with a hot soldering iron to press them into the pin. Allow generous time to cool. Use my picture above as a guide to which pins connect to which wires.
Use a dab of hot glue to stick the USB Shell to one side of its enclosure.
Skip ahead to the next step and test the device.
When you're certain it works, fill the enclosure with hot glue all the way to the end and press on the other half of the enclosure. The hot glue provides strain relief so the tiny wires are less likely to break or get pulled loose.
I used an Adafruit USB Shell because I don't have good luck splicing tiny little wires like these. If you're feeling extra-thrifty, salvage a male USB plug and splice each wire to its matching color. Put heatshrink on each wire, and extra shrink over the joint. These little wires aren't designed to be jostled and will easily break off.
Step 3: Find Drivers and Test
Many devices like card readers will work perfectly without drivers, and many can use 'universal' drivers available online or built into the OS. This webcam needed some drivers to work on my Mac.
Now for the moment of truth - connect the device to a USB plug and pray. If you're lucky, it'll "just work" and you can use it immediately in a compatible app. If you're extremely unlucky, and you mixed up wires or the device isn't USB, it could heat up and release the magic smoke. The device is probably ruined, but at least it was free!
If your target OS matches the original OS of the device (if you salvaged from a Windows machine and are installing on a Windows machine) you can usually find drivers on the manufacturer's Web site. Search for the donor laptop's manufacturer, model number, accessory type, and "drivers". For example, searching for "HP 5760 webcam drivers" did return a download. These drivers almost always work on machines with the same OS, made by different manufacturers. Don't download "official" drivers outside the manufacturer's site - they're common bait for scammers and virus writers.
If nothing comes up, you'll need to get creative. Connect the device and use System Information (OSX), Device Manager (Windows), or lsusb (Linux) to identify the device. Many devices have VID's and PID's built in that the OS uses to identify the device, and you can use them as search terms to find drivers.
Sometimes, the VID's and PID's are too esoteric, or the manufacturer was too cheap to buy a pair, and this fails. Time to do it the hard way. Scour the device for marks that can identify the manufacturer or model number.
This USB webcam immediately enumerated on my MacBook Pro and appeared in FaceTime and stuff, but it didn't work. I had to install the Macam universal drivers before I got any video.
You'll often find that the quality of these devices is extremely good, often better than what you can buy in a store. Manufacturers banked on these accessories to get people to buy their computers - and now that the computers are trash, you can get them for free!
Another perk: Because these parts are designed to fit into slim laptops, they're much smaller than store-bought parts, great for tiny Raspberry Pi, BeagleBone, and Galileo projects!
Thanks for reading, and enjoy using yesterday's tech in tomorrow's projects, today!