![A wiring diagram for an OnStar GPS hack.](https://www.popsci.com/wp-content/uploads/2019/03/18/GW5WFI7TQLYPFQGALBLDRHM56A.jpg?quality=85&w=600)
![A wiring diagram for an OnStar GPS hack.](https://www.popsci.com/wp-content/uploads/2019/03/18/GW5WFI7TQLYPFQGALBLDRHM56A.jpg?quality=85&w=600)
It’s not really OnStar’s fault that so many subscribers will soon be hitting the little blue button in vain. Starting in 2008, cellphone providers will stop supporting the old analog cellphone system, on which OnStar has long relied to provide near-ubiquitous coverage for its roadside-assistance service. That means all OnStar help calls must use the digital network. Problem is, some pre-2004 OnStar-equipped cars only have analog receivers and cannot be upgraded. But with a little hacking, stranded OnStar owners can still salvage some life from their orphaned system, no subscription required.
Inside every OnStar system is a GPS module (we used a Motorola ONCORE that can be easily removed from the VIU). Once removed, it can be rigged to a laptop, where free software called WinOncore 12 (synergy-gps.com) lets you view your coordinates. Add a cellular-data card for an always-on internet connection, and you can plug that raw data into Google Maps to see where you are and get directions to where you’re going. Or use a free program called GPSylon (tegmento.org/gpsylon) to automatically plot your position on a map in real time. Don’t have an OnStar car? Hit eBay, where old OnStar units go for as little as $10.
- Dept: Void Your Warranty
- Project: breathe new life into OnStar
- Cost: $40
- Time: 2 hours
- Difficulty: easy | | | | | hard (Editor’s note: 4/5)
Warning: In some cars, removing the VIU might cause electrical system problems or void the warranty. Call your dealer before attempting this hack.
Parts
- USB cable (free; scavenged)
- RS232 shifter ($14; sparkfun.com; #PRT-00449)
- 5-millimeter red LED ($1.30; radioshack.com; #276-209)
- 470-ohm resistor ($1; radioshack.com; #271-1317)
- 10 header pins ($2.50; sparkfun.com; #PRT-00116)
- Prototype board ($2; radioshack.com; #276-148)
- DB-9 cable (free; scavenged)
- 3-volt MCX GPS antenna ($13; sparkfun.com; #GPS-08254)
- 22-gauge wire ($6; radioshack.com; #278-1224)
Instructions
1. Get the GPS. First of all, make sure that your vehicle can have its VIU permanently removed. Then take the VIU out of your vehicle, open it up, remove the internal RF metal shielding, and gently extract the ONCORE GPS module from the VIU. Disconnect the antenna from this module.
2. Take its pulse. You can monitor the operation of the ONCORE module via its “1 pulse per second” pin. A current-limiting resistor with an LED are attached to this pin. As soon as power is applied to the module, the LED should begin flashing.
3. Hook it up. Power for the module is obtained from a PC USB port. Take a scavenged USB cable and connect the red wire to both the module’s +5V pin and the VCC pin of the RS232 Shifter [see diagram above]. The black USB wire is connected to the GND pin of the module and the GND pin of the RS232 Shifter. Now attach the RS232 Shifter to the PC’s DB-9 serial port and connect the shifter’s RX pin to pin 8 of the module and the shifter’s Tx pin to the module’s pin 9. Finally, plug the GPS antenna into the module.
4. Find your way. Install the WinOncore 12 software on your PC, connect the USB cable for power, and attach the RS232 shifter for communications. You should see the red LED flashing at one pulse per second. Press the Demo button in WinOncore 12 and watch the module grab some satellites and provide you with a steady stream of GPS data. Now enable NMEA protocol for usage with DeLorme Street Atlas USA 2008. You will have to close the WinOncore 12 app for using the COM1 port with Street Atlas. Inside Street Atlas, press the GPS tab. Inside the Options window assign the COM port, select a generic NMEA device, and apply your changes. Now start GPS and see where you’re at.
ONCORE GT+ pin assignments
- Pin 1: not used ()
- Pin 2: +5V USB power
- Pin 3: not used ()
- Pin 4: not used ()
- Pin 5: not used ()
- Pin 6: 1 pulse-per-second LED flasher
- Pin 7: not used ()
- Pin 8: Rx-1 from Spark Fun RS232 shifter
- Pin 9: Tx-0 from Spark Fun RS232 shifter
- Pin 10: GND USB power
This story has been updated. It was originally featured in the September 2007 issue of Popular Science magazine.