2014 Dodge Charger

Ideas and discussion of what to do with the CAN Bus ( i.e. XMDirect, iPod, Carputer, etc... )
poop713
CAN? Tin or aluminum?
Posts: 56
Joined: 2017 Feb 09 23:31

Re: 2014 Dodge Charger

Post by poop713 » 2017 Jul 27 15:15

Nice dude that's sick! If you have any arduino code you can share that would help me a lot.

rtgree01
Yes, we CAN hack!
Posts: 93
Joined: 2007 Jul 17 19:56
Location: St. Louis, MO

Re: 2014 Dodge Charger

Post by rtgree01 » 2017 Jul 27 21:33

Here you go:

Code: Select all

   else if (can_MsgRx.id == 0x002)
   {
      status._rpm = (can_MsgRx.data[0] << 8) + can_MsgRx.data[1];
      status._speed = ((can_MsgRx.data[2] << 8) + can_MsgRx.data[3]) >> 7;

      // what are the other 4 bytes?
   }
   else if (can_MsgRx.id == 0x003)
   {
      status._brake = can_MsgRx.data[3] & 0x01;
      status._gear = can_MsgRx.data[4];
   }
   else if (can_MsgRx.id == 0x0d0)
   {
      if (can_MsgRx.data[0] == 0x80)
      {
         status._parkingBrake = true;
      }
      else
      {
         status._parkingBrake = false;
      }
   }

poop713
CAN? Tin or aluminum?
Posts: 56
Joined: 2017 Feb 09 23:31

Re: 2014 Dodge Charger

Post by poop713 » 2017 Jul 28 23:59

really appreciate it, I'm trying to include this in my project. I'm using a device called "carloop"

Code: Select all

// This #include statement was automatically added by the Particle IDE.
#include <carloop.h>

#include "application.h"

CANChannel can(CAN_D1_D2);

void setup() {
    can.begin(125000); // pick the baud rate for your network
    // accept one message. If no filter added by user then accept all messages
    can.addFilter(0x318, 0x7FF);
}

void loop() {
    CANMessage Message;

    Message.id = 0x318;
    can.transmit(Message);

    delay(10);

    if can.receive(Message) {
        // message received
    }
    
    else if (can.receive == 0x002)
   {
      status._rpm = (can.receive.data[0] << 8) + can.receive.data[1];
      status._speed = ((can.receive.data[2] << 8) + can.receive.data[3]) >> 7;

      // what are the other 4 bytes?
   }
   else if (can.receive.id == 0x003)
   {
      status._brake = can.receive.data[3] & 0x01;
      status._gear = can.receive.data[4];
   }
   else if (can.receive.id == 0x0d0)
   {
      if (can.receive.data[0] == 0x80)
      {
         status._parkingBrake = true;
      }
      else
      {
         status._parkingBrake = false;
      }
   }
    
    
}
I'm getting errors but I'm sure ill figure it out.

nemiro
What's hacking?
Posts: 26
Joined: 2015 Feb 07 20:06

Re: 2014 Dodge Charger

Post by nemiro » 2017 Jul 31 18:13

Pic of my Teensy 3.2 based Arduino project. I had several motherboards made, and I may sell them and open source the rest. Have not yet decided as I haven't gotten this one 100% yet.
Attachments
IMG_20170731_171224.jpg

poop713
CAN? Tin or aluminum?
Posts: 56
Joined: 2017 Feb 09 23:31

Re: 2014 Dodge Charger

Post by poop713 » 2017 Aug 01 11:01

What features does it have? What can it do I'm interested if your selling them.

nemiro
What's hacking?
Posts: 26
Joined: 2015 Feb 07 20:06

Re: 2014 Dodge Charger

Post by nemiro » 2017 Aug 02 11:08

Has single channel of CAN, J1850 interface, and discrete digital and analog inputs. Idea was to be able to put CAN bus radios in older cars, or even a workbench (as I am currently using it). Digital inputs for ignition, reverse, lights, parking brake and speed sensor. Analog of light dimmer. Couple of digital outputs, too. I2C OLED display (working, obviously).

Code to run the radio works fine. Have not done anything with the discrete inputs, yet, but that is pretty straight forward, when I'm ready. Currently working on a method to decode J1850. I bought some older interface chips (MC33390), but they are either marked wrong, or defective. Have since built my own interface circuit on top of this board, and can read the pulses off the J1850 bus, now just working on the logic to decode it.

This version of the board works, but it has some dead-bugging of components, and a couple of jumper wires. I may take lessons learned and spin a new board.

Programming is all done with Arduino for the Teensy boards. I have used Teensy both in home projects and for a work project, and they are quite capable, especially for the money.

casadia880
How the heck did I end up here?
Posts: 4
Joined: 2017 Jul 06 00:35

Re: 2014 Dodge Charger

Post by casadia880 » 2017 Sep 28 19:59

poop713 wrote:
2017 Jul 06 12:53
this comes from hours of testing but here it is. once I was "on the CANBUS" it was just a matter of hitting buttons off/on
Steering wheel buttons
318#00000000100CFF00 #up arrow left side steering wheel
318#00000000040CFF00 #down arrow left side steering wheel
318#00000000010CFF00 # back button left side steering wheel
318#00000000400CFF00 #forward button left side
318#00000010000CFF00 #behind steering wheel skip track
318#00000020000CFF00 #behind steering wheel rewind
318#00000004000CFF00 #volume up right side behind steering wheel
318#00000008000CFF00 #volume down right side behind steering wheel
318#00000001000CFF00 #change input behind steering wheel right side
318#00000040000CFF00 #behind steering wheel middle button seek radio

Shifter I have the 5-speed V6 I can always connect to the 8-speed and read the data, but it looks like it just increments the 4th number
332#18507840A9F900FF #park
332#18527940AFF900FF #reverse
332#184E7A40B1F900FF #neutral
332#184E7A40B1F900FF #drive
332#18317C40ADF900FF #manual mode 1 gear
332#18327C40AFF900FF #manual mode 2 gear
332#18337C40AFF900FF #manual mode 3 gear
332#18347C40AFF900FF #manual mode 4 gear
332#18357C40AFF900FF #manual mode 5 gear

Sport mode button touch screen this was from my radio, but the light came on/off with the command
2FA#0001000800000000 #off
2FA#0001004800000000 #on


if anyone has anything to contribute or wants some help setting their device up let me know. I'm not a super programer or very knowledgeable but I can share what I know/ what I did to get my device working on my charger. if someone can make a button debouncing sketch that would be sick I'm trying to learn to code in Arduino IDE the leaning curve is slowing me down lol but basically we need to make a sketch that would wait for a certain ID to pop up then send the "ID" we want to send. the AVIDcode device had to be plugged in the whole time for this to work which leads to me to believe thats how it was setup. I trying to figure out how to read the avid code device from a OBDII splitter my plan is to sit in the car with it off so no data is showing up then plug in the avidcode to see what exactly is being sent from the device. if anyone has any other ides on the please let me know. I know what type of chip it has but still a bit nervous on trying stuff on the "only one" avid code device. I need to figure out how to clone. it lol or atlas make a virtual copy of it for testing.


@casadia880 if you can connect to the newer cars that would be great to confirm the results here if anything has changed.
I finally have data from bus sniffing on a 16 hellcat. I took a control sample then a sample for each of the menu buttons (5 short presses and one long press) and sport mode/track mode (on/off twice). I think I have the sport/track modes figured out, but I can't get the pids from the buttons. I know none of the pids are the same as the ones you found, and I have the raw data if you want to take a look.

poop713
CAN? Tin or aluminum?
Posts: 56
Joined: 2017 Feb 09 23:31

Re: 2014 Dodge Charger

Post by poop713 » 2017 Sep 28 22:22

Yea send it to me I'll take a look. Check out this app on GitHub "UDSim" and also "caringcaribu"

casadia880
How the heck did I end up here?
Posts: 4
Joined: 2017 Jul 06 00:35

Re: 2014 Dodge Charger

Post by casadia880 » 2017 Sep 28 22:54

Also I just heard back from Joe at zautotech and he's planning on adding these functions to the tazer. He said a customer is leaving their 2012 for a week in december so he can swap clusters and get it working.

poop713
CAN? Tin or aluminum?
Posts: 56
Joined: 2017 Feb 09 23:31

Re: 2014 Dodge Charger

Post by poop713 » 2017 Sep 28 22:58

Oh man cool he's helped me out A lot too, ask him to tell you how to use the tazer to sniff the CANBUS the desktop app has the features for it but they are hidden, I forget the key combo to bring it up

poop713
CAN? Tin or aluminum?
Posts: 56
Joined: 2017 Feb 09 23:31

Re: 2014 Dodge Charger

Post by poop713 » 2017 Sep 28 23:32

He just text me back lol said yea

ColPaul
How the heck did I end up here?
Posts: 1
Joined: 2017 Oct 03 09:34

Re: 2014 Dodge Charger

Post by ColPaul » 2017 Oct 03 09:41

Great posts! I am hoping that the same codes work on my 2012 Ram. Has anyone found the messages for the phone buttons on the steering wheel?

jmoss
How the heck did I end up here?
Posts: 1
Joined: 2017 Oct 04 15:52

Re: 2014 Dodge Charger

Post by jmoss » 2017 Oct 04 15:55

Did anyone complete the mapping of the 2014 Dodge Charger? I'm after engine RPM, road speed, odometer, and engine hours if it is in there.

nemiro
What's hacking?
Posts: 26
Joined: 2015 Feb 07 20:06

Re: 2014 Dodge Charger

Post by nemiro » 2017 Oct 06 19:28

I have most of my Teensy project working. I can control the RER radio beautifully on the bench. The RHR radio seems to be more challenging. I can run everything except dimming the screen. From older cars, you can find that sniffing ID 0x0210 is the command set for the instrument lights, and using the settings for that, I can turn on the button/knob lighting on the RHR, and set the brightness. Works great. However, the screen itself stays on full bright. The radio will respond the same to two different formats of data sent to 0x0210:

0000ff # lights off
110000 # daytime - lights on bright
122200 # lowest dimmer setting
124c00 # next highest
12a000 # next highest
12c800 # all the way up

OR:

03 00 00 00 00 00 (lights off)

Much more variable from:
02 22 00 00 00 00 (dimmest)
02 C8 00 00 00 00 (brightest w/lights on)

Both radio types respond to both sets of data. RER does everything, and does it right. RHR, only sets brightness on the controls, not the LCD. Sniffing a 2013 Challenger SRT8 shows the 0x210 command, but I am not seeing anything else, like a secondary command that should be setting the display. Maybe I am missing something else.

nemiro
What's hacking?
Posts: 26
Joined: 2015 Feb 07 20:06

Re: 2014 Dodge Charger

Post by nemiro » 2017 Oct 06 19:44

BTW, feeding it the 0x01C8 headlamp information, as well, does nothing to change this.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests