Page 5 of 10 FirstFirst 12345678910 LastLast
Results 101 to 125 of 228

Thread: E90 Can bus project (E60, E65, E87....)

  1. #101
    Join Date
    Nov 2016
    Location
    Australia
    Posts
    4
    My Cars
    e90 320i
    Quick update.. got my e90 running with LS2 engine and factory e40 ecu. Fuel pump is controlled by new ecu and have managed to use the factory start button. Not quite driving yet. Once I can drive it, I will report back on the fault codes. So far I have not interfaced with the factory canbus, but will try to address my main issues once it's finished - tacho, a/c request and any other fault codes it reports back. Also found an annoying side effect of the IGN feeds remaining active until the key is removed from dash. Suspect the Ignition module tells the engine to shut off but then waits a couple of seconds before it powers down. Not a big deal, but will try and control it using arduino down the track.

    Any feedback on your test module yet Thaniel?

  2. #102
    Join Date
    Apr 2013
    Location
    Ireland
    Posts
    8
    My Cars
    2001 E39 , 1996 E36
    Any E65 PT can specific info available? Thanks.

  3. #103
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by jet231 View Post
    Quick update.. got my e90 running with LS2 engine and factory e40 ecu. Fuel pump is controlled by new ecu and have managed to use the factory start button. Not quite driving yet. Once I can drive it, I will report back on the fault codes. So far I have not interfaced with the factory canbus, but will try to address my main issues once it's finished - tacho, a/c request and any other fault codes it reports back. Also found an annoying side effect of the IGN feeds remaining active until the key is removed from dash. Suspect the Ignition module tells the engine to shut off but then waits a couple of seconds before it powers down. Not a big deal, but will try and control it using arduino down the track.

    Any feedback on your test module yet Thaniel?
    Great progress on your swap.
    No feed back yet. I did create a version and sent to a guy that had a running e60 with a Toyota motor in it. Worked great on my test bench, but no news yet on the swapped cat (he had a number of projects and the e60 wasn’t top priority)

    Yah there are several circuits that turn off a different times. The CAS controls this. I think I isolated the bits in its can message. Based on messing with my car(stock) but didn’t hammer out all the fine details yet.

    Quote Originally Posted by jackbauere39 View Post
    Any E65 PT can specific info available? Thanks.
    Far as I can tell the e65, e60, e90, e87 pt can bus are all about the same. Similar to how the e46, e53, z4, e38 pt can bus are.

    Thaniel

  4. #104
    Join Date
    Sep 2018
    Location
    Sofia
    Posts
    1
    My Cars
    e90
    Hello Thaniel,

    great job. I have same cluster and want to power it and try your K-CAN bus messages. Can you tell me what is the pinout of the connector on the cluster? I also buy a TJA1055T chip for the K-CAN and arduino, does I need something else just to start playing with messages? Thanks for help

  5. #105
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by radostin View Post
    Hello Thaniel,

    great job. I have same cluster and want to power it and try your K-CAN bus messages. Can you tell me what is the pinout of the connector on the cluster? I also buy a TJA1055T chip for the K-CAN and arduino, does I need something else just to start playing with messages? Thanks for help
    Thanks.

    For the connection Google "BMW WDS" and you'll find several data bases with diagrams. Best to find the one for your exact cluster.

    What all you need to interface with the CAN bus depends on what hardware you have. I know there are some CAN arduinos out there. But I have no knowledge or experience with those. I use a MCP2515 as the CAN controller that I connect to the Arduino via SPI and then an appropriate CAN transceiver to connect between the MCP2515 and the CAN bus. For K-CAN correct use the TJA1055T. To put it simply download the sparkfun can bus shield circuit diagram but instead of the MCP2551 put in a TJA1055T. Software to run with the TJA1055T is the same as the spark fun shield as the CAN controller can't see a difference in CAN transceivers (the transceiver just converts the CAN bus varying voltage signal to binary)

    Hope this helps.

    Thaniel.

  6. #106
    Join Date
    Mar 2009
    Location
    florida
    Posts
    636
    My Cars
    xx,xx,xx
    Any updates on anyone?? I am about to start my e92 335 LS swap in January but I am thing of doing a Megasquirt 3 standalone and integrate it to the factory harness someow so I can use the factory gauges and so forth
    -Tony

  7. #107
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by tonytone4143 View Post
    Any updates on anyone?? I am about to start my e92 335 LS swap in January but I am thing of doing a Megasquirt 3 standalone and integrate it to the factory harness someow so I can use the factory gauges and so forth
    -Tony
    Not much additional information added to this thread from other E90 owners. For the E46 it felt more like a group effort. I've got no plans to modify my E90 and so my input pretty much ends at bench testing. I'm not expecting to add more information unless the community wants to work together.

    Thaniel

  8. #108
    Join Date
    Apr 2011
    Location
    Surrey, BC
    Posts
    514
    My Cars
    Canada
    Quote Originally Posted by Thaniel View Post
    Not much additional information added to this thread from other E90 owners. For the E46 it felt more like a group effort. I've got no plans to modify my E90 and so my input pretty much ends at bench testing. I'm not expecting to add more information unless the community wants to work together.

    Thaniel
    I think it might take a little longer for the prices to keep coming down where it becomes more economical to swap into this chassis. I've been wanting to do this for over 5 years, I just don't have the ability to help or else I totally would. Do you have any recommendations for material to read to begin to understand how it all works?

  9. #109
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by mapleridge View Post
    Do you have any recommendations for material to read to begin to understand how it all works?
    There are lots of documents on the web on how the different systems in the E90 work. becoming familiar with is useful. Also learning how to work INPA, NCS expert and all the other BMW tools is pretty useful.

    To get directly into CAN bus I'd get a CAN bus reader and start messing around. First car I read CAN bus on was a Renault Laguna. Doesn't have be BMW to learn useful things.

    Thaniel

  10. #110
    Join Date
    Jan 2013
    Location
    Russia
    Posts
    22
    My Cars
    E46 330 ESS Touring
    Decided to share that my imBMW.net open-source project (that previously supported only iBus and dBus DS2) now supports CAN-BUS, that allows for example to install CAN-BUS-controlled "full comfort" seats from e65/e66 into any iBus-controlled BMW e38/e39/e46/e53/etc:



    Of course, it allows to communicate with any other CAN-BUS/iBus/dBus ECUs.

    dHw_gAeBCxY.jpg

    And since it's Open Source, you could build your own non-commercial fork, like others did: https://vk.com/album-67915700_260588402
    Last edited by MadToha; 02-25-2019 at 11:06 AM.
    E46 M54B30 MT Touring = ESS TwinScrew + SS Headers + S38 Flywheel&Clutch + MFactory LSD 3.07 + Koni Sport + Eibach Pro + ///M3-Look
    =============================
    imBMW.net = BMW + iBus + .NET MF + .NET PCL & UWP + Bluetooth + Arduino + STM32 + music + handsfree + DIY + DBus DS2 DME Logging + etc...

  11. #111
    Join Date
    Apr 2019
    Location
    Finland
    Posts
    1
    My Cars
    BMW e46 328i turbo
    Has anyone figured out what messages need to be sent to EKPM3 fuel pump module to get it working?

  12. #112
    Join Date
    Apr 2019
    Location
    Fullerton
    Posts
    1
    My Cars
    2007 BMW 328xi
    Hi Robert,
    Did you get any further? I have the same situation, the Backlight command works, but nothing else. I'm sending the Terminal T15 (0x130) packet ("\x45\x42\x69\x8F\xE2\xFE") every 100ms along with a velocity packet. Bit-Rate is 100kbps.

    My hardware is a Pi Zero / Can Hat that is connected to 2007 E92 Cluster on the bench. From what I've seen there's 2 types of velocity packets, but neither seem to work for me. The time counter also seems a bit strange for the 0x1B4 version.

    Code:
    #if 1
        QByteArray velocityPacket;   //0x1A6
        velocityPacket[0]= (quint8)(velocity&0xFF);
        velocityPacket[1]= (quint8)(velocity>>8);
        velocityPacket[2]= (quint8)(velocity&0xFF);
        velocityPacket[3]= (quint8)(velocity>>8);
        velocityPacket[4]= (quint8)(velocity&0xFF);
        velocityPacket[5]= (quint8)(velocity>>8);
        velocityPacket[6]= (quint8)(timeCount&0xFF);
        velocityPacket[7]= (quint8)((timeCount>>8) | 0xF0);
        velocity += 1;
        timeCount += 100;
        QCanBusFrame frame (0x1A6, velocityPacket);
        m_canDevice->writeFrame(frame);
    #else
        QByteArray velocityPacket;  // 0x1B4
        velocityPacket[0]= (quint8)(velocity&0xFF);
        velocityPacket[1]= (quint8)(velocity>>8);
        velocityPacket[2]= 0xE0;  //0xE2
        velocityPacket[3]= 0xF0 | packetCount;
        velocityPacket[4]= 0x00;   // 0x46
        velocityPacket[5]= 0x30;   // 0x36 // Handbrake status
        velocityPacket[6]= 0xFC;
        velocityPacket[7]= strangeCount++;   // Increments from 0x2E to 0x3C only, or 0xD0 to 0xE3?!
        velocity = 0xD42E;  // ex. 0xD000 = 0MPH, 0xD42E = 66MPH
        strangeCount += ( strangeCount > 0x3C) ? 0x2E : 0;   
        packetCount++;
        QCanBusFrame frame (0x1B4, velocityPacket);
        m_canDevice->writeFrame(frame);
    #endif
    Any ideas?
    Last edited by blipton; 05-27-2019 at 11:27 AM.

  13. #113
    Join Date
    May 2019
    Location
    Kansas City
    Posts
    18
    My Cars
    2001 bmw 740il
    Interesting. I am trying to get my tach to work on my LS swap e38. I haven’t spent much time on it as I have been more focused on getting the mechanical stuff driving like I want. I talked to someone about it and he said from what he saw it was similar to the e90. I am a little lost when it comes to this electronics part of the build.


    Sent from my iPhone using Tapatalk

  14. #114
    Join Date
    Nov 2018
    Location
    Munich, Germany
    Posts
    7
    My Cars
    E30 V8, Z3 E36/7 V8, Z4
    Hi everyone,
    does anybody has a CAN trace of a full E90 PT-Can with all devices, out of a real car? I am working on it since a couple weeks but I do not have an own car, just a DME and EKP.

    As far as I know, some of the high priority PT-Can messages are additionally secured by a 4 bit counter and a Checksum. The Checksum is Byte 0 the counter is B1 bit 0-3. It counts from 0 to E and starts at 0, F is error value. The counter is increased everytime the message is send.
    Without the correctness of this two parts of the message, the ECU wont accept the message.

    It took me long hours to figure out how that stupid checksum is calculated. As I realized that it is not a normal Check sum I thought it has to be a CRC, and that brought me to a totally wrong way.

    Edit: Sorry these Formula is wrong: Finally B0 is: (Sum_B1_to_B7 - (0xFF-CanMsg_id))%0xFF

    The best way to recalculate a Checksum is by looking at a Message that is correct and find the Checksum. Then take the rest 7 Bytes and add them. Compare the added bytes with the Checksum and calculate the offset. Offset = (B0 + B1 +... +B7) - B8 (Checksum). When you do have to send these Message with different content, then Just add B0 to B7 with your content and substract that offset. Your Checksum is the last Byte of that Result.

    Best regards
    Andreas
    Last edited by Maxster; 12-26-2021 at 08:59 AM.

  15. #115
    Join Date
    Jul 2016
    Location
    Westland, Mi
    Posts
    9
    My Cars
    E82 135i 2011
    From E82 real car - should be similar to E90.
    PT can is on 2:xxx, (F-CAN on 1:xxx, Diag_Can on 0:xxx if I remeber correctly)
    https://community.comma.ai/cabana/?r...9-24--16-12-50

    You can fork dbc file from my github and load into the Cabana or just manually load it from file:
    https://github.com/dzid26/opendbc-BM...mw_e9x_e8x.dbc

  16. #116
    Join Date
    Nov 2018
    Location
    Munich, Germany
    Posts
    7
    My Cars
    E30 V8, Z3 E36/7 V8, Z4
    Crazy, you did already built a dbc and you do have access to vector hardware. Many messages that you already found, thanks a lot.

  17. #117
    Join Date
    Sep 2014
    Location
    The Netherlands
    Posts
    24
    My Cars
    E46 BMW 330/ Een BMW Z4
    Quote Originally Posted by Thaniel View Post
    Good setup. Looks like you have about what you need. I am sending values based on the "LOOPYBUNNY" website. Here are the subroutines that I use to form the RPM and Speed messages.

    void send_AA(int CAN) //About every 10 millis
    {

    time_AA=millis();
    word RPM_A;// rpm value for E90
    RPM_A=RPM*4;
    id[CANS] = 0x0AA; //From ECU
    len[CANS] =8;
    data[CANS][0]= 0xFE;//0x5F;
    data[CANS][1]= 0xFE;//0x59;
    data[CANS][2]= 0xFF; //TPS low
    data[CANS][3]= 0x00; //tps high
    data[CANS][4]= lowByte(RPM_A);
    data[CANS][5]= highByte(RPM_A);
    data[CANS][6]= 0xFE; //0x80;
    data[CANS][7]= 0x99;

    CAN_send(CAN,1);
    }//end RPM Loop

    void send_1A6(int CAN) //100 millis ///Speed
    {
    word MPH_A=(((millis()-time_1A6)/50)*MPH/2);
    word MPH_2A= MPH_A +lastMPH;
    lastMPH=MPH_2A;
    //word MPH_2A=MPH;
    time_1A6=millis();
    id[CANS] = 0x1A6;
    len[CANS] =8;
    data[CANS][0]= lowByte(MPH_2A);
    data[CANS][1]= highByte(MPH_2A);
    data[CANS][2]= lowByte(MPH_2A);
    data[CANS][3]= highByte(MPH_2A);
    data[CANS][4]= lowByte(MPH_2A);
    data[CANS][5]= highByte(MPH_2A);
    data[CANS][6]= lowByte(counter_1A6);
    data[CANS][7]= highByte(counter_1A6)|B11110000;
    counter_1A6+=200;
    CAN_send(CAN,0); //can send
    }

    Something is wrong with the speed equations though. It works for awhile then skips. Expect there is some small change in the messages not captured in the loopybunny code.

    Looks like you are setup to have a some fun :-)

    Thaniel
    Thaniel
    I am planning to swap a different V8 into my E65 and looking for an interface to keep the functionality of the instrument panel etc

  18. #118
    Join Date
    Jul 2019
    Location
    South Africa
    Posts
    1
    My Cars
    Bmw 333i
    Hi all I am busy with a project myself I want to use a bmw dct 7 auto box on my 333i motor I have a controller that I can program the can messages into but I just need the messages that control the gearbox and also the pinouts if anyone has them that can assit me. We are wanting to put this setup in our drag car our controller can send messages at 10ms so if someone can assist I will really appreciate it. Thanks

  19. #119
    Join Date
    Jan 2013
    Location
    Russia
    Posts
    22
    My Cars
    E46 330 ESS Touring
    Quote Originally Posted by Mpower333i View Post
    Hi all I am busy with a project myself I want to use a bmw dct 7 auto box on my 333i motor I have a controller that I can program the can messages into but I just need the messages that control the gearbox and also the pinouts if anyone has them that can assit me. We are wanting to put this setup in our drag car our controller can send messages at 10ms so if someone can assist I will really appreciate it. Thanks
    awesome! what motor does your 333i have? keep us posted!
    E46 M54B30 MT Touring = ESS TwinScrew + SS Headers + S38 Flywheel&Clutch + MFactory LSD 3.07 + Koni Sport + Eibach Pro + ///M3-Look
    =============================
    imBMW.net = BMW + iBus + .NET MF + .NET PCL & UWP + Bluetooth + Arduino + STM32 + music + handsfree + DIY + DBus DS2 DME Logging + etc...

  20. #120
    Join Date
    May 2017
    Location
    Germany
    Posts
    149
    My Cars
    1995 E36 328i
    Hey Thaniel,
    nice work! I have an E90 cluster on my bench, simulating the speed, rpm and fuel level works fine. I noticed that the code for the speed msg (0x1A6) can be simplified, this works fine too:

    Code:
    word MPH_A=(MPH);
    word MPH_2A= MPH_A +lastMPH;
    With an intervall of 100ms, the rest cancels out.

    I want to get rid of the christmas tree now (ABS, DSC, tire pressure). I send the 0xC0 and 0xD7 counters and the 0x19E ABS message. The lights turn off, but then turn on again. So its pretty much just blinking forever. How did you calculate the counter for the 0x19E message? The loopybunny website doesnt know.

    Also: Do you need a junction box to make INPA connect to the cluster? I have a D-CAN cable, but INPA does not want to connect to it, if I hook it up directly.

    Thanks for your help!

  21. #121
    Join Date
    Apr 2013
    Location
    Ireland
    Posts
    8
    My Cars
    2001 E39 , 1996 E36
    Started working on a gear selector module from a 2007 E60 520d with a 6hptu trans. So far it powers up on the bench and spits out CAN id 0x4DE about once a second. Message does not alter if the selector is moved or buttons pressed so I guess its just a "I'm here" message and will wait for instructions from the gearbox controller. Would anyone have a can capture from a 2007 or later E60 they could share or have any other info on this part?

    0x4DE 5E 4 FD FF FF FF FF FF
    Attached Images Attached Images

  22. #122
    Join Date
    Apr 2013
    Location
    Ireland
    Posts
    8
    My Cars
    2001 E39 , 1996 E36
    Seems its not as hard as I thought. Did some messing about. Transmitting 0x4DD at 100ms intervals with all zeros except Byte one bits zero and one (simple 0,1,2,3,0) counter wakes up the shifter. Message 0x198 then pops up which has a counter in byte one and the button and shifter lever position information in the other bytes. Now just need to figure out how to control the gear selector position lights.

  23. #123
    Join Date
    Apr 2013
    Location
    Ireland
    Posts
    8
    My Cars
    2001 E39 , 1996 E36
    Message 0x198 from the GWS (Shifter) :

    Byte 0 is a counter. 5 bytes message length.

    Nothing pressed xx 00 CF C0 FC

    "P" Pressed xx 00 CF C5 FC

    Side button pressed xx 00 CF 90 FC

    In Semi gate xx 70 C8 C0 FC

    + in semi xx 60 C9 C0 FC

    - in semi xx 50 CA C0 FC

    First forward detent xx 10 CE C0 FC

    Fully forward xx 20 CD C0 FC

    First detent back xx 30 CC C0 FC

    Fully back xx 40 C8 C0 FC

  24. #124
    Join Date
    Aug 2003
    Location
    georgia
    Posts
    2,099
    My Cars
    135i, R53 jcw, x5d, E39
    Anyone have a list of the PT-can channel / ID / Format? Looking to add pedal position, wheel speed & individual brake pressure so I can monitor what the ECU/DSC is doing on the track

    I have the following mapped already, RPM, TPS, Steering, Engine temp, Oiltemp Brake, fuel level

    RPM ID 170 offset 4 length 2 signed little endian conversion raw x .25 / 1
    TPS ID 170 offset 2 length 2 unsigned little endian conversion raw x .00154 / 1
    Steering ID 196 offset 0 length 2 signed little endian conversion raw x -.04395 / 1
    brake pedal pressure id 414 offset 6 length 1 unsigned little endian no conversion needed
    oil temp ID 464 offset 1 length 1 unsigned little endian conversion raw + -48

    These should be available but I do not know the ID offset length and value
    wheel_spd_fr_lf
    wheel_spd_fr_rh
    wheel_spd_rr_lf
    wheel_spd_rr_rh
    clutch_switch
    brake_pr_fr_lf
    brake_pr_fr_rh
    brake_pr_rr_lf
    brake_pr_rr_rh
    temp_outside
    map
    gear
    The term badge whores is not allowed on bimmerforums, because badge whores don't like it

  25. #125
    Join Date
    Jul 2016
    Location
    Westland, Mi
    Posts
    9
    My Cars
    E82 135i 2011

Page 5 of 10 FirstFirst 12345678910 LastLast

Similar Threads

  1. E46 Can bus project.
    By Thaniel in forum Engine Conversions
    Replies: 985
    Last Post: 02-26-2024, 09:42 AM
  2. BMW Dual 3" Tip Peformance Muffler Exhuast E39 E46 E38 E90 E92 E36 E30 E60 E65 E66
    By BimmerKing12 in forum Engines, Performance Parts & Software
    Replies: 1
    Last Post: 11-28-2013, 06:45 AM
  3. BMW Dual 3" Tip Peformance Muffler Exhuast E39 E46 E38 E90 E92 E36 E30 E60 E64 E65
    By BMW112 in forum Engines, Performance Parts & Software
    Replies: 22
    Last Post: 08-20-2013, 05:44 PM
  4. FS: Brand new DIAGNOSTIC SCANNER E60 E63 E65 E87 E90
    By bumer325 in forum Engines, Performance Parts & Software
    Replies: 15
    Last Post: 07-07-2012, 05:03 PM
  5. CAN Bus IDs - Working for PC integration on E65!
    By xolmatic in forum Car Audio & Electronics sponsored by Bavsound
    Replies: 0
    Last Post: 02-14-2008, 08:06 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •