Project CarFire: RasPi-based In-Car Music Streaming Box

Hi. This is a short little project I whipped up on my lunch break today.

IMG_2474

I recently saw this hack floating around the Intertubes. The basic run-down is that an Airport Express (A1392) has it’s power supply replaced with a 12V->5V->3.3V step down sequence, so it can run off of a car’s DC power. It is then setup to pipe audio to the car’s audio system. It’s a really neat hack, I wish I had thought of this when I drove down to Florida from New England.

I decided to spin my own version of this from components I had lying around. I wasn’t keen on spending 100$ on a new Airport Express when I could whip my own up for free! I used a WAP54G, as I have many of them lying around, and it runs on 5V direct. This is nice because the RasPi also uses straight 5V, which means I’d only have to step the voltage down once.

Disclaimer:

I am not responsible for your actions if you choose to follow this tutorial. Miswiring could cause serious property damage, risks to your vehicle, and life. Seriously, be very careful. Your cigarette outlet is protected by a fast-blow fuse (on most vehicles), but that does not give you a license to do anything stupid. You’ve been warned.

Parts:

Raspberry Pi with 4GB SD Card (Rasbian Preloaded)3.5mm Male to Male Cable
Micro-USB Cable
USB Extension Cable
Voltage Regulator (I used the LM317, but any ~14V->5V will work.)
Linksys/Cisco WAP54G V2
Garmin GPS Power Cable/Cigarette Power Adapter Without Regulator

Prerequisites:

Install DD-WRT on your WAP54G/WRT54G

Install Rasbian On Your RasPi

Install/Compile Shairport

Make sure you set Shairport to start when your Raspberry Pi boots, and test that it comes up properly. Configure your DD-WRT with a DHCP server, and disable the Internet Connection. Being that the WAP only has 1 Ethernet port, you cannot easily do other routing. However, with the WRT this is not the case. I’m not sure if you can run a DHCP server on the default Linksys firmware on the WAP, but I don’t believe you can. DD-WRT is much more powerful, I recommend it.

We start by chopping the end off of the Garmin power cable. My power cable came from a Street Pilot C550, which has a barrel jack connector. I am not covering the other type found on later Garmin models. The barrel is center positive.

Cut the Garmin adapter wire 3/4 the way to the barrel jack connector. Strip the wires on the side with the cigarette adapter. Red goes to IN+ on your LM317 board/circuit. White goes to IN-. Solder these in place, if you haven’t already. If you have an adjustable regulator, move your trimpot until your output is 5V.

Strip and solder the Red and White wires on the barrel connector side of the cable to OUT+ and OUT-. The barrel will fit into the power supply on the WAP54G! So, no other adapting necessary. If you have a WRT54G, your router uses 12V input, and this will not work at all. You will have to power your router straight from the 12V coming off the cigarette socket.

The Garmin cable has a built-in quick-blow fuse, that’s hidden under the tip of the cigarette socket adapter. If the red indicator LED on the socket adapter is mysteriously not working, check this fuse by unscrewing the cap.

Now, snip the male end of your USB extension cable off. Strip the female end’s insulation, peel back the shield, and snip the green and white wires. Solder the Black wire to the OUT- on your VREG circuit, and the Red wire to OUT+. Plug your Micro-USB cable into the Female end and test to see that your RasPi starts up. If it doesn’t, or if you see your USB device enumeration going crazy, try a different Micro-USB cable. If the problem persists, your VREG may not be supplying enough current. The WAP and the Pi together should pull close to 1 amp under full load, and a bit less when quiet.

Connect an Ethernet cable between the RasPi and the WAP, and make sure that it assigns the RasPi an IP address when the interface is brought up. Now, attach the RasPi and the VREG to the casing of the WAP somehow (I chose to mount everything on an aluminum plate… Not very efficient or elegant, but I think it looks awesomely crazy.) Tape up all of your connections to prevent shorts, and verify that it works! Name your wireless network something snazzy. I named mine ‘CarFire’. I also added a giant heatsink, since the processor on the WAP was getting pretty hot. Necessary? Absolutely not. Hilarious? Yes, very.

IMG_2484

IMG_2482

IMG_2481

IMG_2485

Project BlackBook: Return Of The Backlight

This project has been hiding on the back-burner for a while, but I finally had some time recently to complete it.

 cat /dev/urandom | hexdump, because The Matrix.
cat /dev/urandom | hexdump, because The Matrix.

A couple months ago, I found myself with a dilemma. As a favor to a friend, I traded them a perfectly working 2009 MacBook Unibody 13 Logic Board, for one with a broken headphone jack (jack snapped off inside, physical damage to the connector) and problems with the keyboard controller. It also had a busted fan.

Replacing the broken components isn’t fun for me, as it stretches the limits of my soldering ability. Surface mount, fine pitch for the keyboard controller, and deep through hole for the headphone jack, make for irritating replacement. Earlier model MBPs had the keyboard controller and trackpad controller built onto a single board (the trackpad itself), and then connected to the logic board via a dedicated USB connector. There were additional pins for the power button, but that was pretty much it. Newer models (Multi-Touch Trackpad 2008+ Models) have the trackpad completely separate, with the keyboard controller positioned on the logic board itself. The keyboard backlight is driven by a WLED driver similar to the LCD backlight in those models, with maximum brightness measured at 18V. The LEDs are wired in series. This design remained constant between the Pre-Unibody and Unibody designs, with the only difference being the Unibody designs contain more LEDs in the chain. Both systems have a separate connector for the KB backlight. Here is a link that describes using the Pre-Unibody trackpad and keyboard as a USB device, which I used to find the pads on my 17″ top case.

I decided the best solution to the logic board problems was to build a Pre-Unibody keyboard (with the controller board) into the body of the Unibody system, and place a USB sound card inside some free space. Measuring out everything was quite fruitful, as I found that both have a recessed area for the keyboard, with the Pre-Unibody keyboard pan being only slightly thicker. The Unibody system is designed with some pretty tight tolerances, so there isn’t too much room for mistake. With that, I began the conversion.

For the rest of the article, I’ll write up U as Unibody, and PU as Pre-Unibody. I’m sure you’re just as sick of reading it, as I am of writing it. (Also, all of these pictures are out of chronological order. Sorry.)

First, I measured out the area of the PU top case to cut out. I left myself a seam of the original palm-level part to work with. I was using a 17″ PU MBP top case as my donor, so I had a lot of spare material in case of a mistake.

DSC_4288
DSC_4285
DSC_4289

Once I cut the pan free, I placed it against the U top case, and measured out where to cut the hole. As I mentioned earlier, the U case has a recessed area in the body for the keyboard, so this was my target area for the new one. The tapered edge of the recess was used as my general guide for the cut.

After this was one, I pulled the keyboard wireframe out of the U top case, and placed in the PU keyboard pan. Using duct tape, I joined the two together by placing strips across the body longways. I then poured clear epoxy into the seam. The duct tape kept the epoxy from running, and gave me a nice smooth seam on the front, with minimal running.

DSC_4295
DSC_4291

Some curing time later, I sanded the epoxy down to a nice (pretty) smooth finish. I used a test motherboard to see how the fitment was. I found that I needed to grind some of the epoxy down to get the board to fit. After some fancy-footwork with the Dremel, the board fit like a charm.

DSC_4322

The thickest area of contiguous free space inside the system is believe it or not, the hard drive bay. At first glance, it seemed to me as though the best area for the extra electronics was going to be the area where the optical drive previously resided. But, it isn’t. There’s much more vertical space where the hard drive is mounted, for a variety of reasons… So, that was where I cut the hole for the relocated USB port and new headphone jack.

DSC_4533
DSC_4563
DSC_4577

I purchased an 8 dollar optical drive slot hard drive mounting bracket, and hacked it to pieces. The HD fit snugly inside the optical drive area, and after some shaving, there was even a little room left over.

DSC_4578

Rather than spend any more money on this system, I reused a 2007 MacBook fan as the main fan. Since the fan mount is reversed on these models, I had to mount it upside down. This was a problem for airflow, so I drilled holes in the bottom cover. They were haphazardly drilled, and I’m ashamed at how ridiculous it looks, but, it does the job. I also made the rubber feet much taller in the back using Sugru, which did wonders for my temperatures.

IMG_2141

Time for paint! I wish I had the facility to anodize the aluminum of the body, because I’d be all over that. But, I don’t, so paint it is. It’s a shame Apple has yet to release a “Black Edition” of any of the Unibody line, because they’d be pretty.
I thoroughly sanded the main layer, but did not remove all of the aluminum coating on the U top case. The lid I left stock.

DSC_4560

I painted both the U top case, and the bottom cover, with two coats of Krylon All-Surface Matte Black spray paint. The coat is reasonably durable, and the Krylon has been resistant the torture of my backpack so far. I would get automotive clearcoat if you really want your paint to last.

DSC_4559

Using hotglue, I replaced the right speaker, and mounted the subwoofer to the center support rail. The left speaker needed to be shaved down significantly in order to fit in it’s original position between the logic board and the keyboard pan. I sealed the holes with hot glue (the body of the speaker is hollow for improvement in bass response).

I stripped apart a powered 4 port USB hub that I had (A nicely designed one with a regulator circuit) and cut off the connectors. I soldered a ribbon cable to one of the root ports on the logic board to feed the hub, and then the sub devices were wired onto the hub. I added a USB sound card, a 16GB USB flash drive (case removed), the Trackpad/Keyboard Controller for the PU keyboard, and then wired the last to a female USB port I mounted to the U top case. I mounted the female port using epoxy. You can see in one of the photos, I didn’t properly clamp the port the first time, and it was slanted. I removed it, and had to repoxy it.

DSC_4580

I wanted the original KB backlight to work, but I also wanted to try backlighting the trackpad and the ports. I took the LED panel from underneath the original Unibody keyboard, and cut the diffuser down to just slightly larger than the trackpad. I soldered wires onto the ribbon, wired those in series with the PU’s KB backlight LEDs, soldered them to another ribbon, which was then connected to the logic board. (Whew. That was a mouthful.) For the ports, I wired 3.0V fat SMD LEDs in parallel (with an in-line resistor) to the 5V feed of the PU KB controller. The LEDs are secured with hot glue. I used the hub for the 5V source, so that if there is any short of sorts – the hub will protect the root port from being damaged. The root port on the logic board has two beads of hot glue inside the port, so that I cannot plug anything into it.

Testing LED Lit Port Theory
IMG_2137

DSC_4579

The PU keyboard controller had a limited area where it could be mounted, as the ribbon cable for the PU KB is short. I chose to place it underneath the battery, which is a very tight fit with the trackpad backlight. However, both the PU keyboard controller and backlight panel are very thin, so while it’s tight, there is no adverse pressure on the battery. There is no room on top of the battery for the PU keyboard controller.

DSC_4320
DSC_4572
DSC_4577

 

Since I cut out the supporting circuit for the power button, there was no way to turn the system on. On every MacBook, there’s a set of pads that can be used to boot the system without the keyboard. For the 2009 Macbook Pro Unibody 13 Inch logic board, these two pads are located next to the trackpad connector. Here is a high res photo. The pads are highlighted in blue. I mounted a large push button on a piece of perforated board underneath the power button, and wired this to those pads. The button is now recessed a bit, due to the difference in height, but I think this ended up being a benefit.

DSC_4335
DSC_4593

That’s about it. The port LEDs are always on, which does drain a bit more battery than without, but they’re tiny LEDs, so the difference is minimal. Since the TP and KB backlights are wired in series, the fading effects and brightness control still work as they did originally. I wish that the trackpad backlighting effect was more pronounced, but it’s subtly nice. The keyboard is nice to type on. I like the PU style better than the chiclet-style on the U-models for typing, but definitely not for cleaning. The 16GB flash drive is loaded with my Lion ESD Drive, and a seperate partition for my special system images/testing Linux distros, etc. The USB sound card is a $10 job I picked up at a local electronics store. Here‘s a tip for switching your sound output device from the menu bar in OS X, which makes using the USB sound device less cumbersome. I painted over the IR eye, status LED, and battery status LEDs on the case, so… I don’t have those. If you’re more diligent than I, you can pop the little plastic diffusers out before painting. I completely removed the HD ribbon to the logic, to save space in that area. I used way too much tape, and the ribbon cable I chose for the USB was too thick. I think the contrast of the black vs. the silver looks awesome. Overall, I’m very happy with how it looks. It’s an one-of-a-kind eye catcher.

Eventually, I plan on adding a hardware serial port using a USB->TTL converter and a 3.5mm jack. Adding effects to the port LEDs using a microcontroller, and adding more LEDs for the mouth of the optical slot.

There are more photos of the process in the gallery. Now, for the finished shots.

 cat /dev/urandom | hexdump, because The Matrix.
cat /dev/urandom | hexdump, because The Matrix.

DSC_2171  DSC_2191 DSC_2193 DSC_2194 DSC_2197 DSC_2200 DSC_2204 DSC_2207

(TL; DR: I built the keyboard from a Pre-Unibody MacBook Pro into a Unibody MacBook Pro 13. I also added a USB hub, a USB sound card, USB flash drive and relocated an active USB port to the area adjacent to the hard drive bay. The ports and trackpad have also been backlit, and the original keyboard backlight works as well.)

How To Ruin A Perfectly Good Lamp With A Nexus 7

Hi Friends!

DSC_4424

I hope you’ve all had the opportunity to enjoy your favorite food recently. (I tried to come up with an alternative friendly greeting. I think I nailed it.) This post could alternatively be called “What To Do With Your Nexus 7, When You Crack The Screen”, but, I’m weird.

ANYWAY! (As most of these posts start off) I was browsing eBay a couple months ago for a secondhand Nexus 7, and I learned some things.

  • Once you crack the screen on a Nexus 7, the digitizer will completely stop functioning. (In most cases, but perhaps not all… N7 users can chime in here?)
  • Replacement digitizers are really expensive. ($60+, and I saw as much as $160+ for some.)
  • Due to these facts, people were selling their tablets at what could only be described as “mega-balls cheap”.

Most of my queries turned up an average unit price for an 8GB cracked screen N7 of $50. I managed to snag one at $45 shipped, which is a fantastic price for the specs this tablet carries. Just now, the lowest price I could find was $60. There’s some amount of luck involved. Just to quickly recap the N7s specs:

  • Quad-Core Tegra 3
  • 1GB of RAM
  • ~8GB of Storage
  • Wifi + Bluetooth
  • USB Host/USB OTG
  • Built-In Battery, Charger
  • Audio Out
  • Unlockable Bootloader

So, basically… features that you’d pay a sizable amount more for an equivalent ARM SBC. And, the icing on the cake is that this will run: Ubuntu 13.04, Android 4.2.2, and Ubuntu Touch. I’m sure there’s more that I’m leaving out, but for all my intents and purposes these will do just fine. Out of the box Android 4.2.2 will allow you to use a keyboard and mouse with your N7, provided you have a USB-OTG cable.

I’m sure if you’re trying this out, you’ve realized the problem. In order to efficiently use your N7 with an external keyboard and mouse, you need to prop it up on something. If you’re using it in your lap, it’s falling over a lot, and you’re probably wanting to crack the screen more out of spite. DON’T DO IT, FRIENDO.

Instead, this cute $20 lamp can help you create a new friendly desk (immobile) robot. You’ll be the TALK OF THE TOWN, let me tell you.

Hardware Disclaimer:
If you ruin your Mom’s favorite lamp with this hack, you’ll be in big trouble. Don’t do anything silly. If you drill holes in your $1,000,000 Persian Rug, I cannot help you. I take no responsibility for your actions if you’re following this tutorial, and CERTAINLY NOT IF YOU’RE NOT FOLLOWING IT, since I spent all this time writing these instructions, for you to just IGNORE ME, GAH!

Parts:
Hampton Bay Architech Lamp (Matte Black) – $20
Nexus 7 – Cracked Screen – ~$40 – $60
Dremel with Metal Cutting Discs
Wire Cutters
USB A->B 6FT
USB OTG Cable
Soldering Iron
USB Hub
Philips Screwdriver
Needlenose Pliers
Flat-Head Bolts+Nuts+Crush washers
5V Supply (or hopefully, the Nexus 7 Charger)
Drill+Bits

Steps:

1. Unbox poor defenseless Lamp. Attach to base. Promptly break out your Dremel and metal cutting discs, saw off the two rivets that connect the lamphead to the springy-body. Be careful to leave the silver bracket intact, as you’ll be using that for the N7. Once the head is loose, you have to take pieces of the body apart to remove the AC cable. You might be able to get away with chopping it up, and tugging on the cable until it comes free… But, to save yourself some busted knuckles, I suggest you do it the slow way.
DSC_4418

DSC_4419

2. Your lamp will now refuse to do anything but spring completely upright, as there’s no weight to counterbalance the springs. Measure out where you’d like to mount your N7. I measured to what is roughly the center of my tablet, and made marks on the backplate that correspond to the holes on the silver bracket of the lamp body. Remove your backplate, (You should be able to stick something along the seam and pry it off, it snaps right off, no screws.) and drill the holes. The holes should be the about size of the flat-head bolts you selected. The washers will make up the play, so don’t sweat it if they’re a little loose. Also, don’t drill through the NFC coil, or any of the antennas. That’s important.

DSC_4420
DSC_4421

 

3. Thread the washers onto the bolts, and the bolts through the silver lamp-body bracket. Put the bolts through the holes you drilled in your backplate, and secure the backplate with the nuts. Tighten them fully. Use your Dremel to grind off excess bolt, as that’ll press against your N7’s battery/motherboard if left there. Clean dust thoroughly, then apply a dab of hot glue on one of the nut faces, against the backplate. Cover the nuts with electrical tape, (Hahahahahahahaha… Sorry, sorry.) so they don’t short anything out.

DSC_4422

4. It should look something like the above. ^ Now, snap in your Nexus 7! Congratulations, you’ve made yourself a cute little Pixar-lamp-buddy.

DSC_4424

DSC_4436

Software Disclaimer: Look, I hate writing these, but if you brick your device, you’re on your own. These instructions are in no way all-encompassing, or perfect. There is a lot of assumed knowledge. If you need some advice, email me. I’m always happy to help.

Now, you’re at a crossroad. There’s a lot of software routes to take, and I’ll in no way cover them all. I’m sure you’ll also wondering why I listed all of that USB cable stuff in the Parts section. Let’s start with Android, since that’ll be the default. If you fancy it, you can follow the steps here to flash CyanogenMod, unlock your bootloader and root your tablet. I will not cover CyanogenMod steps, which differ (slightly different kernels), but the general concepts will apply.

The conundrum about this setup is that it’s currently impossible to use a keyboard/mouse and charge your tablet at the same time. The N7 will boost it’s battery power to the USB OTG port while it’s in host mode, which means it cannot be accepting current for the charger. This awesome person named Timur created a kernel for the stock Android 4.2.2 setup that will allow you to charge and host devices at the same time. You can find it here. You want the one for “Fixed Installation”.

You’ll need to unlock your device’s bootloader before you can flash the USB+Charging Kernel. For this, you’ll need fastboot. Here are the instructions for unlocking your device’s bootloader, courtesy of Ubuntu. For Mac and Linux, here is a page that hosts the fastboot binary – you can find it in the zip for your respective OS. You don’t have to run that silly shell script if you don’t want to “install” the binary, you can just invoke it directly.  If using Linux, you may also find it in your respective package repository, which is a better option.

Unpack Timur’s USB+Charging Kernel for Android 4.2.2 ZIP (Make sure you are running 4.2.2….), and grab the boot.img file. Boot your tablet into fastboot mode (following instructions on Ubuntu’s Wiki.), and connect the microusb cable to your Linux/OS X machine.
Now, issue the following command (this assumes that fastboot is in the PATH and the boot.img is in the current directory):

fastboot erase boot && fastboot flash boot ./boot.img

Once fastboot reports success, you can reboot your tablet. It should boot up just fine, and look exactly as before, but now, if you go into your About Tablet menu, your kernel version will be “3.1.10-gdb06546-dirty Timur-USBhost-FI-2013-01-29@hexa #27”. Success!

If your tablet goes into a boot loop, or doesn’t boot at all… Don’t panic. (42) Google has the stock Android images and instructions on how to flash them, here. “Fastboot mode” can always save you if you nuke your device, but… just be careful. And, don’t EVER pull power on your device while a flash is in progress. I should also warn you, flashing kernels/ROMs from the Internet carries some risk, as you can never be fully sure what changes were made. (Unless you diff the source yourself… Good luck with that.) But, I’ve tested Timur’s kernel, and it works as expected.

Timur’s explanation page shows you how to wire your N7 so that you can use the hub and charge it at the same time (with the modified kernel.) It also goes into some more detail about what is meant by “Fixed Installation”. The wiring diagrams are in the “Using An USB Hub” section. I’ve noticed that there are times when I’ll need to replug the USB OTG connector to get the hub to recognize the connected devices again. It’s somewhat fragile, but generally, it works as it should.
DSC_4541

DSC_4542

DSC_4543

DSC_4544

Wrap-Up:

My N7 runs Spotify/Clock duties at my desk, and thanks to the lamp arm, can be positioned right above my screens. The lamp arm also swivels, so you can use it in portrait and landscape mode! The USB subsystem will occasionally be confused when returning from sleep, which will require a replug. In your Settings, under Developer Options, there’s an option called “Stay Awake”, in which the screen will not sleep while the system is charging. Be sure to enable “Day Dreaming” aka “Android Screensaver’ though, to prevent any chance of burn-in. That’s about it! It’s a great little machine for extra-desk stuff. The sky’s the limit in terms of apps, THE WORLD IS YOUR OYSTER! (This is also awesome for video chats. Just saying.)

DSC_4552_small

Macbook Dye Project

So, I’ve decided to start my mod-blog-whatever, with my Macbook Dye Project, aka ‘Hallowbook’.

There are some examples of previous projects here that inspired this work:

http://www.mactech.com/2006/09/02/yellow-ibook-g3

http://applefritter.com/hacks/tronbook

http://forums.macrumors.com/showthread.php?t=502086

The project follows in the footsteps of the iBook RIT dye procedure, but with a sandpaper-based twist.

I’m just going to come out and say a huge thanks to my girlfriend M3L, for letting me attempt this madness in her kitchen.

Want to skip my ranting and go to the pictures? Head down to the bottom, Champ.

Caveats:

The MacBook’s polycarbonate lid, bottom case, clutch cover and fan vent cover are all sealed with a strong gloss layer. That means that unlike the iBook, the plastic will absorb dye slower, and will resist the color. The display bezel is made of a softer plastic, and will absorb the dye very quickly. The keys will also, as they aren’t sealed the same way. (The newer black Macbook Pro/Unibody line keys are sealed with a gloss layer.)

The only way to remove the gloss layer, is with sand paper. This can create a coarse surface, if done improperly. But, if properly wet-sanded and grit-stepped, can almost mirror the original finish. Personally, I chose to leave it coarse as I don’t like gloss, and prefer matte. To each their own. Note: You don’t NEED to remove the gloss layer to dye the plastic, but I’ve found that the color is absorbed more evenly (and quicker) when sanded.

Another caveat is that the because the display bezel is made of softer plastic, it is also more susceptible to heat. Get it’s temperature up too high and it’ll become deformed. Like a Shrinky Dink, no coming back from that.

Parts are very easy to crack or deform. Take time disassembling the computer. Let me be absolutely clear: You can remove EVERY part on this computer without major force. If you’re forcing something, it’s likely you’ve forgotten a screw. Adhesive is used on some parts, which require a slight bit of force to remove. The Apple logo, for example. You should use a heatgun to loosen the adhesive and pop it out. Don’t try and force it out. You WILL crack the lid. I speak from experience.

It’s important to remember that just because computers have the same model number and name does not mean they share parts. Core Duo Macbooks have a completely different motherboard mount and fan vent strut. Core 2 Duos were the advent of ZIF low rise sockets for a half of the connectors on the board. 2009 Core 2 Duos changed the optical drive connector, and who knows what else. Point is, they’re all different, damn it. Get parts specific to your Apple Order Number or Design Year. Mactracker is a wonderful resource for this. Couldn’t recommend it enough.

You will ruin pans, oven mitts, spoons and anything plastic within a 1 mile radius. (Okay, not that last one. But, hey, shoot for the stars.) Try to keep the destruction to a minimum so your Mom/Girlfriend/Boyfriend/Roommates don’t want to kill you. I also wouldn’t use anything you use for this again for food. RIT dye is toxic, and is meant for clothes/fabrics/things that don’t normally touch your mouth. So keep that in mind.

Unlike other previous models, my Apple logo was painted white, so in order to change the color, I needed to sand off that crappy paint. (Apple lid designers, if you’re reading this: Dude, come on. Changing the color of the logo was fun. Do you people hate fun or something? C’MON.)

You cannot remove the keyboard from the inner top case without a lot of work. You can take the keys off, but you need to split plastic mold in order to remove the keyboard. It’s possible, but I went with black accents instead of attempting that split. I’d recommend painting that part with the keys and trackpad removed, if possible. If you’re more adventurous than me, do it big. And, make sure to post a link in the comments here if you do. I would LIKE TO SEE.

On color consistency specifically, just because the dye says a color, doesn’t mean that’s what you’ll get. M3L picked out a “Teal” and got what I’d like to refer to as “Pine Green”. Still looks awesome, but not quite the expectation.

Disclaimer:

Just throwing this out there, I accept zero responsibility for your actions based on anything you read here. If you dye half your stove, your cat, your hands, and permanently ruin your computer, it rests on you. “With great power, comes great responsibility.” Also, the water is boiling hot. Do I need to show you my burn marks/scars? DO I? BE CAREFUL AND TAKE CARE. Do as I say, and not as I do.

Supplies:

3 Boxes of your favorite RIT Fabric Dye color (Powder, I haven’t tested the Liquid.)

A Deep Pan

A Cookie Pan Roughly The Size Of That Deep Pan

Running Water (I recommend a slop-sink or shop sink. Nice and roomy.)

White MacBook

Rubber Gloves

Wooden Spoon

Salt

Sandpaper (120, 200, 400, 1600 Grit for Grit Step or just 120 for Rough Mode)

Denatured Alcohol or cleaning solvent

Stove or sustained heat source

Lots of cookies (To eat in glorious celebration when you are finished!)

Process:

Well, first… Take apart your computer and separate the plastic parts from their metal counterparts. Take care not to leave any electronic parts in the dye pieces, or you’ll be replacing those parts. I’m not going to detail taking apart the computer here, I’ll leave that to the wizards at iFixit. Their take-apart guides are the absolute best on the web. Follow them to a T, and you’ll be butter.

All of the glossy plastic pieces need to be sanded down until the gloss layer is completely gone. The best way to tell, is they will no longer glimmer in the light. I used 120 Grit sandpaper for this. If you grit-step, 120, 200, 400, 1600  is the way to go. By the end, you should have a very smooth finish. I’m not patient enough for that, so I stuck with 120 all the way through.

Once the parts are sanded, they should be thoroughly cleaned. Denatured alcohol and a paper towel works well, and dries quickly.

Go get a pair of rubber gloves, and put them on. RIGHT NOW. I don’t care if you aren’t even contemplating this project, you should be wearing gloves.

Get a pan (An inch or so deep, if possible.), and fill it with water (4 cups of water per packet, 8 cups.)  Add two boxes of RIT dye of the color of your choice into the water. Add 2 tbsp of table salt into the water and stir. Place pan onto your stove, and heat. (Make sure the pan is stove safe.) As the water starts to boil, place your dye part into the bath. (If you’re dyeing the display bezel, keep the flame as low as possible to avoid warping the bezel.) Add water as necessary, it will boil away quite quickly.

It took about 45 minutes for the lid and bottom case to become saturated with the orange. For darker colors (Navy Blue, Scarlet, Black, Pine Green) more time may be required. The display bezel took 10 minutes to become saturated, as did the clutch cover and display spacers. Check your parts as you go, and flip as necessary. The larger parts require a hotter and longer bath.

Adding too much dye to the bath will cause spotting, and inconsistent color distribution, so try to keep “free floating dye” to a minimum. Don’t forget to keep stirring your bath throughout the process.

Remove part from bath, clean excess dye with paper towel and cold water!

Check for even distribution of color. If it looks good, reassemble! If not, go ahead and throw it back in the bath. The small parts can warp, as I’ve said, but the large parts can take a lot of heat/beating/abuse. They’re like the Hercules of plastic or something.

YOU’RE DONE! (Well, okay, you still have put your computer back together. Don’t celebrate just yet.)

Is your computer back together? Does it look awesome? It’s time for those cookies I was talking about earlier.

Okay, with all that out of the way: Photos!

Finished Photos:

So, originally I had a white MacBook. (I used the white pieces for the lid and bottom case.) I decided that I like the way the black accented the orange, instead of doing full orange. The inside top case is also very difficult to dye, as the keyboard cannot be easily removed. I took a poor old liquid-spilled black Macbook I had and swapped some parts.

(I apologize for this atrociously annoying to use gallery. (Sorry, WordPress.))