In January 2005, Apple surprised a lot of people by entering the sub-$500 PC market. Their new product, the Mac Mini, was greeted with enthusiastic press and fanfare. The Mac Mini is equipped similarly to Apple's laptop line, with a 1.25-GHz or 1.42-GHz PowerPC G4 processor, a 2.5" laptop hard drive, and a slot-loading optical drive. It's small enough to be mistaken for an external CD/DVD drive.
For car PC enthusiasts, the most interesting thing about the Mini is its form factor (i.e., standard size and shape). The Mac Mini is 2" tall and 6.5" wide. For those not keeping track, the standard size of a car radio slot [Hack #12] is an almost identical 2" by 7"—consequently, the Mac Mini can be installed almost seamlessly in a dashboard slot. You can see a picture of a Mac Mini and a single-DIN head unit in Figure 4-35.
On a personal note, I've been an Apple user since the early 1980s and a "Mac guy" since I bought my first used Mac 512 in 1989. I was hooked on a WYSIWYG GUI when Windows 3.0 was just a twinkle in Microsoft's eye. I'm very cross-platform, though, and although most of the software I develop targets the Windows and Linux platforms, I've written this book on a 1.5-GHz G4 PowerBook.
As soon as the Mac Mini came out, I knew I had to put one in my car. I have a young daughter who likes to watch shows on the go in her car seat. I had already set her up with a DVD player, a headrest monitor [Hack #25] , and a stereo surround sound car seat (i.e., speakers built into her car seat)—she seemed satisfied, but I knew that in her heart she really wanted to see Dora the Explorer in high-definition on a VGA screen, so I installed a Mac Mini for her in our 2005 Dodge Caravan (a "MacMiniVan," if you will).
One of the coolest things about the Mac Mini is that you don't have to assemble it—it's all there, nice and compact and already put together. Furthermore, the processor is powerful enough to do everything I want to do with my car computer. While the VIA EPIA boards do a fair job of DVD playback, the Macintosh is well known for its superior multimedia performance. Plus, DivX and other video codecs have been heavily optimized for the PowerPC G4 chips and OS X. So, although I am the only person I know of who does DivX rips of Nickelodeon shows for his toddler's in-car video jukebox [Hack #70] , the Mini was a much more turnkey experience for me than any of the cheap compact car PCs I've built, hands down.
As you can see in Figure 4-36, the Mini has the standard array of ports you'd expect: two USB ports, a FireWire port, an Ethernet port, and stereo sound in and out. You can also get it preconfigured with optional WiFi and/or Bluetooth.
The Mini has a DVI port, so you can either connect directly to a digital LCD screen or use an adapter to connect to a VGA, S-Video, or composite screen. This versatility makes it easy to connect any screen you want to your Mini. Its screen capabilities are great, although its lack of dual-output video was a bit of a challenge as I usually depend on my car PC to have multi-zone (front and back) video.
Though I had a touchscreen and a CarBot in my minivan for a while, I wanted to go back to a configuration that was a bit more "stealth." Additionally, in my pursuit of safer in-car experiences, I've been trying to get away from the "screensaver on the dashboard" look of a touchscreen and go back to just using button presses and audio feedback. Thus, I decided that I would use the Mac Mini primarily for rear-seat entertainment and music, and not try to operate it using a touchscreen from the driver's seat.
In addition to the Mini, to complete my install I needed a display. My minivan has the option for a 6" fold-down screen and DVD player from the factory, so a few months ago I called my Dodge dealer and asked how much it would cost to upgrade—$1,800 was the reply. Ouch! Consequently, part of the challenge of this Mini install was to see what I could do for a bit less than that.
The Mini had set me back $599 so far (I opted for the pricier, faster processor and larger hard drive), so I needed a cheap video solution. I went to Fry's Electronics and CompUSA, compared monitor prices, and made a selection. At first I got a $250 17" monitor from CompUSA that ran on 12V, which was perfect for in-car installation. However, the 17" monitor was actually too big for the car; even when it was folded up, my wife and I bumped our heads against it. So I returned the 17" and bought a 15" for $199 at Fry's.
Because I wanted the option to run my Mini to multiple composite screens, including my VGA screen, I purchased a pass-through, USB-powered VGA-to-composite adapter from Grandtec (http://grandtec.com/ultimateEZ.htm). Although you can get a composite signal directly out of the Mac DVI port using a $20 adapter, you'll lose the crisp VGA high-definition output that the Mini is able to produce.
Taking apart modern cars is literally a snap. Most of the pieces of the car click in and hold in place with friction or small mounting tabs, and the main dash console is held in place with half a dozen Phillips-head screws. Getting the dashboard off (I've done it so many times that I can do it in seconds now) involves removing a few screws and then simply seizing the main dash faceplate and pulling it off. This exposes the cavernous center area that holds the radio, A/C controls, and multiple storage slots, perfect for stowing the various wires and adapters needed for this installation (such as AUX-in adapters [Hack #14] , my VGA-to-composite adapter, and the Mac Mini's huge power block).
Mounting the Mac Mini was actually no challenge at all. As mentioned earlier, its single-DIN form factor makes it a drop-in installation, with only a bit of fabrication required. I took my minivan to a local install shop and explained what I wanted to do. The installer pulled out the rubber-floored coin tray (which is usually replaced with the in-dash DVD player factory option), and using a rotary high-speed cutting tool, he cut the top off the tray. This made a sort of clip to hold the Mini. To protect the Mini case's edges and to fill the space between the 6.5" Mini and the 7"-wide slot, he stuck a bit of black foamy carpet on the case's sides. He also put some plastic spacers underneath the rear of the Mini, so that it would angle down slightly to match the slope of the slot. You can see the tray in Figure 4-37.
The huge challenge of this project was not the installation of the Mac Mini, but of the screen. I tested two screens and three mounting approaches before I settled on the final install. As described in "Install a Fold-Down Ceiling-Mounted Screen" [Hack #29] , a heavy screen needs to be connected to the crossbeams of the ceiling; otherwise, it will simply make the headliner sag or even rip it out. I settled on a fold-down undermounting screen support [Hack #30] (the AVF Vector LCD005) that I bought at Home Depot for $80.
Wiring everything was time-consuming but not challenging. I ran a long VGA cable from the center dashboard, along the front passenger pillar, up the column, across the ceiling under the headliner, and out near where the VGA screen was mounted. I also ran an audio cable, a three-prong computer power cord, and a 12V power cord, just to be ready for any screen I might decide to swap in later (Figure 4-38).
Powering the Mac Mini was not as simple as it should have been. Unfortunately, the Mac Mini runs on an 85W, 18V DC power supply brick. Thus, you can't connect it directly to the 12V of the car. I wanted to get my Mac Mini installed quickly and easily, and I didn't feel like cutting the power cord (yet), so I took the easy route and installed an inverter [Hack #11] in the center storage bin between the front seats of the van.
I was going to have to install an inverter anyway, because my 15" screen ran on 120V AC (unlike the 17" screen I tried first, which ran on 12V). So, I ran two power cords from the center bin under the carpet and through the dashboard: a long AC power cord to the screen, and the white AC cord that plugs into the Mini's power adapter.
The only part of powering my Mac that did require some invasive surgery was adding an external power switch. The Mac does have a "boot on power loss" feature, so for a while I was restarting it by just rudely cutting power to it (by hitting the off switch on my power inverter in the center storage bin). However, I found that after a few rude reboots, the Mini gets apathetic and won't boot up. I think this has to do with powering it up and down and then up again too quickly.
So, when the Mini is off, the only way to reliably get it to turn on is to press a power button on the back of the unit, which is hidden behind and deep inside the dashboard of the car. I needed a way around this problem but didn't want to mess up the motherboard in any way, so I opened up the Mac Mini and soldered a pair of wires to the power button on the back (Figure 4-39). I then ran the wires out of one of the ventilation slots in the bottom of the Mini case, and connected them to a momentary switch (just a standard PC case switch). Once you have run these wires out of the Mac Mini, you can use any of the standard power sequencing startup controllers
As soon as the Carnetix Mac Mini power adapter becomes available (see the sidebar "Powering the Mac Mini in the Car"), I'll replace my inverter. The inverter is so well wired to the car battery (with 8-gauge cable) that my Mac survives engine cranking [Hack #45] with no problems right now, but the inverter consumes way too much power, and after about five hours of marathon DVD playback with the car off I found that I couldn't start the car again. Fortunately, I had already upgraded to a deep-cycle battery [Hack #6] , so the deep discharge didn't do any damage.
Ever since I found the Macally KeyPoint remote (http://www.macally.com/spec/usb/input_device/keypads.html), I've been in love. It's my favorite of the many wireless RF remotes I've tried—it's small, has just the few buttons I need, is very programmable, and has a built-in mouse [Hack #56] . I ran a pair of USB wires from the in-dash Mini to my minivan's center storage bin so I could plug in a USB hub, and that's where I plug in the receiver for my Macally remote (see Figure 4-40). Since it is RF, it doesn't need to be in line of sight.
The Macally remote is programmable, so you can set any button to enter any keypress you want, depending on the current application. For example, it has a "menu" button that I've configured to always run iTunes, unless I'm in iTunes, in which case it runs the DVD player. Once I am in those applications, the other buttons do what they should do for those applications— seek, pause, go to the next track, and so on.
This arrangement allows me to use iTunes while I'm on the road, without any visual interface. I just put it in shuffle mode before I start driving and then hit the next track button when I want to skip songs. That accomplishes about 90% of what I want to do with audio when I'm on the road.
Although there are many ways to achieve iPod/car integration [Hack #18] , with a Mac Mini you get all the advantages of an iPod, plus CD ripping capabilities and access to the iTunes music store. If you hear a new song that you've just got to have while traveling cross-country, you can purchase it from the ITMS in just a few seconds.
The USB hub in my center console also has a Bluetooth receiver plugged into it. Although the Mac Mini had a factory Bluetooth option, I considered that having the Bluetooth receiver more centered in the car (and not stuffed into the dashboard) would give it better range for rear-seat passengers, the ones most likely to be using Bluetooth input devices.
I keep an Apple Bluetooth keyboard and mouse stashed in the Millenium-Falconesque subcompartments in my minivan, so I can whip them out when people need to use the computer for productivity.
My minivan has eight speakers installed and has fantastic, enveloping sound, especially in the rear seats. To get the Mac Mini sound into my factory head unit, I needed the appropriate AUX-in audio adapter [Hack #14] .
I wanted to have both XM radio and the Mac Mini as audio options when I drive, and I wanted to keep the factory head unit. To accomplish this, I actually used three different devices: an XM Direct radio receiver, an XM-to-Pioneer adapter, and a Pioneer-to-Dodge adapter. Because the XM adapters use RCA stereo jacks to connect the audio to the adapter, I was able to piggyback the Mac Mini's mini-jack (too many minis!) onto the XM AUX-in (see Figure 4-41).
When I want to listen to XM radio, I just leave the Mac Mini off or mute it. When I want to listen to the Mac Mini, I turn my XM radio down to station zero (station ID), and it outputs no sound and lets the Mini's sound come out.
There's an interesting side effect to all these adapters: my car radio starts up and says Sirius, displays XM radio once the XM adapter initializes, and then starts playing music from iTunes.
Although I bought a USB WiFi adapter for my Mac Mini, I haven't even hooked it up yet. I use a Bluetooth connection to my cell phone to do most of my web surfing—luckily, my EDGE-over-Bluetooth connection runs at 60–80 kbps [Hack #62] . My minivan has a nice little mobile-phone holder on the center bin, and this is very close to the Bluetooth adapter (Figure 4-42). Since I've paired the Mini and the phone, I set up the Mini so that any time it needs to access the Internet, it just silently dials up through the phone. It can even share this connection with other WiFi laptops in the car, through Sharing → Internet in the System Preferences. This system works so smoothly that once, when iTunes needed to authenticate with the music store to play a song I had bought and copied onto the Mini, I didn't even realize it had connected until it was asking me for my password and showing me album art for the song in question. I can even stream (low-bitrate) MP3 radio stations in iTunes over the modem. Hmm…maybe soon I won't need my satellite radio anymore!
The thing about a rear-seat entertainment computer is that you don't need frontend software—for the most part, OS X works fine. That said, after having my Mini in the car for a while, I'm looking forward to having more driver-side usability. For instance, it's very difficult to switch between different functions of iTunes, and when the computer goes silent and unresponsive to my keypresses, I usually find that some dialog box has appeared on the screen and demanded interactive attention. Although such modal dialogs used to be frowned upon in the Mac OS, both the DVD player and iTunes are full of them.
At this writing the Mac Mini has only been out for a few months. There aren't any really solid completed frontends available, but that's probably going to change soon. You can find a list of a few of the current options at the end of "Build an in-Car Macintosh" [Hack #53] . I should also mention that my own company, CarBot (http://www.carbotpc.com), is currently porting its CarBot Player software to the Mac.
I don't have a GPS receiver hooked up to my Mac Mini, since there aren't that many navigation options for Mac OS X. That said, I do use the Mini for navigation, and I even have features that PC navigation software [Hack #71] doesn't yet have.
For years I've wished I could access MapQuest (http://www.mapquest.com) or something similar while on the road, and with this Mac Mini, I finally can. In fact, Google Maps (http://maps.google.com) has quickly become my favorite mapping service. Google's maps are very detailed, and once you have them up in a browser window, you can disconnect from the Internet and still scroll around in them. Using Google Maps on my Mac has already saved me more than once. And if it's real-time traffic information you need, Yahoo! Maps (http://maps.yahoo.com/traffic) is even better than Google.
I'm absolutely spoiled by the entertainment options that my Mac Mini provides. I recently downloaded the Star Wars Episode III trailer, and I've been showing that off to people who get in my van. The stereo sound is breathtaking and sounds as good as my home theater. Because I have a 2005 Dodge Caravan with collapsing seats, I can fold down the middle seats and create a capacious, three-seat in-car theater [Hack #70] . And, of course, it isn't just DVDs I can play back; I can also copy movies from a hacked TiVo (see Raffi Krikorian's TiVo Hacks, also published by O'Reilly, for instructions on how to do this) or download them from my computer PVR.
The Mac Mini comes with QuickTime and iTunes preinstalled, but just to make sure you can play everything I recommend that you also install all of these applications and codecs:
RealPlayer was the first and best audio streaming technology, and many radio stations around the world simulcast their content in Real format. For in-car radio streaming, RealPlayer is a must.
A large portion of the video content you're going to find online is encoded in this format, and several of the home PVRs encode in Windows Media, so it's always good to have this on your Mac.
The vast majority of applications for encoding video save it in this version of MPEG-4, so it's important for any video aficionado.
In the Macintosh world, the 3ivx codecs are optimized for the Mac and play MPEG-4 content. It's best to have them in addition to DivX.
This OS X port of the popular Linux player has good de-blocking (i.e., it can make DivX and MPEG-4 movies look even smoother). It's also a great app to have, just to make sure that you can play anything anyone hands you.
I'm planning on making a few additions to this install. So that I can still see behind the vehicle while I'm driving with the fold-down screen in use, I've just installed a rearview camera [Hack #33] . Once I get the rearview screen working, I'm going to connect the Mac Mini to it so that I can see a tiny (5") view of what's on the Mini screen.
I plan to get the WiFi working soon, and I'm coming up with clever ideas on how to get EVDO [Hack #62] working for the Mac Mini. Although the Mini doesn't have a PCMCIA slot, I'm going to use a PC laptop with a damaged screen, plug in EVDO and WiFi, run Knoppix on it to make it a wireless router (see Kyle Rankin's Knoppix Hacks, also published by O'Reilly), and then connect it to the Mac via Ethernet.
Heh heh heh.