Tuesday, September 13, 2011

CodeGenerator v1.5.1.0 Has Been Released

We've just released a new version of CodeGenerator. We invite you to install v1.5.1.0 at your convenience; download links are at the bottom of this email.

What's New?
This is a bug-fix release which primarily fixes an issue some users were having during activation. If you were previously unable to activate CodeGenerator, please try to do so with this new version.

Getting Started
We realize a new tool can be tough to get into at first, that's why we've provided a working code sample. You can find this code sample by clicking the Help > Samples from within CodeGenerator. The included sample can be copied and re-used as a base to start your project - the project files and templates are ready to go!

Getting Help
If you have any questions or need help getting started, please don't hesitate to contact us.

Sending Feedback
We'd love to hear any feedback you have, you can submit feedback easily by choosing About > Feedback from within CodeGenerator.

Without further ado, here are the links to download the latest version:

We appreciate your support!

Monday, September 5, 2011

CarPC #1: The Parts List

Time for Repairs
My G35 is a great car, however, for the past year I've been putting up with numerous issues. Luckily, they all stem from the same source so fixing the problem is as easy as replacing the part that's gone bad. That part happens to be the headunit/climate control unit. The headunit seems to have a mind of it's own - CD functionality doesn't work at all; audio cuts out randomly for an indeterminate amount of time; the display sometimes doesn't turn on at all; the auxiliary input only works part of the time. When the headunit is non-responsive, that means the climate controls are also non responsive. For the last few weeks, in fact, I haven't been able to use any of the buttons on the dash relating to audio or climate. Luckily the last climate setting was at a comfortable 74 degrees with A/C on - it's now stuck in this position until I do something to fix it.

A replacement head-climate-unit (let's call it an HCU) is only about $500 if I install it myself, which is no problem - I've been in the guts behind the dash many times before. And that would certainly fix the issues I've been having...but it won't give me any new, fun features. I got the car one model-year too early for it to include things such as Bluetooth and the ability to play music from an external device or MP3s from a CD. So do I really want to just install a new, already-outdated, headunit? The answer is clearly "no."

I did some research and found a nice JVC headunit from Crutchfield which had a lot of features and great reviews. Also, Crutchfield is great since they include all of the wire harnesses you need which makes it really easy for just about anyone to have a successful install. It's still not quite as easy in a G35 for a couple of reasons:

  1. As I mentioned, the headunit and climate control are all one unit with integrated circuitry.
  2. The factory headunit is not a standard size, it blends in with the rest of the center console and has a slot for the CDs and buttons and the display which are cut out of the trim (same with the tape slot but let's not talk about that).
  3. The G35 either comes with a storage pocket above the climate controls or factory navigation buttons and a pop-up screen. The pocket and navigation unit are, of course, very slightly different sizes.
So to make it work, you have to get an aftermarket replacement for the center console trim, aftermarket climate controls, and make sure you get the right trim that will fit around your pocket or navigation unit. (In this case, I do have the factory navigation.) There are only a couple of options for the aftermarket trim and they include climate controls. Metra makes a kit which fits the pocket and JDM makes a kit which fits the navigation. The JDM kit is preferred because the climate control buttons match the original buttons whereas the Metra buttons are a gray rubber which looks and feels much cheaper. However, the JDM kit does not include a "dual" button to control the left or right side of the car independently (you can, however, solder your old button onto the new board). Once you've figured all of that out, installation should be a breeze.

So did I go with the JVC headunit? No. I felt like any headunit I bought would lock me into the current features it included. And $700 is a lot to spend for something that is guaranteed to not be future-proof. Also, it's not as fun as a CarPC.

Planning for the CarPC
I had gone down this road before. A few years ago I was going to put a CarPC in this same car. I bought most of the parts but never actually finished the project. At that point I was going to keep the factory headunit and try to make the navigation screen double as a screen for the CarPC - which meant converting it to a touch screen. I bought a touch device which could be attached to any screen. I knew it wouldn't fit perfectly so I was ready to perform some slight modifications to the interior of the screen housing. I started by filing bit by bit until the touch panel would fit in front of the screen (still within the housing). And when I thought I had it right, I attempted to push the panel into place. I was gentle but apparently not gentle enough. I ended up cracking the touch panel in a couple of the corners. This ended up being the death of the project, I was fraught with frustration and disappointment.

At that time the idea of a CarPC was fairly new so the components were a bit larger and more room was required. Now, we have Mini-ITX (6.7" x 6.7"), Nano-ITX (4.7" x 4.7"), and even Pico-ITX (3.9" x 2.8") boards. We can build a CarPC without taking up much room at all. So the CarPC I'm building this time around is about four times smaller than the original. Pico-ITX boards are more for embedded systems and have the CPU pre-installed. Nano-ITX generally use an Intel Atom processor and all components are integrated as well. Nano-ITX is a great choice for a CarPC but the options are severely limited right now. There are only a handful of boards to choose from. Mini-ITX boards are still small, allow you to choose your CPU and other components (if you wish to do so), and there are plenty to choose from - for those reasons, I decided to go with Mini-ITX.

Dash Kit
After weighing the pros and cons of the Metra and JDM dash kits, I decided to go with a combo-deal from Bybyte. They offer the Metra kit with an LCD screen pre-installed. This gives a much better looking option as far as the screen installation goes, but it still has the ugly rubber buttons. I figured I could live with that or perhaps try to swap out the buttons from the factory unit. I chose the combo with the Lilliput EBY701 screen. From my research this screen is bright and clear - we'll see when it arrives.

In a car as well-designed as the G35, there is not a lot of unused space. The seats touch the floor so you can't shove anything under there. The only free real estate is in the trunk. Well, in this case, since I was removing the factory HCU, a good amount of space would be freed up behind the dash, too. So I started to look into in-dash cases. But I was only able to find cases that were designed for Nano-ITX boards. This makes sense since a Mini-ITX board would barely fit horizontally through a DIM slot by itself. Once you add the case around it, it would be a really tight fit. Bybyte also offers a development kit which allows you to build a double-DIN case to fit your needs. I toyed with the idea of trying to cram a Mini-ITX board inside the case but eventually realized it wouldn't be worth it. I emailed them anyway to ask, out of curiosity, if they had planned on offering a double-DIN Mini-ITX solution. They informed me that they were in the process of manufacturing an extension to their current double-DIN enclosure which would accommodate a Mini-ITX board and I would be put on the list of people to contact when they had completed testing.

So I moved on and began looking for a small case which I could mount in the trunk. I looked at numerous sites but nobody really had what I wanted. Except for Mini-Box.com. They manufacturer a lot of cool things for CarPCs. I was originally interested in their VoomPC-2 CarPC Enclosure but after looking around some more I decided to go with their latest offering, the M350 Universal Mini-ITX case. This case is attractive and simple, has numerous mounting options, room for two 2.5" hard drives (or one hard drive and two 40mm fans - the configuration I chose) and it's tiny, too. I emailed back and forth with Mini-Box and they helped me narrow down the rest of my options

Since PCs use DC power and a car already provides DC power, there is no need for a bulky PSU or an AC adapter. Mini-Box, once again, manufactures some really cool mini PSUs. I chose the M3-ATX which is designed for in-car installations and provides 125 watts of clean power. The PSU plugs directly into the motherboard's ATX connector. Other wires leave the PSU and supply power to SATA or IDE drives.

I also ordered an AC adapter and a barrel connector so I would be able to easily power the PC in the house without switching out the power supply.

After doing my research I ended up choosing a Zotac GITX880-A-E Mini-ITX board which has a built-in ATI Radeon HD 4250 graphics card with HDMI out, HD audio, USB 3.0, SATA3 and 802.11N. The built-in wireless was a must-have for me - this will make it easier to sync my media when the car is parked in the garage.

The Zotac mobo has an AM3 CPU socket which accepts an AMD Phenom II, Athlon II or Sempron processor. I wanted a low-power processor since wattage would be limited. I ended up picking an AMD Athlon II X4 605e, a quad-core 2.3Ghz processor which will be more than enough power for a CarPC.

RAM is so cheap these days I knew I'd be able to max out the board at 8GB for very little money. Narrowing down my choices using Newegg's great sidebar, I found a good deal on a pair of 4GB sticks of G.Skill Sniper DDR3 1333. Not only were they inexpensive and well-rated, they also look cool and have "sniper" in the name - so they sound cool, too.

Hard Drive
Of course it had to be small, have ample space for music, interface with SATA and be inexpensive. Using Newegg's narrowing feature again led me to the prefect choice: a Samsung Spinpoint 500GB 7200RPM 2.5" SATA3 drive with a 16MB cache. You can't go wrong with Samsung electronics and this was the best price-per-gigabyte I could find.

Accessories & Installation Parts
Bluetooth is a requirement so I chose the amazingly small cirago Micro Bluetooth 3.0 USB adapter. I'm not sure how they were able to fit anything worthwhile inside this tiny thing.

Of course there are a lot of wires needed to make this all work. First off you need to get power to the PC. I already had an 8AWG Rockford Fosgate lead wire I would use to connect the PC directly to the battery. I bought a 25' VGA+Audio cable along with a gender changer to run to the front of the car  alongside a 16' USB cable and an RCA+Remote wire I already had. The video portion of the VGA cable will obviously provide a signal to the LCD screen; the audio portion of the VGA cable will allow for a microphone to me located at the front of the car in order to use speech to control the front-end as well as hands-free phone usage. The USB cable will attach to a 4-port mini USB hub I already have which will allow me to hook up the touch portion of the LCD as well as an optional input device. The RCA wire will, of course, bring audio to the factory wiring behind the dash (which in turn runs back to the trunk where the Bose amplifier is before continuing on to the speakers); the remote wire will attach to the ignition wire behind the dash which will signal the PC to turn on and off. Finally, I ordered a wire harness which will allow me to leave the factory wiring intact.

It's a long list of parts but it will be fun to put it all together. Part 2 will cover the initial setup - I just have to wait for everything to arrive!