It’s that time again. The weather’s getting nice on the East coast, and out comes my modding spirit.
Here are some of the inspirations for this project:
Seeing these projects made me remember the time before the iPad/iPhone and tablet boom, where tablet projects on full size laptops were all the rage. The dynamic of those projects were to fill a gap in a companies offerings, to suit your needs. Apple hadn’t released anything truly handheld oriented since the Newton MessagePad. (Where I decided to pull my project name from.) Every year, there were rumors of the next iTablet. At the time, it was fairly difficult (though, far from impossible) to procure OS X/9 compatible touch overlays for cheap. This project is sort of a “Unicorn” for me. It’s been on the list for ages. And, now… finally finished!
There certainly is a giant continuum of portable, touch-oriented devices that have existed over the years, and where this one fits in, I’m not sure.
Resistive 13 Inch Screen
User Facing iSight Camera
Rear Facing iSight Camera with Colored Flash
Teensy 2.0 (Built In)
USB 2.0 Port
Gigabit Ethernet Port
Want to skip my ranting and go to the pictures? Head down to the bottom, Chief.
Once you start cutting into your Macbook’s lid, there’s no going back. Measure everything roughly 4,000 times before you make your cuts. There is some tolerance for error on the viewport for the LCD, so don’t let it bother you if it’s slightly off. Do your absolute best to make it straight, and the Sugru will do the rest. That last part will make sense later, the point is… measure 1,000,000, cut once.
This project entails doing a lot of (nearly) irreversible things to your expensive computer. Going back to stock is going to require replacement of a nice pile of parts. Know this going in.
The touch screen is not a perfect fit, there is a ~25px cutoff on the bottom of the screen. I’ve tried to mitigate this using forced resolutions in OS X, but the LCD’s firmware is programmed to crop to available area, so my efforts have been fruitless. That said, if you position the overlay so the blackout area is on the bottom, there is very little loss to screen real estate. The touch screen is also resistive. (Here for a quick comparison of touchscreen types. iPhones/iPads are capacitive.) Resistive has a couple major drawbacks. It can only accept input from a single point of touch at the time (No multi-touch), it’s affected by heat, it cannot be bent or crushed, and most times, it will have low resolution. Take your expectations for that overlay and take them down a couple of notches. It’s relatively difficult to do precision work (Kiss those dreams of doing Photoshop, or using this as a serious drawing tablet goodbye.) but it’s well suited for day to day work and games. (Plants Versus Zombies on here is awesome.)
Don’t try and use the Bluetooth’s USB port directly. This port, and the bluetooth board itself are both 3.3V. It will not properly power any of the hubs, or devices commonly available.
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.
While this project is nowhere near as dangerous as my Macbook Dye Project, it still is dangerous. Working with Dremels, sharp cutting tools, drills, routers, and other equipment can be very hazardous. In no way do I cover all of the safety steps here, but – goggles, dust masks, gloves, clamps and an apron help A LOT. BE CAREFUL OUT THERE. These things can hurt you/people around you. I’m not responsible if you drill through your favorite desk, your pinky toe, your cat, your laptop, your brand new TV, or anything else that may happen based on what you read here. You CAN ALSO ruin your laptop, if you’re not careful (Which is more important than that life and limb stuff right? Who needs limbs.) Do as I say, and not as I do.
If none of that scared you, then you are an enterprising individual (And also, INSANE) and, you should high five yourself.
With all of that out of the way… Let’s get started!
White Macbook Pre-Unibody (I used the Macbook 3,1 – Core 2 Duo, GMA X1300 – 2007)
Normally Open Pushbutton
Normally Open SPST Toggle Switch
iMac G5/Intel iSight Board
“Thin” USB Hub – (Try to find a hub that supports high-power devices. These usually have nice sized capacitors on them.)
8GB Flash Drive
22 AWG Multi-Strand Wire
28 AWG Single-Strand Wire
Spare Set Of Macbook Lid Magnets (or any flat Neodymium magnet that will fit)
Any Dremel with Cutting, Buffing and Smoothing Discs
Cake! (To eat in stupendous celebration when you’re done!)
(For the Rear Facing Camera Flash Only)
ShiftBrite Module (I used a 1.0 module, but I’m sure a 2.0 module would work just fine.)
First off, remove your Macbook’s display and optical drive. I’m not going to detail taking apart the computer here, I’ll leave that to the mages at iFixit. Their take-apart guides are the absolute best on the interwho. Follow them and you’ll never lose your way.
Set the bottom case, battery, and their assorted counterparts aside for now. Focus on the display. So, the basic idea behind this, is that we turn the LCD around in the lid, and use the lid as our new display bezel. Remove all of the guts from the display housing. But, leave the lid magnets alone, and save the sleep magnet for another project or your fridge. Once you’ve got the LCD out with it’s mounting frame – Remove the mounting frame from the LCD by unscrewing the handful of small screws around the edge. Remove the iSight from it’s aluminum frame, but leave it’s plastic bezel attached. Remove the hinges from the lid. Where we’re going WE DON’T NEED HINGES. Your lid should now be (mostly) empty.
Place the frame back into the lid, but don’t screw it in. Use the frame as your guide for marking where you have to make the cuts in the lid. The end goal, is that we turn the LCD around and reattach it to it’s normal frame, giving it a nice stable mount, and relieving us of some fabrication work. Once you’ve made the markings, triple check that it looks right. If so, cut the lid where you marked. Check fitment of the LCD in the new hole. Using the frame as the cutting guide will actually leave a small boarder of dead LCD space (Black boarder + LCD’s frame). Later on we’ll use the Sugru to fill this gap and add stability to the touch overlay.
Choose the orientation of your touch overlay, and ascertain where the ribbon cable will have to surface. Use your Dremel to remove any plastic standoffs that may be in the way. Make sure you smooth it out, as those ribbons are very fragile. You may have to make a small notch in the LCD mounting frame to allow the ribbon to pass through. Once that’s done, attach your LCD to it’s original mounting frame in the reverse direction, so it faces the new hole in the lid. There are a couple ways of doing this part. You can drill holes in the LCD’s mounting frame and use the LCD’s original screws to reattach it (None of the original holes will match up in the reverse direction, have to make your own.) Or you can Gorilla Glue it to the frame in the reverse direction. I chose the latter, but I recommend the former.
Now, while your glue is drying (or you’re reveling in your frame drilling powers) use your smoothing wheel to thin out the plastic around the inside of your new bezelid (Awesome word, yeah? Bezel + Lid.) The touch overlay cannot be smooshed between the bezel and the LCD, and presently there isn’t enough clearance to fit it in there. Shave 1mm or so off of that bezelid around the overlay, and you should be good to go. If in doubt, test your overlay and LCD in place, once your glue is dry. If the touch seems to be wonky, or sticking to one side, there’s likely to be a crease. Test and test again.
Once there seems to be enough clearance, tape your overlay to your LCD+Frame. Run tape around the edges, and I ran a strip over the “dead” area on the bottom of the LCD to protect it. Make sure the overlay is stable and in the right position on your LCD. (This is where the overlay’s short comings become apparent, it is too short vertically to fill in.) Mount the LCD inside the bezelid with the taped on overlay. From the front of the bezelid, you can see the electrical tape boarder now. These are the areas where you should apply your (White or whatever color you want) Sugru. It creates a nice soft boarder, and you can taper the boarder so that you can reach the very edges of the LCD to touch. It’s a hard thing to describe, but just use your best judgement. Sugru is a lot like Playdoh, only it hardens into a permanent rubber-like form. It will hold the touch overlay in place inside the bezelid firmly, and be nice and soft on the user’s fingers.
Test your overlay again! Looking good? Try the 25pt Calibration inside the eGalax Touch menu. Better? Awesome. Hard part is almost done. Give yourself a second to be proud of your work there. NOW! Let’s mount the user facing iSight. The iSight cannot fit in it’s previous position due to the framing change. So, instead, we’ll use the part of the frame where the hinges were previously mounted, as it has ample space. Use your Dremel to smooth out a surface dead center of the “bottom” of the bezelid. Find a drill bit the size of the iSight lens, again, drill dead center. This is going to take a little trial and error. Remove the plastic bezel from the iSight. The lens can float freely attached to it’s PCB, or be disconnected as well, the Microphone will stay attached to the bezel. Align the bezel in the smoothed area with the hole you drilled for the lens, and glue it in place. When it’s dry, pop in the iSight and you’re good to go! You should probably tack down the iSight PCB with some tape, screws or glue. But, I’ll leave that up to you.
One last part for the new top case, and then you’re done! Take your spare set of lid (neodymium) magnets, and glue them in place in the two magnet-less corners of your lid. Try to align them against the other two ones mounted in the bezelid’s frame. We’re going to use these later on to attach the top case to the bottom case! Magnets make it easier to do maintenance in the future, but also provide a strong bond for carrying around. The aluminum iMacs are held together by magnets! Kinda neat, huh?
Top case – Done! Time for some cake! Not too much. Don’t want to go into a sugar-coma. YET.
Now, set your awesome new top case/bezelid/thingy aside. Bottom case time. I’d take this opportunity to take off your heatsink, replace your thermal grease, and clean out your fans. Remove the logic board from the bottom case. Place it on a soft surface (Foam works well) until you’re ready to do your soldering. Now, I attached my power button and sleep toggle to the solid metal area in the fan vent, near the Bluetooth board. It’s notable because air cannot pass through it. Use your Dremel/Drill to cut holes in this area the right size for the switches you chose. Screw your button and switch in, and fill in any gaps with white Sugru. Take care not the bend the metal strut that’s build into the bottom case. After cutting this, make sure to thoroughly clean the bottom case. This cut produces aluminum dust, which is very bad for the logic board/electronic components.
We will not be re-using the optical drive. Chances are your’s doesn’t work anymore anyway. (They’ve got a shelf life of 2 years in these machines. :/) Now, if you’re looking to save weight, and don’t care about the rear facing camera, 8GB recovery drive, or Teensy, you can skip the hub installation, tie your touch driver board into your Trackpad/Keyboard USB port, route the power and sleep buttons, and you’re done! But, that way isn’t anywhere near as much fun.
Now, by far the hardest part of this, is soldering onto the Trackpad USB connector. There we’ll pull signals for the power button, and the USB hub to host our other add-on devices. Use a fine soldering tip, watch a bunch of soldering YouTube videos and take your time. Here’s the pinout. The power button is active when it’s pulled LOW to ground. So, whenever you ground that pin, the computer will boot. Attach the power signal wire to one side of your power button. Attach the other side of the button to a grounded area. USB ground works just fine. Test! The other 4 pins listed are an internal USB port used by the MacBook’s trackpad and keyboard. We’re going to take that and attach it to a hub to add some devices. Solder your hub onto those pins and place it into your empty optical drive bay. Use small wires so you can route them in the lanes on the logic board. Make sure to double check the pins to be sure they’re matched properly. Now! Boot it up and test. Hub works? Rock on. [An alternative method for this part, is to use one of the external USB ports. I won’t detail it here, but those pins are a lot easier to solder onto.]
Strip your 8GB flash drive of it’s casing, wrap it in tape or heatshrink and attach it to the hub. Glue your hub down in the corner of your empty optical drive bay out of the way. Take this time to tape your touchscreen controller to the bottom of your LCD panel. Keep it out of the way, shorten the USB cable that attaches to the hub to the shortest length possible without making it ballshard to connect when you’re reattaching the top case.
Now’s the time to install your rear-facing camera! For this part, I used an iSight from an Intel iMac 17 inch. You can use an iSight from any iMac G5 (15, 17) or (White) Intel iMac (17, 20) using this guide. But, you can use just about any iSight (or even just a USB webcam, using something like Maccam.) where the pinout is available. Since almost all iSights are just USB, it’s fairly easy to ascertain the pinout. Go crazy. The world is yours. I won’t be covering that here though. Grab your iMac iSight, and pop the clips out for the plastic bezel holding the lens. Detach the lens from the bezel (It may be glued. Some I’ve encountered were not, but some were.) gently. The lens and ribbon can be damaged very easily. Cut the bezel using snips so it can be turned down at a 90 degree angle, instead of forward. Drill a hole in your optical bay roughly the size of the glass lens protector (This piece does no image modulation, just protects the lens from debris/dust.) and pop the bezel/lens protector in. Check your orientation and then glue the bezel in place. Since the glass is a cube shape, rather than round, there may be some space in between the two. If so, use a little Sugru and neaten it up. I used a couple of foam pads to lift up the board to the right height, use your best judgement to determine that. Once everything is dry, attach the board! Now, it’s time to wire it up.
I know it’s tempting to plug that iSight into an iLink (Firewire) cable and fire it up, but DON’T DO IT. The board is not actually Firewire, despite that connector, it’s USB. Check the wire colors if you don’t believe me! You can actually just snip off that end, since we’re not going to use it. Get a male USB A end, and solder it onto the iMac iSight, matching the wire colors. Done! For sanity, you should boot up your system (or another) and plug your iSight in to double check. If everything’s good, tack your lens to the plastic bezel, tack the board down and clean up those wires!
I cover the ShiftBrite flash module in another article.
Just a tip, I seal all of my solder connections with hot glue, just to prevent shorts and give the wires some strain relief. I use a full size hub to make components/wires easy to change, but it does occupy a significantly larger amount of space. You could do better by removing all of the USB female A ports, and just soldering directly to the hub PCB.
Now, I’m sure you’re thinking right now… Where are we putting this inverter? YOU CALL YOURSELF THE BRAIN? YOU ARE NOT. Well, gee. Calm down. I’m getting to that. I moved my inverter to the empty optical drive bay with the rest of the components. It’s a four wire connection, and can be extended without knowing the pinout. Cut a single wire at a time, and attach it to your extension. Seal the connections with heat-shrink tubing. IDE/Floppy (40 pin. 80 pin don’t work very well.) ribbon cables are the perfect form factor for these extensions. Quite easy to deal with, as well.
Now, we need to make sure the top case has 4 magnetic objects to attach itself to when we go to close the case. I took a water damaged scrap top case I had, and popped the two metal alloy pads that the lid uses to grip the bottom case off. I glued them in their respective places on the bottom case. That covers the lower area. Now, the top… I used razor blades with tape over the blade. I don’t recommend you use these. Any rectangular piece of metal (preferably not sharp) will work, but not all alloys are magnetic! Glue them in place (corners of the fan strut). Done!
Home stretch here. Solder two wires onto the pins of your sleep switch. I have a picture of which pins here. Run these two wires to your toggle switch. Now, when the switch is in the on position, the system will “think” the lid is closed, and go into sleep mode. Open the switch, and the computer wakes up.
I used Sugru to seal the optical drive slot, and smooth out the side of the system, as well as seal the areas where the hinges previously were. You can also protect the bottom of the user-facing iSight with a bit of Sugru. It really works wonders.
Install your SSD (Install OS X on here, if you haven’t already.), RAM cover and battery… Attach all of the cables for your top case, route the cables so they aren’t stressed when the bezelid is shut… Let the magnets hold the two pieces together and… you’re done! Boot it up. Revel in the glory and wonders of your own Mac OS X tablet, install some software that’ll make using this thing easier (and possible.)
Now for some neat software!
MacFlip (Accerometer-based Screen Orientation App, Made for the Axiotron Modbook.)
Enable On-Screen Keyboard for OS X (10.4, 10.5) – (Note: In 10.6 Snow Leopard: The System Preferences Item is called Language And Text, then Input Sources, then check the Keyboard & Character Viewer Textbox at the top.)
SmcFanControl – (Use this to tweak the speed of the fans to vary based on power state.)
What I Learned:
Pecking at the on-screen keyboard is a bit of a bother. The touch overlay doesn’t support multiple touch points at the same time, so using modifier keys is impossible. The tablet’s battery life is about 4 hours or so under load. Later generations have better sleep-power consumption, and should be able to sleep for long periods of time. The generation I used does not, but can sleep for a week or so before depleting it’s battery. The system is surprisingly light, definitely comfortable to hold. It’s large, but nice. I enjoy using it. Tap to click is an absolute must, double clicking on things is tiresome using the touchscreen. The LCD should be protected under a layer of lexan. Right now, pressing on the overlay is pressing on the physical screen glass. Very bad for the screen. It works in this configuration, but could be much better with some protection. Could even be made waterproof with a significant amount of work. Speakers don’t quite reflect sound towards the user without the lid. When placed on a surface though, very loud, good.
It gets moderately warm, but nothing uncomfortable. MacFlip is not able to do vertical screen orientation… Just scrambles everything. It will also bury the menubar in the deadzone if it’s flipped the opposite direction. A higher quality overlay would make this even more awesome. Using Photobooth to switch between the cameras (and controlling the flash by sending characters to a ttyUSB) was so cumbersome I wrote an app in Processing to do it for me. It’s not quite done yet, but I’ll update when it’s complete.
Software Projects Inspired By This Work:
Shake To Exposé
Camera.app (Built-In Processing – Allows easy switching between Front/Back Cameras, Flash duration/Color)
PriTunes (Processing implementation of iTunes API. Allows quick song searching, play/pause, visualizer. Good for Carputers.)
SD Card Reader (In Optical Drive Slot)
ALL DONE! Hug pandas. Eat cake. INITIATE SUGAR COMA. Enjoy your MessagePad‘s big brother. And, hey… This runs Adobe Flash. 😉