Since those of us in the U.S. with non-tech models don't get a factory backup camera, I thought my first project would be to install one of my own. I'll be taking lots of pics as I go, so hopefully it will be easy to follow for anyone wanting to do something similar. I'm going to split the work into three phases:
1) Install the camera and bring the wiring inside the cabin
2) Run the wiring forward to the headunit, concealing it as much as possible
3) Interface the camera to the display
Currently I have completed phase 1, and will move on to phase two next week.
Phase 1: Install the camera
I'm using a camera with a built-in license plate mount, the BOYO VTL375. I ran into one problem right away -- the frame is meant to be mounted by feeding bolts through from the front and securing them with nuts from the back. But here is what the Veloster back panel looks like with the plate removed:
The back panel is flexible plastic with an outer wall and an inner wall, separated by an inch or so. The rectangular slots only provide access to the space between the outer and inner walls, and there's no way to reach within there to get a nut onto anything. The only way I could see to make that work would be to remove the back panel completely and drill access holes on the back side, install the frame, and then re-install the panel. I chose to take the easy way out and just got some M6-1.00x20 cap screws to use in place of the bolts that came with the frame. The screws thread directly into the retaining nuts already in the panel and can be installed completely from the front. Doesn't get much easier than that. The obvious drawback is that the frame is no longer theft-resistant like it would be if it were installed from behind.
The next problem was what to do with the wire. The slots give access to the inside of the panel, but there doesn't seem to be an easy way to get from inside the panel to inside the car. I believe I could have drilled a hole through the plastic behind one of the slots, but I decided not to for two reasons. First I didn't want to modify the panel if it could be avoided, and second I wanted to arrange things so it would be easy to remove the frame at any time. If I fed the wire straight back through a hole right behind the plate, it would be harder to have a disconnect point that could be easily reached. What I did instead was just drop the wire straight down; the panel is open at the bottom so the wire can come out there and then be connected to the main wire coming from the inside the car. Making the connection outside the main body makes it easy to disconnect it whenever needed to remove the frame. Here's a pic of the installed frame, note the wire hanging down just to the right of the exhaust pipes.
Now I had the frame wire running to the area of the right rear fender, so I needed to run the main wire from inside the car to that same area to connect with it. Looking inside the hatch area, I only saw one obvious possibility. Here's what the hatch area looks like with the rear trim panel removed (looking straight down into the tire well):
Note the rectangular cutout in the center of the back wall; that seems to be the only place where you can directly touch the outer chassis wall. I drilled a hole there just big enough to pass the wire through. The wire can then be snaked down and toward the right fender to join up with the frame wire. Here's a pic of the wire in place, with a grommet for a better seal:
Then some duct tape to keep everything in place behind the trim (looking down and "over" the hatch, so it may look upside down--the wire is running toward the passenger side):
Then it just remained to tuck the leftover slack up behind the back panel, taking care to keep some distance from the exhaust pipes and muffler that are nearby. There's a plastic mounting bracket near the right side that forms a loop shape, which made a convenient place around which to wrap the wires and secure with duct tape.
Finally a quick test to make sure everything is working as expected. So far so good!
Phase 2: Run the wiring
This turned out to be much easier than expected. I had anticipated having to remove various pieces of trim, and I already knew that removing the rear door trim piece requires removing the back seat cushions. So I was prepared for a long bit of work. Thank goodness I couldn't find the right socket to loosen the rear seat bolt, otherwise I might have done that for nothing.
As it turns out, it's very easy to pry the edges of the trim pieces up just enough to slip the wire under them. The clips seem to be further in, so there is no need to get the wire inside the clips for it to be completely hidden. I used a plastic spatula for most of the prying, along with dull butterknife (no sharp edge and no serrations) to push the wire underneath bit by bit. I didn't even have to remove the seatbelt anchor to get at the center trim piece, just tucked the wire in like on the other pieces.
I was going to take pictures as I went, but there really isn't anything to show since I never had the trim disassembled. Just the two end points, first in the hatch where it's just some duct tape to keep the wire underneath the carpet:
And then just underneath the glove box, where the wire exits from behind the trim:
So now it's just a matter of wiring up a power feed, and deciding how to interface it to the display.
Not a lot of actual progress to report in the last few days, but some of the prep work is actually interesting in itself so I'll go ahead and post some pics.
I removed the center floor console trim (the stuff around the transmission hump) and had a good look around there. It was a necessary step to getting at the multimedia jack housing underneath the AV unit, and really wasn't as bad as it looks. The only really tricky part was figuring out how to disconnect the little white wiring plug that connects to the gearshift faceplate; finally realized that I had to use a jeweler's screwdriver to depress the two little tabs that were holding it together while prying it apart.
Here's what is looks like with everything removed:
The neat thing is that there is plenty of room inside there if I needed a place to mount some relays or even a hard drive, and part of it is accessible through its own little hatch just below the parking brake. There is a clear wiring path from behind the dash all the way to inside the storage bin. I am now considering running one or two extra USB cables from the headunit into the storage bin so I can have keep my iphone out of the way but still connected, or maybe have a dedicated ipod semi-permanently installed. Or I might run a wire through the side of the console and mount some kind of "holster" that I could conveniently drop my iphone into and have it automatically wired up. Of course all these options would probably require a switch somewhere to choose which USB cable was active for data, since I don't think the headunit will recognize more than one device at a time. All the cables could be powered, just the data lines would need to be switched.
Since I haven't had a chance to pull the multimedia jack yet, I decided to put the top cover back on the console while leaving the front/side pieces off:
That way I can still drive around, but should be able to run some wiring whenever I get some spare time to mess with it again.
Well so far it's not good news. I just did a quick test with the "B" connector plugged in and the "A" unplugged, and the headunit doesn't recognize when a cable is inserted. Plug the A connector in, and it works normally. So there is definately a relationship between the two connectors. It's now pretty clear that there is active circuitry within the unit, and the wiring harness is not just connected directly to the front jack contacts. I'm hoping that the only reason the usb is needed is to provide 5v to the circuitry. I will try to test that by supplying 5v on the usb power pins but leaving the usb data pins unconnected.
I'm also being slowed down by not having an easy way to connect wiring to the plugs. The pins appear to be 2mm pitch, so the common .1" stuff doesn't fit. I can't find any 2mm connectors locally, so I may have to order something online. I'm going to have to custom make some kind of breakout cable in order to do more testing, and I definitely want the finished installation to use a removable connector rather than cutting into the existing wiring.
Still waiting to get some proper wiring supplies, but I found a few interesting things in the meantime. First there is this from hmaservice.com, for a 2010 Elantra:
I would think the Veloster schematic should be very similar. As I hoped, the USB connection is being used for power but the data lines go straight through. The square in the center looks like it's supposed to be a separate circuit or maybe even a discrete IC, and unfortunately we don't get to see what's inside it. Both audio channels go through it and it has a "Detect" input, which implies that it does some switching based on the presence of a cable. But something is wrong here...the way the circuit is shown, I don't see any way that AUX_Detect could ever be anything other than 5v. At the very least there should be a resistor on the connection to the USB 5v line. I would think that they just omitted resistors from the diagram, but one is clearly shown on the ground line.
I decided to bite the bullet and open up my unit to see what was really inside (after verifying that replacements can be purchased online for around $40-$50). Here it is, top and bottom:
Of course I immediately visited that url printed on the circuit board, but it's in Korean and didn't seem to have any real data, just sales stuff.
There is no separate IC, and it seems to be just resistors and a couple of capacitors. Based on that, I don't think there's any real "switching" going on with the audio lines, probably just filtering. And surely there's no way it can be sending USB data, which is good news. I'm afraid I was not able to trace the wiring paths accurately to see how DETENT is connected, but I can now make some reasonable guesses.
Here's my best theory at this point: the DETENT line is permanently connected to the USB 5v line by a medium resistor (probably 47K). It is connected to GND through a smaller resistor (probably 2K). The connection to ground goes through the plug contact which is normally closed. So when no cable is present, DETENT sees 47K to 5v and 2K to GND which results in a logic low (assuming TTL logic). When a cable is present, DETENT sees only the 47K to 5v which results in a logic high. This means that unless there is another pull-up resistor somewhere on the headunit side, it won't be enough to disconnect the DETENT line; instead it will need to be connected to the 5v line through a resistor of approximately 47K (exact value probably not important).
I had a little time to "play" this morning, so I finally made a Frankenstein wiring harness to test my working theory. I can now verify that the pull-up resistor is the key. In summary, to automatically switch the headunit to aux mode Pin 3 needs to be connected to the USB +5v line through a suitable resistor (the circuit board uses 47k, I didn't have one of those handy so I used 60k). To switch back, the circuit board connects Pin 3 through a 2k resistor to ground; however in testing leaving the line floating seems to have the same effect (although I don't know why you would ever want to float it in a finished setup). I'll take a pic or two of the test rig later just in case anyone is curious.
Most IC's have a very simple type of input pin which is based purely on voltage. They classify everything as a "high" or a "low" based on whether the voltage present on the input pin is closer to the supply voltage (called Vcc, here +5v) or the ground voltage (GND). Sometimes an input pin is connected directly to Vcc or GND, but often a resistor is used to limit the current flow. Since the input is sensitive to voltage and not current, there's no reason to have any more current flowing than necessary and many IC's have strict limits on how much they can handle. The exact value of a resistor used like this is not critical, it just needs to be within a broad range according to the upper and lower limits of the IC input.
Often an input pin is connected through various paths to both Vcc and GND. The simplest way to think of this is that whichever path has the lowest resistance "wins" as far as the input pin is concerned. E.g. if the pin is connected to Vcc through a 10k resistor and to GND through a 100k resistor, the input reads "high"; if the pin is connected to Vcc through a 10k resistor and to GND through a 1k resistor, the input reads "low". (This is a bit oversimplified since the pin is not actually measuring resistance in any way, but for simple circuits the voltage at a given point is directly related to the relative resistances so it works out the same)
One last point is that many ICs have some internal circuitry that determines how an input reads if it is not connected to anything (floating). Some have "pull-ups" which force a floating input to read as high, others have "pull-downs" which force a floating input to read as low. It appears that the Veloster headunit is using the pull-down approach when it comes to the AUX_Detent pin, which is unfortunate for us because it means that disconnecting the wire leads to a "low" state which is the opposite of what we want.
So what we need to do is connect the wire such that it will result in a "high" state on the headunit side, which means connecting it to Vcc. It is possible that it could be directly connected, but without knowing the specs of the entire system it's impossible to know if that would result in more current flowing than something was designed to handle. It's much safer to put a resistor inline, and since we're only connecting to Vcc the exact value shouldn't matter much. 47k should be the baseline, and it's better to go higher than lower, worst case then is that it just won't detect the switch. My guess would be that anything from around 40k to 100k should be indestinguishable.
Here's a basic diagram of how the internal wiring seems to be arranged. It's not meant to be complete, there's a lot of stuff missing (in particular the left/right audio lines do not go straight through as depicted here, but that's irrelevant for this purpose). Also note that I'm only showing one ground pin (Pin 7) on the white connector for simplicity, but all the ground pins are connected together internally.
I'll also post a pic of the wiring rig tomorrow if I get a chance.
Here is a pic of the wiring test rig within the car. I apologize for the poor quality of the pic, it was impossible to get everything in focus at once.
The white plug at the top left is the 12-pin AUX connector from the headunit; the gray plug at top center is the 4-pin USB connecter from the headunit. The blob at the lower right is the circuit board that I removed from the casing earlier. Normally it would be plugged directly into the two connectors at the top, I just separated them and used wires between them so I could move things around.
If you look carefully at the bottom right, you can see six different colored wires. The yellow is audio left and is connected to pin 1 on both plugs. Red is audio right and is connected to pin 2 on both plugs. Blue is Illumination+ and is connected to pin 6 on both plugs. White is ground and is connected to pin 12 on both plugs. Black is video and is connected to pin 4 on the hu plug; it would normally be connected to pin 4 on the board as well but I had that end loose so it could connect to the camera. Green is the detent line, connected to pin 3 on the hu plug and unconnected on the board end.
The four wires from the USB plug run directly into the corresponding pins on the board, but if you look carefully you can see that the pin 1 line has a resistor sticking out of it, connected to the wire in "T" fashion. The other end of the resistor is the bare metal wire you can see sticking down between the red and green wires.
With the video camera powered up and its video output connected to the black wire, touching the green wire to the resistor wire causes the hu to switch to the camera view. Disconnecting the green wire causes it to switch back. So the finished setup will need to switch two wires, the green and black (pins 3 and 4). In normal mode they will be connected to pins 3/4 on the board which will allow normal operation of the aux cable, and in camera mode the black wire will be connected to the camera video out and the green wire will be connected to the resistor.
Hope that makes some sense...it's actually pretty simple in theory, just rather hard to explain in words.
Well crap, just when I thought I was just about finished...
I was assuming (I know, not smart!) that I could mount the switch in one of the blanks on the existing switch panel just above the fusebox. Most of it is empty since I only have the base model. But now that I pulled the lower dash off to get at it, I see that it's a solid "pod" similar to the aux jack module. Not sure if there's room enough in there to even mount a new switch, but the truly bad part is that there is a circuit board covering the entire back side:
So I don't see any realistic way to run any wiring inside it. Major bummer. I will look at it again later, but for now it seems that I will have to come up with a completely different plan for mounting a switch.
Finally, it's all done! It took a lot longer than anticipated, but hopefully the things I discovered along the way will help others get it done a lot quicker.
Phase 3: Interface the camera to the display
Several trim pieces must be removed to get at the wiring we need. First the floor console trim (the plastic pieces around the gearshift). Following the instructions on hmaservice was straightforward and there were no real surprises. Next comes the removal of the "pod" that houses that aux jack and usb port. This was a little trickier, according to hmaservice it just pulls off but it was hard to tell where to start or where the fasteners were. I think a pic of the pod after removal should make this step much easier for others:
Notice there are three "spring" fasteners along the top front edge and two more at the back bottom corners, and there are two "tab lock" fasteners along the back bottom edge. So start at the back bottom and pry forward gently until you can press the little tabs to release them, then go around all edges prying forward until the spring fasteners pop loose.
Once the pod is loose, you will see four wiring plugs. The center two are the ones we need to tap. The direct approach would be to simply cut some wires on the existing plug and splice directly to them. It would certainly have saved a lot of work, but I had an firm goal that everything I did should be completely removable -- in the case that I ever have to take the car in for repairs on the A/V system I don't want my warranty to be denied, so I wanted to be able to put everything back to "stock" at any time. That means some kind of bridge cable to go between the existing plug and jack. If the plugs used a common format, it would still be a pretty simple prospect to make a short cable with a female connector on one end and a male connector on the other. Unfortunately the pin layout on the plugs is not anything I could find. The larger plug seems to use a horizontal spacing of just under 2mm and a vertical spacing of around 3mm. I wasted a lot of time trying to modify various plugs and jacks to fit, but never got a single piece that would fit all the pins at once. I finally gave up and decided to just do it with single wires. It's a bit hackish and it makes connecting everything a real pain, but in the end it works. I made a number a jumpers which were just bare wire on one end to act as the pin, and a female connector on the other end to act as the socket:
The female ends were ripped from an old computer case; they are the connectors that normally attach the case to the motherboard for things like the power button, reset button, hdd light, etc. Unfortunately they use stranded wire which doesn't make a good pin, which is why I had to splice them all with a solid-core wire. But hey presto, little extension cables!
I also decided to use a standard (Cat-5) networking cable to run outside the pod to the switch and fusebox. It's very convenient because it contains eight wires in a single cable, and the wires are solid-core so they can be used as pins just like the jumper wires. Here is the wiring diagram for the connections that need to be made:
You might wonder why I ran power and ground from outside the pod when both were available inside the pod from the lighter plugs. I had two extra wires in the cable, and decided it would be more flexible to run power along with everything else. That way for example I could control the camera power with a switch, or just manually disconnect it if I wanted without having to disassemble everything.
The network cable is run straight back from the pod area and then to the left, and the camera cable is run back and to the right. With the jumpers and other wires all connected (with lots of duct tape to hold everything in place) it looks like this:
Kind of crowded, but there's plenty of room in the pod to scrunch it all in and fasten the pod back in place. That leaves the camera cable to be tucked up behind the glove box, and the network cable to be run along the lower crash panel toward the fusebox.
I decided early on I was going to use a manual switch to activate the camera. Others may prefer a relay that activates automatically when in reverse. That actually would be a bit easier, since the relay can be hidden anywhere convenient whereas a switch requires some extra work to mount it in a good place. I mounted mine just to the right of the fusebox on the lower crash panel. Here is what the wiring looks like on the back of the crash panel:
You can see the two orange wires going into the fusebox opening for power/ground, and the other six wires connected to the back of the switch. The solid orange wire is connected to a fuse plug and will be plugged into an available fuse slot to provide +12v; the orange/white wire has a ring terminal and will be screwed onto the frame to provide ground. And finally, this is what it looks like from the front once everything is back in place:
And that's it. With the switch down everything operates normally, including the aux jack on the console. Flip the switch up (or put it in reverse if using a relay) and the screen automatically switches to the camera view.
It might have cost me a month or so of my time, but it saved me $4000!
Very important update!!
I realized this morning I had made an error in my installation. The sound quality of my iphone music just didn't seem right, so I undid some of my work and plugged the USB plug directly into the jack (without the jumpers in between). Sure enough, sound quality back to normal. It seems that even though the jumpers are very short, they degrade the signal strength enough to be noticeable. It is possible that twisting the D+ and D- jumpers together may help (they are twisted together in a normal USB cable) but I decided I would rather get rid of them altogether if possible. Since the only pin on the USB plug we need to tap is pin 1, three of the jumpers aren't necessary anyway, they were only there because the plug was separated from the jack. I took a small stranded wire, stripped a bit of insulation of the end, inserted it onto the hole for pin 1, then very carefully bent the wire around the plug and pushed the plug into the jack. It took many tries to get it right, the tip of the wire has to stay in the hole alongside the pin with the rest of the wire protruding so it can be attached to the resistor. It's important to use stranded wire because it really has to deform around the pin, and the body of the wire needs to flatten quite a bit since the plug fits pretty snugly. Once it seems to stay in the right place, make sure to test continuity to make sure that the wire is connected to pin 1 but NOT to ground. The metal body of the plug is grounded, so if the wire slips while inserting the plug it could easily end up touching that. To test proper connection, I sacrificed a USB cable by cutting off one end so I could get to the four wires inside. With that plugged into the dash jack, I could check that the new wire was touching pin 1 and only pin 1. Then I connected the new wire to the resistor just like the jumper had been previously.
Happy to report that everything is now working great, camera looks good and music sounds fine!