How to connect with Dodge Caliber?

Ideas and discussion of what to do with the CAN Bus ( i.e. XMDirect, iPod, Carputer, etc... )
User avatar
grafffik
How the heck did I end up here?
Posts: 8
Joined: 2015 Jan 23 12:08
Location: Warsaw, Poland
Contact:

How to connect with Dodge Caliber?

Post by grafffik » 2015 Sep 07 12:32

Hi guys.
I have Dodge Caliber 2007 SXT with Can Bus.
At the moment i would connect with can bus by arduino and can-bus shield.
At the moment i would like know ,where can I find can bus (+) and (-).
I find some information about pinout, probably pinout 5 and 6.
http://www.caliberforums.com/forums/att ... 1161946638

I would like know - can I connect in some more accessible place like OBD or any other pinouts.
___
one lone man want to hack Dodge in Poland :lol:

User avatar
linuxkidd
Site Admin
Posts: 345
Joined: 2005 Jul 22 15:48
Location: Anywhere, USA
Contact:

Re: How to connect with Dodge Caliber?

Post by linuxkidd » 2015 Sep 07 12:46

Hello graffik,
Pins 5 & 6 are definitely the ones you want. You *can* technically connect to the OBD2 connector, but the data you get there will be much different than tapping directly into CAN-B via the Radio C1 connection.

CAN-B contains all the comfort and control signals, including dash instrumentation, volume/treble/bass/mid/fader, Sirius satellite data, etc.

Hope this helps!
LK
If you can read this, the light is still red.

User avatar
grafffik
How the heck did I end up here?
Posts: 8
Joined: 2015 Jan 23 12:08
Location: Warsaw, Poland
Contact:

Re: How to connect with Dodge Caliber?

Post by grafffik » 2015 Sep 08 04:48

ok, so today I will try to make wire outside dashboard.
Where can I find a list of incoming messages from CAN ? in bits, hex or something what will be there :lol: (incoming data format)
___
one lone man want to hack Dodge in Poland :lol:

User avatar
linuxkidd
Site Admin
Posts: 345
Joined: 2005 Jul 22 15:48
Location: Anywhere, USA
Contact:

Re: How to connect with Dodge Caliber?

Post by linuxkidd » 2015 Sep 08 09:12

Here's the web can log explorer that I wrote some time ago.
http://canhack.org/can_logger

There are a few posts around the forum with some decoding of what certain can ids are for, message formats, etc.

I'm posting from my phone, or I'd put in more links for ya...

Hope this helps,
LK
If you can read this, the light is still red.

User avatar
grafffik
How the heck did I end up here?
Posts: 8
Joined: 2015 Jan 23 12:08
Location: Warsaw, Poland
Contact:

Re: How to connect with Dodge Caliber?

Post by grafffik » 2015 Sep 10 14:32

So, I make new wire

Image

Image

Image

and I boot Arduino with that code

Code: Select all

#include <SPI.h>
#include "mcp_can.h"

INT32U canId = 0x000;

unsigned char len = 0;
unsigned char buf[8];
char str[20];
const int SPI_CS_PIN = 10;

MCP_CAN CAN(SPI_CS_PIN);  

void setup()
{
    Serial.begin(115200);

START_INIT:

    if(CAN_OK == CAN.begin(CAN_125KBPS))  
    {
        Serial.println("CAN BUS Shield init ok!");
    }
    else
    {
        Serial.println("CAN BUS Shield init fail");
        Serial.println("Init CAN BUS Shield again");
        delay(100);
        goto START_INIT;
    }
}

void loop() {
  
    if(CAN_MSGAVAIL == CAN.checkReceive())
    {      
        CAN.readMsgBuf(&len, buf);
        canId = CAN.getCanId();
        
        Serial.print(canId);Serial.print(",");
        for(int i = 0; i<len; i++)
  {
    Serial.print(buf[i]);Serial.print(",");
  }
  Serial.println();
   }
}
Arduino connect with canbus, I have "init ok!" communicate in Putty, but after that - program stop. Nothing ...
Log from Putty:

Code: Select all

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2015.09.10 18:20:27 =~=~=~=~=~=~=~=~=~=~=~=
CAN BUS Shield init ok!
And that 's all :(

I make self-debbuger, and at the moment program stop in if statement in loop(),

Code: Select all

CAN_MSGAVAIL == CAN.checkReceive())
At the moment I don't know what is wrong. Mayby something with library, I really don't know. Car dashboard is crazy in that situation

https://youtu.be/_zblz65QL9k
___
one lone man want to hack Dodge in Poland :lol:

User avatar
linuxkidd
Site Admin
Posts: 345
Joined: 2005 Jul 22 15:48
Location: Anywhere, USA
Contact:

Re: How to connect with Dodge Caliber?

Post by linuxkidd » 2015 Sep 10 14:57

I'm not intimately familiar with the Arduino CAN shield (have one, but haven't played w/ it yet).. but, I don't see anything in your sample code that sets the baud rate on the CAN bus. In your car, it could be either 83.3kbps, or 125kbps.

Try setting that and re-test.

LK
If you can read this, the light is still red.

User avatar
grafffik
How the heck did I end up here?
Posts: 8
Joined: 2015 Jan 23 12:08
Location: Warsaw, Poland
Contact:

Re: How to connect with Dodge Caliber?

Post by grafffik » 2015 Sep 10 15:02

Baud rate is ok, when I change, arduino doesn't connect with a car.
tommorow I will try do something. we will see :)
___
one lone man want to hack Dodge in Poland :lol:

nemiro
CAN? Tin or aluminum?
Posts: 35
Joined: 2015 Feb 07 20:06

Re: How to connect with Dodge Caliber?

Post by nemiro » 2015 Sep 11 22:40

It should be 83.3k for the Caliber. I have some radios from a 2008 and 09 Caliber on my bench that communicate via that. I am not running Arduino, though, so probably not much help to you on setting it up.

User avatar
grafffik
How the heck did I end up here?
Posts: 8
Joined: 2015 Jan 23 12:08
Location: Warsaw, Poland
Contact:

Re: How to connect with Dodge Caliber?

Post by grafffik » 2015 Sep 13 11:16

yep. 83.3kbps is only way to communicate with Dodge Caliber.
I download new library with that speed handling and it's works :mrgreen:

at the moment I find only lights ID. Arduino write data buffer from canbus in unsigned char, so data format is little diffrent like a byte and to this moment i have
ID 456(int) - 0x1C8 (byte)
[1] - 0 - lights off
[1] - 1 - parking lights
[1] - 2 - low beam
[1] - 17 - low beam and fogs

linuxkidd - just like in your link, on byte 0x12 I have the same alarm scream :lol:

now I must convert unsigned char in format {255, 25,5 255, 255, 255, 000, 000, 000} for example, to something like more understand
___
one lone man want to hack Dodge in Poland :lol:

nemiro
CAN? Tin or aluminum?
Posts: 35
Joined: 2015 Feb 07 20:06

Re: How to connect with Dodge Caliber?

Post by nemiro » 2015 Sep 14 20:41

A few from other peoples' work (I take no credit):

Steering Wheel Input Controls
id:3A0 byte:0 bit:0 -> Note Button
id:3A0 byte:0 bit:1 -> Vol Up Button
id:3A0 byte:0 bit:2 -> Vol Down Button
id:3A0 byte:0 bit:3 -> Up Arrow Button
id:3A0 byte:0 bit:4 -> Down Arrow Button
id:3A0 byte:0 bit:5 -> Right Arrow Button


Message id 308 is sent out when the interior dimmer is changed. I've seen the following data so far:
Try id 210, as well:
308#0000ff # lights off
308#110000 # daytime - lights on bright
308#122200 # lowest dimmer setting
308#124c00 # next highest
308#12a000 # next highest
308#12c800 # all the way up

I finally found the "power-on" message, so you can bench test a OEM radio:

20b#6100 to turn it on, and 20b#0000 to turn it off. The car broadcasts the on message about every 100ms to keep the listening
nodes alive, so on a bench you'll need to send it frequently.


No key 000 (6) 00 XX XX XX XX XX
Key in 000 (6) 01 XX XX XX XX XX
Accessory 000 (6) 63 XX XX XX XX XX
Ignition (before start) 000 (6) 87 XX XX XX XX XX
Start 000 (6) AF XX XX XX XX XX
Ignition (after start) 000 (6) 87 XX XX XX XX XX

troyconley1
How the heck did I end up here?
Posts: 2
Joined: 2015 Mar 20 09:27

Re: How to connect with Dodge Caliber?

Post by troyconley1 » 2015 Sep 18 13:06

What code are you sending to the radio to turn it on outside of the car?

nemiro
CAN? Tin or aluminum?
Posts: 35
Joined: 2015 Feb 07 20:06

Re: How to connect with Dodge Caliber?

Post by nemiro » 2015 Sep 18 17:56

20b#6100 works, and so does Ignition (before start) 000 (6) 87 XX XX XX XX XX Have to send it every 500ms to keep it alive. Stop transmitting it, and the radio will turn off.

mrdennis87
What's hacking?
Posts: 26
Joined: 2015 Nov 19 11:21

Re: How to connect with Dodge Caliber?

Post by mrdennis87 » 2015 Nov 19 11:34

grafffik wrote:Baud rate is ok, when I change, arduino doesn't connect with a car.
tommorow I will try do something. we will see :)

So I'm going to attempt an answer lol :D So when you are in your Arduino code, and you set the baud rate, that is setting the baud rate from Arduino, to Serial monitor (putty). You have to separately set the baud rate for your vehicle. Then once Arduino is connected, it will use that Baud rate to communicate with the vehicle. I am in the same situation with my Trailblazer. I used the Can shield.. I get Can INIT OK! with a 500k connection.. But no data at all.. I believe this is why. Using my ELM327, I get all sort of data :D

User avatar
linuxkidd
Site Admin
Posts: 345
Joined: 2005 Jul 22 15:48
Location: Anywhere, USA
Contact:

Re: How to connect with Dodge Caliber?

Post by linuxkidd » 2015 Nov 19 18:00

grafffik:
I had a similar issue hacking the CAN bus on my RV w/ an Arduino and the SEEEDStudio CAN-BUS Shield. Banged my head against the wall for several days.. Until...

Code: Select all

START_INIT:
    if(CAN_OK == CAN.begin(CAN_125KBPS))
    {
        Serial.println("CAN BUS Shield init ok!");
        Serial.print("Resetting Filters...");
        CAN.init_Mask(0,1,0);
        CAN.init_Mask(1,1,0);
        for(int i=0;i<6;i++) {
          CAN.init_Filt(i,1,0);
        }
        Serial.println("Done");
    }
    else
    {
        Serial.println("CAN BUS Shield init fail");
        Serial.println("Init CAN BUS Shield again");
        delay(100);
        goto START_INIT;
    }
}
I RESET THE DAMN MASK/FILTERS!

Evidently, they came pre-set w/ some value that was blocking my data flow.. You may need to substitute the 2nd value as a 0 instead of 1 for the init_Mask and init_Filt calls ( 0 = normal CAN frames, 1 = Extended CAN frames ).

I **JUST** figured this out and thought I should share...

Have fun!
LK
If you can read this, the light is still red.

mrdennis87
What's hacking?
Posts: 26
Joined: 2015 Nov 19 11:21

Re: How to connect with Dodge Caliber?

Post by mrdennis87 » 2015 Nov 19 19:25

What library are you using?

Post Reply