So, apparently, I lost my mind over the last summer and built a computer in my car out of boredom, I was either going to spend the money for psychotherapy or this, this seemed healthier. It took over 10 design drawings, 5 built prototypes, and about 3 grand, and is still not where I want it to be. It has GPS, iTunes, long range 5 gHz Wireless-N interface, butt load of disk space, and last but not the least, touchscreen AC controls. The whole point of the project was to build a car computer that could be connected to virtually any button or sensor in the car and control it automatically thru scripts or manually thru the touchscreen, and to have a car computer that could be infinitely expanded. I'm not using a proprietary OS, so any software can be installed.
I got the computer connected to the AC controls, and now have the ability to connect it to anything in the car... ie windshield wipers, buy purchasing a humidity sensor and installing it outside the windshield I can program the computer to start the windshield wipers. I have reached my goal but I am still not satisfied. The AC control application has to be improved, automatic cabin temperature controls are still not implemented, I have two algorithms to build on but I don't have the time yet. I want to collect engine data from the OBD-II port and display it on the screen, if possible change ECU parameters on the fly (or drive, or whatever). I want to have a rear view camera mounted on the rear license plate that turns on automatically when driver shifts to R. I want another camera on the front recording the trips to h264 mov files, and maybe attach ECU data to it. I want to add long range and short range distance sensors to the body of the car in every angle, so the computer can calculate the height of the car from the ground, the distance to other cars while driving, and distance to obstacles while parking. Finally, the only thing I have on the console is the touchscreen and its boring, I will add a thin slot loading dvd burner, a media card reader with usb and firewire inputs, a gigabit network port, and direct access to the screen by composite video and sound inputs. I know, I know, I want a lot of things... Anyhow, here are the components and my opinions about them:
I've gone with an Intel Core Duo Mac Mini as the base of the system due to its stability, I can't be trying to reach the reset button every time the system hangs or "Blue Screen Of Death"'s on me... I would have gone with a PowerPC mac mini if Apple released a G5 version since I find the Intel Macs quite unstable, I have a quad G5 at home that I abuse daily 24/7 (just check the graphics stuff I have been doing). It handles pretty much anything I throw at it like a piece of cake and still has to crash since 2005.
A Xenarc 7" touchscreen, I should have selected a glare-proof screen, since that proves to be a problem.
A Carnetix 240w power supply. This thing is awesome, it turns on the computer with the ignition or pulse (keyless entry), and turns it off with the same thing too. It doesn't just cut the power, it sends the ACPI signal to the power button on the computer. It also runs the remote control sound amplifiers as well. It can be configured for anything thru the usb port as well.
A Pinnacle usb HD stick. This will be used for the rear and/or front view camera.
A Griffin Technology usb controller. I use PowerMate for controlling system sound and iTunes, but it can be configured to control virtually any software.
Some inline high-pass low-pass cutoffs to avoid sending highs to woofers and lows to tweeters.
A 100w audio amplifier. Since the radio is removed from the console and most stock radio head units have the amplifier in them, I had to add in another amplifier myself. This one is for highs and mids, there are two seperate amplifiers for the woofers.
A BU-535 GPS puck and RouteBuddy as navigation solution. The GPS puck couldn't stand the heat under the windshield glass and burnt out, I need to replace it, but RouteBuddy is amazing.
And finally, the parts that make this "carputer" so unique is the AC control module that I built (hardware) and coded myself. 3 servos, a Phidgets servo usb control board, Python (used for testing), Cocoa (for the actual controller application), and my car's actual HVAC control panel broken into pieces. I removed the actual controls from the panel to make the design more compact (after all this design has to fit inside the console), hooked them up to the servos. Wrote the code for the controller board thru Python first (I'll release the code for it at the bottom of this page), then thru Cocoa (no, I won't release the code for this, yet) for the actual application since I wanted the code to be Mac native. I also have a Phidgets 8/8/8 input output board to collect sensor data and control switches and whatnot, it will be used when I add the distance/proximity, humidity, temperature sensors. There will be also a light sensor hooked up to it to measure the exterior light and set the touchscreen brightness accordingly.
There will be pictures, links, snippets of code, other equipment and software installed, and a lot more description coming soon.