Sunday 12 June 2011

Onstar system

The OnStar System is becoming more and more common as GM installs it by default in many of their vehicles. At the heart of this system is a GPS receiver, manufactured by Motorola, called the Oncore. Once you make a serial connection to this Oncore GPS, you can recieve real-time positioning information on your Laptop or PDA - In either Motorola's proprietary (but well documented) format, or in standard NMEA format.
In order to do this, you will need the following items:
  • A vehicle with OnStar
  • RS232-to-TTL Serial Level Converter
  • Torx T-10 (star shaped) screwdriver/bit
  • Solder Iron/Solder
  • Screwdriver/Wire Stripper/Pliers, etc.
After tearing apart my OnStar, I found the actual GPS board inside to be a Motorola Oncore GTPlus. I decided that the easiest way to interface with this would be to connect directly to this board, rather than trying to use the OnStar wiring. The main reason I decided to go this route was due to the lack of infomation about Onstar's wiring and protocols, and the wealth of information about the Motorola Oncore pin-outs and protocol. I also wanted to be able to talk directly to the GPS regardless of the current status of the OnStar system, and have no idea if that is possible through the OnStar's wiring.
In order to connect a serial port directly to the Oncore you will need an RS232 to TTL level converter. These are available for sale on the web, as well as schematics to build your own. I decided to use a pre-built converter, the RLC1 from Digital Nemesis. I chose this one because it was built into the DB9 shell, so it would require minimal wiring. I figured this was also one less thing for me to screw up. I cut the Molex connector off the end so I could solder it directly to the board, and soldered the RTS (Request to Send) and CTS (Clear to Send) wires together since these aren't used by the oncore.

Finding your OnStar Unit.

Finding Your OnStar Unit
There are two main hardware pieces to OnStar. GM calls them the Vehicle Interface Unit (VIU) and the Vehicle Communications Unit (VCU). The VIU is the computer that controls OnStar, and this is where the GPS unit is located. The VCU is the cell phone/modem that transmits the data to the OnStar call center. The VIU is the main thing we're interested in - cause we want to get to the GPS.
Image

* Note - the two separate units (VCU and VIU) are now integrated into a single VCIM (Vehicle Comm and Interface Module) in some 2002 and newer vehicles.
If you have a Chevy Blazer, this is easy. It is in the rear cargo area, on the passenger side. There is one simple clip to flip, and you're there. It's easier to get to than the jack and lug wrench.

I don't have any other vehicles with OnStar. So if you don't have a Blazer, I honestly don't have a clue where the VIU (or VCIM) is located in your vehicle.
* Darren Wright has graciously offerred to help anyone who would like the location and instructions to get to their VIU. You can send him an email requesting this information at dawright@shaw.ca. As he finds the information, I will update this site with an archive of the instructions for each vehicle.

If you have a suburban, read this... Re: OnStar location (Although I wonder if this refers to the VCU and not the VIU. Either way, I assume if you find one the other is nearby.)
If none of this helps, all I can say is search the web and newsgroups... If you know where the VIU is located in any additional vehicles, please post in the forums to assist others!

Taking it apart

.
In the Blazer, the VIU and VCU are mounted together on a single bracket, and are easily removed as one unit. In order to do this, you will need to unplug the wiring harness and GPS antenna from the bracket, and unplug the cellular antenna from the VCU. Be careful with the GPS coax, apparently bending or creasing this wire can easily damage it. The cell antenna looks like it should screw off, but you actually just push the wire in while pulling back on the connector housing.

Once you get it out of the vehicle, you'll want to remove the VIU from the rest of the assembly. There are two rectangle connectors for the wiring harness that are easiest to remove if you pry back the clip with a small screwdriver. You will also have to unplug the GPS Coax. There are four phillips screws holding the VIU onto the bracket.

Now let's get the cover off this thing! The cover is only clipped on, and can be easily pried off using a small screwdriver. It should be fairly obvious when you take a look at it. Once you get that off, you will need to remove the three Torx (star) screws that hold the circuit board. You will also need to unbolt the GPS coax connector and remove the torx screw under the wiring harness connector. (See above image). Push the coax connector into the VIU housing, and you should be able to unfold the circuit board as shown below.

Now that we've got it open, the Oncore's location should be obvious. It's inside the metal RF shield that the antenna wire is hanging from. This shield will slide right off to reveal the Oncore.

Creating Serial Interface

Before we actually solder onto this thing, it is probably a good idea to take the GPS module out and make sure you know which one it is. I have seen postings on the web that the newer OnStar systems are using the Oncore M12. The basic idea for connecting to those systems should be the same, but the pin-out on the M12 is different from the GT. The pin-outs for all the OnCore GPS models are available from Motorola's Website. Their User's Manual has diagrams and model numbers that will help you identify your unit.


I decided that rather than connecting directly to the Oncore unit, it would be easier to make the solder connections to the back of the OnStar VIU Board where the socket for the Oncore unit is soldered. This is easy to identify because there are brackets in the four corners where the Oncore bolts on. In the image below, I marked these brackets in blue and circled the header connection in red. (Click images for a larger version)

The table below shows the pin assignments, with red font to indicate the ones we need.
(Refer to the Chapter 3 of the Oncore user's guide for pin diagram.)
PIN
SIGNAL
Description
RLC-1 TTL Converter
1
Battery
Backup Power

2
+5V PWR
Main Power
Vcc/White
3
Ground
Ground

4
VPP
Flash Memory Progrramming

5
RTCM In
DGPS Correction Input

6
1PPS
1 Pulse Per Second Signal

7
1 PPS RTN
1 Pulse Per Second

8
TTL TXD
Transmit Logic 5V
Data Out/Red
9
TTL RXD
Receive Logic 5V
Data In/Green
10
TTL RTN
TTL Signal Ground
Power and Signal Ground
I wasn't really sure which ground connection to use, since the Oncore had separate ones for Signal and Power. I checked across the two pins with an ohmmeter and found them to be connected internally anyway. If you use the RLC-1 TTL Converter, the connection should work as shown in the last column above. The yellow (RTS) and blue(CTS) wires from the RLC1 should be connected together (if applicable).

Now that the connections are done, it's time to put it all back together. In order to fit the interface wire out through the case, I clipped a small piece of the overlapping metal on the cover, and folded it out of the way.

Now put it back in your car, plug it in, and hook it up to your PC!

Communicating with OnStar's OnCore

The easiest way to test out your interface is to use Motorola's WinOncore Software. This software provides a GUI for checking the satellite signal, shows the satellite positions, and has a Lat./Lon. grid display that tracks your position. You can also switch from Motorola Binary to NMEA mode, run gps diagnostics, and get the reciever ID and serial info from your Oncore.

Below, I have provided links to several web resources that will walk you through the Motorola Binary format, or how to switch your GPS to NMEA mode via QBasic, DOS ,or your terminal software. Note - when you switch the Oncore to NMEA, the OnStar indicator light in your vehicle will turn red. After you switch it back - it will go back to green.
OnStar Specific Links

Motorola Oncore Info
General GPS Info
 {mos_sb_discuss:18}

No comments:

Post a Comment

make comments