This project has been hiding on the back-burner for a while, but I finally had some time recently to complete it.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
(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.)