2004 Grand Prix GTP Carputer
This is my 2004 Grand Prix GTP; it is also the victim of my carputer install. I will start with some information about the car, and then work into the basics of the car computer, and then photos and all that good stuff. So here we go…

Vehicle
Make: (GM) Pontiac
Year: 2004
Model: Grand Prix
Sub-Model: GTP
Engine: GM 3.8L Supercharged (M90) V6
Stock HP: 260
Current HP: ~290 (I have no access to a dyno, but with mods and a strict guess.)
Current Mods: DHP 1.0 ECU (Engine Computer), 3.4 Supercharger Pulley (Stock is 3.8), Boost Bypass Mod, Shift Kit, K&N AirCharger, Replacement Down Pipe, 180° TStat
Future Mods: Received my HP Tuner. Seems like I have a problem though, it does not scan my car correctly, contacted support, need to dump ecu to file and send them logs.
I picked up this car at the Orlando Auto Auction with the help of my neighbor who can get in with dealer access. I first saw the body style in 2004 when the first models came out and fell in love with the body style. I love this vehicles curves.
After I got home the same day of purchase, I started to pull all of the components out of my 2000 Chevy Malibu LS for the carputer that I had installed. Now was the time to recreate everything, clean it up more, and put more time and effort into the install while nothing had been done yet, anything was possible.
Current Carputer Setup
Motherboard: VIA M10000
Memory: Generic Low Profile 512MB DDR
Boot Drive: 512MB Sandisk Compact Flash
USB Drive: 13GB Trash Hard Drive in a USB 2.0 Caddy. (Stores the Music, and Interface Stuff)
Power Supply: Opus 120W
Touch Screen: Lilliput (Older Style)
OS: Windows XP Pro (Trimmed)
OBDII Interface: BR-3 OBD Diagnostics Unit
At the moment, the carputer is hidden away in the trunk, in a small cubby that probably use to hold jumper cables from the factory, or something like that. When I got the car, it was empty, prime location for the motherboard and other system components. Power cables from the battery feed into the trunk for the carputer, amplifiers, and inverter. The inverter does not power any part of the carputer setup, it’s there for emergency situations that I need AC power.
The external drive is placed under the front passenger seat, for easy accessibility if necessary to remove and add music, or update any software on it. I have had this drive under the seat since I placed the carputer in the original car. I have gone over railroad tracks and other rough terrain and have yet to have a problem with this drive. I have planned for this drive to go bad, thats why it’s a ‘trash’ drive. I have tons of these drives lying around, so it can be replaced with anything.
The operating system, Windows XP Pro, sits on the 512MB compact flash card for booting the system, and setting up all that is needed for the system to run. Windows XP takes up approximately 300MB of the 512MB available. All other programs are installed on the external drive. A write filter is loaded at boot to prevent the system from writing to the compact flash, unless I explicitly tell it to do so. This prevents corrupt files from powering off incorrectly, or anything else that might happen… Flash burnout to be exact. My boot times with everything in place, is around 35 to 40 seconds. This time includes the boot process, Windows XP loading, and launching my interface program.
My interface program which I custom made for the CarputerGTP is a simple application made in VB6 (Will explain later) that allows me to touch buttons and have the computer load objects, change song, and all that good stuff. It also drives my external 16 character 2 line LCD module display. Showing the song playing, the play list it’s on and the time remaining and total for the current song. Along with that, the interface program also talks to my OBDII controller and the car itself, reading engine stats and then if I tell the program to do so, display those stats on the external LCD screen. Currently monitored on the small LCD are: Boost, RPM, Engine Load, and Throttle Position. Also, the interface has the popular software MapMonkey embedded, which talks to the GPS unit, providing navigation and such. My program also interfaces with MapMonkey as to take a sample of my current speed, location, and GPS coords and save them to the external drive in a database every 500ms. “Do you know how fast you where going Sir?”, “Yes, Officer. Exactly 45MPH!”.
Little note on the VB6. People always try and say VB6 is horrible and I should use .NET or something like that. Well, yes, I could have. But you know what, I fucking hate installing the .NET framework to run a program that I can create in VB6 and have no extra libraries to install, using up valuable space on the 512MB compact flash card. Yes, .NET is a HUGE framework when it comes to those limited space conditions. Also, I have spent a few hundred hours working on my interface, tweaking memory usage, string handling, garbage stuffs, cpu usage, and IO processes. I know what I’m doing. When doing its’ entire job, the computer uses approximately 45% of the CPU and only 48MB of Memory (According to Task Manager). If you were not following here is a complete list of what the interface does:
1) Touch screen interface to carputer.
2) Controls external Winamp Process. (Pause, Play, Next, Prev)
3) Controls Winamp to load different Play lists.
4) Controls COM1 for Serial Attached 2 Line, 16 Character LCD providing real-time winamp song information.
5) Controls COM2 for OBDII data viewing, data mining, display and record.
6) Combines the above two to show OBDII information on the LCD.
7) MapMonkey integration which along with Destinator allows voice guided navigation.
8) Logging of current location every 500ms to a database on the external drive.
9) Interface has no flashy crap. Just a progress bar for the song position, title playing, OBDII information, and Location information.
