Polaris RZR Forum - RZR Forums.net banner

Polaris Diagnostic Plug

1 reading
128K views 53 replies 30 participants last post by  timriley46  
#1 ·
Anyone know the Mftr/Part Number and a source for the male version of what I'm assuming is the 8 pin diagnostic plug on my 2013 RZR XP4 900?

Image


The label on the cable:

Image
 
#2 ·
Figured it out. For anyone else who might eventually be looking:

Its a Delphi Connection Systems GT150 8 position connector. The one on the RZR is the female and it is considered a sealed connector. The Delphi part number on the male is 15326840. You'll also need wire seals, plugs for unused pins (the RZR uses 4 of the 8 pins) and the correct sized pins for the wire you'll be using. the part numbers for those are all available from the mouser link for the above part number.
 
#4 ·
Hehe was wondering when someone would ask.

First, no guarantee on this working.

According to the service manual, on my XP the diagnostic connector has 4 wires, ground, switched 12+, CAN high and CAN low. (And the manual appears to have the pinout backwards) This may or may not be the case on other machines. The Xp uses a bosch ecu. it would be helpful to know which one, but that info doesn't seem to be readily available on Mr. google. What is known is that polaris uses the CAN bus to send diagnostic data, temp data, rpm, and some other data to the multi function display. We also know that it is used to send the data to digital wrench.

There is at least some possibility that polaris is using the automotive obd-ii or eobd standard to send this information to digital wrench thru a custom connector. They did it on a number of other machines (sleds and jetskis), and rewriting the entire diagnostic section of an off the shelf Bosch ecu doesn't make financial sense when you can just change out the connector. The sleds and jetski references I've found are mostly older models that use a single k line communication vs CAN. Luckily, Obd supports both k line and CAN.

Why spend time hacking the diagnostic connector? Because no one else has, and, because it should open up viewing and logging of engine sensors and data (temp, rpm, maf, etc.) viewing of codes, clearing of codes (if were lucky). Im working on adding a nexus 7 tablet to mine that will be used as a gps and think that adding engine and performance data to the tablet, as well as having it available for video overlay would be pretty cool.

So, next step is to build a cable and test it with an obd interface on the computer. That should let me view the raw data on the can bus, and if were really lucky, see obd messages.

What would be helpful:
1) someone with an 08/09 service manual check the diagnostic connector and see if it uses CAN or something else.
2) the Bosch model information for the ecu in both the xp and the 800 for different years.
3) if someone has been down this road before and it somehow eluded search.
4) if someone has a significant amount of experience with canbus, send me a pm.
 
#5 ·
Ok, updates:
I confirmed that there is indeed a CAN bus at that diagnostic connector. Its recognized by the scan tool as an ISO15765-4 (CAN Bus) 29/250 (29 bit, 250kb). I'm able to see data on the bus, but it isn't ODBII. It looks like Polaris is using a 1 byte header address instead of a 3 byte header address. I can force a single byte header, but the various applications wont put up with it. I'd have to write a new application, which I don't know enough to do, that handled the polaris specific messaging protocol. For someone with significant experience with CAN and OBD, this might be doable, but not for me. At least we can view the codes via the multi function display.

So basically, at least on a 2013 ECU, theres no easy way to just connect up a scan tool.
 
#8 ·
I'd like to get more info on what you found with the CAN bus and your Polaris machine. I am trying to do similar diagnostics on my Polaris Slingshot but I am not able to read the CAN bus properly with the tools I have. I wonder if the protocol is the same on my 2015 Slingshot. I am local to Redwood City if you want to check it out @Darksoldier360
 
#9 ·
I have started working on a similar project and wondering how far you progressed with this
unsure what makes you think it was a 1 byte header
from what I can determine it is using ISO 11898 with 29 bit identifiers not ISO15765-4
Data I have been able to receive so far with engine not running

Message times
18 FE C1 17 A0 D8 09 00 4C FE 00 00 3
18 FE F5 17 FF FF FF 20 1D FF FF FF 3
18 FE FC 17 FF 96 FF FF FF FF FF FF 3
18 FD E5 00 10 18 27 38 48 58 FA 90 18
18 FE CA 00 40 FF 0F F0 E4 08 FF FF 18
18 FE EE 00 50 FF FF FF FF FF FF FF 18
18 FE FC 00 FF 96 FF FF FF FF FF FF 18
18 FE CA 13 00 FF 00 00 00 00 FF FF 19
18 F0 06 00 FF FF FF FF FF FF FF FF 38
1C FD DF 00 FE FF FF FF FF FF FF FF 38
1C FF 6A 00 FF FF FF FF FF FF FF FF 38
18 F0 05 00 FF FF FF FF 20 50 FF FF 186
18 FE F1 00 3F 00 00 CF FF FF FF FF 186
18 FE F2 00 00 00 00 FB 00 06 27 FF 186
18 FF 67 13 00 7D 00 7D 00 80 4E FF 186
18 FF 6D 00 FF FF FF FF FF FF FF FF 186
0C F0 04 00 FF FF FF 00 00 FF FF 6F 929
0C FF 66 00 00 00 FF FF FF FF FF FF 930
 
#11 ·
ok so I have got a little bit further and now realised it is actually J1939 Format
so once I set my OBD device to J1939 this is what I got running ATMA
3 0FF66 00 00 00 FF FF FF FF FF FF
3 0F004 00 FF FF FF 00 00 FF FF 6E
3 0FF66 00 00 00 FF FF FF FF FF FF
3 0F004 00 FF FF FF 00 00 FF FF 6E
3 0FF66 00 00 00 FF FF FF FF FF FF
3 0F004 00 FF FF FF 00 00 FF FF 6E
3 0FF66 00 00 00 FF FF FF FF FF FF
6 0FEF1 00 3F 00 00 CF FF FF FF FF
6 0F005 00 FF FF FF FF 20 50 FF FF
6 0FEF2 00 00 00 00 FB 00 06 27 FF
6 0FF6D 00 FF FF FF FF FF FF FF FF
3 0F004 00 FF FF FF 00 00 FF FF 6E
3 0FF66 00 00 00 FF FF FF FF FF FF
6 0FF67 13 FD 7C 00 7D 00 80 47 FF
3 0F004 00 FF FF FF 00 00 FF FF 6E
3 0FF66 00 00 00 FF FF FF FF FF FF
3 0F004 00 FF FF FF 00 00 FF FF 6E
3 0FF66 00 00 00 FF FF FF FF FF FF

then I tried the command
atdm1 to retrieve error codes and received this
6 0FECA 00 40 FF 0F F0 E4 08 FF FF
6 0ECFF 13 20 0A 00 02 FF CA FE 00
6 0EBFF 13 01 40 FF BE 00 02 03 27
6 0EBFF 13 02 F0 FF 0B FF FF FF FF

now just have to work out how decipher the error codes from HEX in to the SPN and FMI
 
#18 ·
Ok so I have made some progress on my Android app
have been able to decipher the data
able to display error codes and data
still can't clear the codes yet
here are some screenshots I have so far

View attachment 234961

View attachment 234969
Did you ever ger any further on this? Would love to get a copy of your apk. I think i still have the parts to build a proper cable or two... happy to at least do that and send you one. Ill be at the glamis ride as well.

Sent from my SAMSUNG-SM-G935A using Tapatalk
 
#21 ·
Kind of old thread but I have been messing with this lately. I want a digital dash with any gauge I want, when I want.
I went to pic n pull and got an Obd2 connector off a vehicle, found pin out, cut off Diag connector, connected Obd2 connector, plugged in Bluetooth Scanner tool (Amazon).
Downloaded Torque to Tablet.
Walla
Now have a full Dash, actually have not figured out what tablet to mount in dash yet, waterproof and all.
 
#22 ·
Looks like a couple of you guys are trying to re-invent the wheel. For the guys writing their own display check out "Torque" they may have all the API's you are looking for. Your work is very impressive, if anyone finished I would sure like to hear about it.
 
#23 ·
So, I'm the OP of this very old thread and a few days ago I was looking for a diagnostic cable for my motorhome (J1939) and I saw a cable for the Polaris slingshot to obd. I remembered your post that you got it to work and figured maybe something had changed in torque or the bluetooth dongle, then I remembered that earlier in this thread someone had it working as j1939 with their own program.

So, I ordered the cable (why make one when you can order one, though I have the parts to make one still someplace, Id rather not mess with it. Link to the adapter I bought. I plugged that into the diagnostics port on the RZR (2013 XP4 900, haven't tried it on the Pro XP). Plugged in my OBDII Dongle (Which is a Scantool.net OBDLinkMX Bluetooth)(First did a firmware update on it since its been a long wile since I used it last), and fired up a couple OBD reader apps on my android tablet. in auto scan none of them would connect. Next I opened torque (an android app). In torque I created a vehicle profile and set the protocol to J1939, I also turned on alternate headers (not sure if its needed). Then I saved and restarted torque, connected to the dongle, and wonder of wonders it connected to the ECU. From there I the default gauges in torque let me read engine temp and rpm. Didn't check anything else, but it looked fully functional. I don't have any codes at the moment, but I'd guess it will read those too. So, after 8ish years, we finally have an easy way to read the data from the RZR diag port. I'd also bet this works with all the other Polaris CAN based systems.
 
#25 ·
Torque pro
Image


The obdlink app is to update the firmware on the dongle. The rest is just stuff I’m messing with.

The mx+ should work, the older one I have doesn’t work with iOS, supposedly the newer one does.

I’ll do more testing today, this time with the trailer door open. ;-)


Sent from my iPhone using Tapatalk
 
#26 ·
#27 ·
Ok, did some sniffing of the raw can bus. It's definitely J1939, mostly standard PGN/SPNs but a few Manufacturer defined. For anyone who cares later I've put my notes at the end of this. The way it works is the ID field defines the Source and PGN. The SPN is defined in the J1939 spec for the PGN and basically tells you what bits to look at in the data.

The PGN is in hex and is the 3rd thru 6th characters of the ID, For example 0CFF6600, the PGN is FF66, or 65382 in decimal. You can also enter the whole ID here: J1939 Online 29-bit CAN ID to PGN Converter and it will tell you the PGN.

A google search tells us that is a manufacturer defined PGN. ISOBUS Data Dictionary - View PGNAndSPN. Messing with the engine and watching the data change tells us that that's the engine RPM. Looking at what this guy did milodarling/RZR_CAN_HACKS tells us how the data is laid out and how to convert it.

ID DLC Data Period Count Comment
0CF00400 8 FF FF FF 00 00 FF FF FF 20 169757 Engine Speed from ECU
0CFF6600 8 00 00 FF FF FF FF FF FF 20 169806 RPM First and second bit
10FF6500 8 FF FF FF FF FF FF FF FF 199 16976 Something Polaris Specific
18F00500 8 FF FF FF FF 20 50 FF FF 103 33917 Gear Selection 5th and 6th bit, 20 50 P, 20 52 R, 20 4e N, 20 4c L, 20 48 h ASCII: P
18FDE500 8 0A 14 1E 28 32 3C 78 FA 1002 3394 Max vehicle speed 1-7
18FEC117 8 F8 5F 03 00 10 00 00 00 5003 680 Vehicle distance driven, 5 meters per bit, 4 bytes , trip distance, 5m per bit, 4 bytes
18FECA00 8 40 FF 00 00 00 00 FF FF 1001 3394 Engine OK Signal
18FECA13 8 00 FF 00 00 00 00 FF FF 1001 3306 Code to be read, fault lamp, can indicate data packets, see j1939 spec.
18FEEE00 8 5B FF FF FF FF FF FF FF 1001 3393 Engine Temp? first bit 52=107F 53=109F 54=111F, 55=113F
18FEF100 8 33 00 00 FF FF FF FF FF 100 33885 Vehicle speed
18FEF200 8 00 00 00 FB 00 00 00 FF 100 29966 7th bit throttle position 00-ED, first bit fuel rate
18FEFC17 8 FF B9 FF FF FF FF FF FF 5003 677 Fuel Level Sensor
18FF6713 8 05 7D 00 7D 00 80 3F FF 99 33830 Power Steering
1CEB1700 8 11 2A FF FF FF FF FF FF 2880 49 Polaris?
1CEC1700 8 FF FE FF FF FF DA FE 00 88 6 Polaris?
1CFDDF00 8 FC FF FF FF FF FF FF FF 1000 2407 4wheel drive, 1st bit FC off, FD on DEC: 252 255 255 255 255 255 255 255 ASCII:
1CFF6A00 8 FC FF FF FF FF FF FF FF 501 6743 Polaris?

Now, here's the issue: Torque pro in J1939 mode is pretty rough. It sees most of the standard stuff and translates it (see previous message), but there doesn't seem to be a way to enter custom PGN information (I tried the PID stuff, but it doesn't seem to do what's needed for J1939 PGNs, happy to find out otherwise though). Looks like the developer of Torque hasn't updated it in quite a while either. I tried every other program I could find on android and none seem to handle j1939 with an ELM327 dongle. I've ordered a cable to allow me to hook my Nexiq up from my motorhome (J1939 heavy truck) and try to use its software to see if it gives us something more readable (Read and clear codes would be awesome). I've also ordered a wifi ELM327 module so I can try an app on iOS that claims to support j1939. When those arrive I'll test both.

I did connect the torque pro solution to my XP Pro as well, and I can confirm that it sees the same data there as it does on my much older xp 900. There is more data on the XP Pro, so I'm assuming things like turbo boost are available, but I have ride command on that one, so I don't really need anything else.

At this point I could easily build an Arduino based solution to output the can bus info to the Voyager Pro GPS's analog input lines. (Trail Tech is supposedly working on a can module for it BTW). Anyway, figured I'd post this here for anyone looking in the future. Will update when the cable and adapter get here.
 
#28 ·
Allowing each manufacturer to do this is as stupid as it was in cars. They do it to make money plain and simple. They need to be made to use the same obd2 platform as vehicles are required to. You pay huge money for these machines the info in it should be easily accessable.
 
#29 ·
Ok, more progress. The j1939 to obd2 cable I ordered showed up and I was able to connect that to the Polaris to obd2 cable I had, and then connect my nexiq blue-link mini from my RV to it. As I suspected, the blue-link was able to connect and read everything, and also generated the attached reports from both of my RZRs. It can even read inactive and active codes.

Image

Image

Image

Image

View attachment 00000000000000000_2021-04-23T19:51:29.pdf
View attachment 00000000000000000_2021-04-23T19:56:23.pdf


Sent from my iPhone using Tapatalk
 
#30 ·