e9x bench setup

ccfj1

Specialist
Jul 26, 2018
64
57
0
UK
Ride
bmw e92 n55 335i Sport manual
Hi SaNGRia ,

I know you, we have spoken many times before, while i have a full bench module setup, I have also been working on a Arduino solution, its not 100% finished but does work (sort of).

I can understand the guys point of view, I myself have done hundreds of hours on it trying to perfect it and get it right.

Posting on forums with working solutions normally means that others profit from your work, I too don't really mind helping other forum members out (and have done), but filling the pockets of people who just want to make a quick buck, leaves a nasty taste in the mouth, these people don't normally offer support (as they don't know what they are doing), and support falls back on the original poster (this has happened to me many many times), helping people who have paid others for your work, is not why you posted in the first place.

The code you have there will work but you need the timings to be right.

I'm more than happy to help you mate, as I know you are a proper bmw enthusiast, but only by posting you an Arduino with the code already loaded and working, you would just need to connect the wires, the MCP2515 Canbus module and a push switch and a slide switch (the E and F have different ignition codes and bus speeds) so need to be selected at Arduino start up.

I need to do some more work with the coding over the Easter break.

You will need.

2x resisters (anything that you have laying around).
1x push switch
1x slide switch
1x MCP2515 Canbus module
some wires and a solder station

You dont need a jbbr for the e series to work, but you do need a zgw for the f series. (im still working on why (i suspect thate zgw sends a command, but ive not found it yet.))

You can have a led connected to tell you when the "ignition" is on, but its not needed. (if you do you need an LED and a resister (a 330 will do).

I'll assume that you will be using the USB port from the laptop to supply the power, or you can use a 12v to 5v adapter. (for standalone bench use).

As for the Ardunio, you can either send me one or I can supply it at cost, I wont change for the coding, so that would be FOC, but just cover the postage.

If you want to have a stab at it yourself, then there are plenty of canbus sketches that get you started, something like this

This is for the F series, its an example, and if you were to load it on a ardunio it would probably work, (but needs tweaking )

//
// CAN Send Example
//

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

MCP_CAN CAN0(10); // Set CS to pin 10

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

// Initialize MCP2515 running at 16MHz with a baudrate of 500kb/s and the masks and filters disabled.
if(CAN0.begin(MCP_ANY, CAN_500KBPS, MCP_16MHZ) == CAN_OK) Serial.println("MCP2515 Initialized Successfully!");
else Serial.println("Error Initializing MCP2515...");

CAN0.setMode(MCP_NORMAL); // Change to normal mode to allow messages to be transmitted
}

const byte Stay_alive[8] PROGMEM = {0x00, 0x00, 0x8A, 0xDD, 0xF1, 0x15, 0x30, 0x02}; // 0x130, Wake up network
const byte Ignition_1[8] PROGMEM = {0x00, 0x40, 0x7F, 0x50, 0xFF, 0xFF, 0xFF, 0xFF}; // 0x26E, Ignition stage 1
const byte Ignition_2[8] PROGMEM = {0x40, 0x40, 0x3F, 0x50, 0xFF, 0xFF, 0xFF, 0xFF}; // 0x26E, Ignition stage 2

void loop()
{
// send data: ID = 0x130, Standard CAN Frame, Data length = 8 bytes, 'data' = array of data bytes to send
byte sndStatWake = CAN0.sendMsgBuf(Module_Wake, 0, 5, Wake_on);
byte sndStatIgn = CAN0.sendMsgBuf(Module_Ign, 0, 8, Ignition_1);

if(sndStat == CAN_OK){
Serial.println("Message Sent Successfully!");
} else {
Serial.println("Error Sending Message...");
}
delay(100); // send data per 100ms
}

/*********************************************************************************************************
END FILE
*********************************************************************************************************/

You need to load the canbus library,i can send you a link to the lib (use the one by Cory Fowler), its the best one to start with.

PM me direct if you want more info mate.
 

sangria

New Member
Mar 12, 2020
2
0
0
Bro, i am so appreciative for you. And i know what it feels like when someone who tries to take advantage from you and use your hard work for their quick hits. And believe me there is couple of people i know of made money from my very well written DIYs. But at the end i personally never lost. I win and win more win :) And i dont believe that i would have steal his biz all the way from FLorida to Germany since it is a Bench Setup meaning that if i ever try to do business out of it at least i wouldnt offer for an international service :) But anyway i am so thankful for many people in many forums who is trying and finding many solutions. Just like TokenMaster's free licence key, at the end the ones who does the job, wins! I will PM you .
 

Hotter

Specialist
Jan 23, 2021
93
7
0
Hi, I have upgraded my bench setup with fusebox, but now JBBF shuts down power after 30mins. How to keep JBBF alive?
 

Hotter

Specialist
Jan 23, 2021
93
7
0
It seems that I need supply 12V to this pin and JBBF does not turn off now (since I dont have proper CAS with matching key and so on)
pin.PNG
 

Hotter

Specialist
Jan 23, 2021
93
7
0
Hi, I have connected DSC module to JBBR on my bench setup, but I dont see it in Inpa. Do I need something else to have PT-Can and F-Can working?

Do I need to make a short on JBBR 6-43 and 42-5 PINs for PT-Can to work?
dscss.PNG


Any one has PT-Can on their bench setup?
 
Last edited:

Hotter

Specialist
Jan 23, 2021
93
7
0
Tried bridging pins 6-43 and 5-42, but still DSC is not visible on Inpa. Does PT-Can requires DME or FRM or EKP to function? Any ideas what to try?

Other thing I suspect is that CAS must send 15WUP wake-up signal? Maybe DSC sleeps when power supplied and must be waken-up?
How do I fake 15WUP signal? Is it just constant +12V signal? so I can connect it to power directly?
 
Last edited:

Hotter

Specialist
Jan 23, 2021
93
7
0
I can access and Read coding from DSC module on my bench setup, but if I try to Write coding I get this message:
dsc_error.PNG


Maybe it tries to code all connected modules? DSC/ESM/SZL modules?
I have SZL module connected.
What is ESM?
dsc_dummy.png


How could I go around this error and write coding to DSC?
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
SZL is definitely coded through DSC, stands to reason ESM is too if it has values for it. No idea what ESM is, Electric Steering or similar might make sense.

I had JBBF default coded 1M and then manually disabled Servtronic in it before I flashed/coded the DSC and coding never complained, so either that's it or ESM is some obscure module all cars have, but isn't in your loop. Either way, could try disabling servtronic in JBBF and see if it stops looking for it.

Are you sure the hang up is specifically for that module?
 

Hotter

Specialist
Jan 23, 2021
93
7
0
SZL is definitely coded through DSC, stands to reason ESM is too if it has values for it. No idea what ESM is, Electric Steering or similar might make sense.

I had JBBF default coded 1M and then manually disabled Servtronic in it before I flashed/coded the DSC and coding never complained, so either that's it or ESM is some obscure module all cars have, but isn't in your loop. Either way, could try disabling servtronic in JBBF and see if it stops looking for it.

Are you sure the hang up is specifically for that module?

I have coded JBBF to default also without any issue.

SERVOTRONIC_VENTIL - is night_activ do I need to change anything else?

The hang-up is specifically for DSC module, not sure what is the reason for hesitation. I am able to code other modules without issue, they are on K-CAN though. On PT-CAN I have only DSC (with SZL and "Sensor Cluster Module" on F-CAN which send messages so they are alive also).
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
I think that was the only thing I disabled in JBBF after default code. Are you able to get a read from DSC or is it specifically a write issue? Basically, rule out a comm issue with DSC itself before assuming related modules are the problem.

If DSC talks to tools, next step may be finding out exactly what ESM is and what CAN it's on.
 

Hotter

Specialist
Jan 23, 2021
93
7
0
I think that was the only thing I disabled in JBBF after default code. Are you able to get a read from DSC or is it specifically a write issue? Basically, rule out a comm issue with DSC itself before assuming related modules are the problem.

If DSC talks to tools, next step may be finding out exactly what ESM is and what CAN it's on.
Yes, I am able to read from DSC no problem, the issue is just write. Maybe I should try to update it with WinKFP?
Or maybe it needs to be coded in ignition off?
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
I did everything with the ignition on/in the car. If you're trying to code DSC as 1M, I'd definitely flash it 1M first. That MK60 code file isn't the one for 1M DSC either. Not sure ESM is even in the 1M, but it's been a while since I did it.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
To flash 1M DSC to non-M DSC:

 

Hotter

Specialist
Jan 23, 2021
93
7
0
I did everything with the ignition on/in the car. If you're trying to code DSC as 1M, I'd definitely flash it 1M first. That MK60 code file isn't the one for 1M DSC either. Not sure ESM is even in the 1M, but it's been a while since I did it.

I just try to make my bench setup to work no intention to flash 1M DSC or anything else. Just want to try to change some settings in DSC. Still no luck in writing code to DSC.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
I see. I checked and 1M does have ESM too, but I can't find what it is. Have you tried ISTA to see if it's showing any issues with the DSC? If you can read from it, it's obviously finding it, but maybe it's just not in a write capable state somehow. What cable and is latency set to 1 on the COM port?
 

Hotter

Specialist
Jan 23, 2021
93
7
0
I see. I checked and 1M does have ESM too, but I can't find what it is. Have you tried ISTA to see if it's showing any issues with the DSC? If you can read from it, it's obviously finding it, but maybe it's just not in a write capable state somehow. What cable and is latency set to 1 on the COM port?

yes, latency is set to 1.
This is the fault memory of DSC when I read it with ISTA:
ista.PNG

But its functional, I can call ECU functions and so on. Yes, it seems its not in a write capable state for some reason.
Not sure why it has under-voltage error. My bench setup provides 12V 20A.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
yes, latency is set to 1.
This is the fault memory of DSC when I read it with ISTA:
View attachment 54090
But its functional, I can call ECU functions and so on. Yes, it seems its not in a write capable state for some reason.
Not sure why it has under-voltage error. My bench setup provides 12V 20A.

I had some kind of update on my laptop reset my com to back to 16 out of nowhere once and it worked fine for reading, but failed for flashing until I found it, that's why I asked.

WinKFP and maybe INPA should show programming status for modules. If it's normal, I'd think those errors/low voltage have something to do with it. Maybe it won't even attempt a flash if it thinks voltage is low/voltage code is present.

20A seems like it would be enough, but have you checked what the DSC is actually getting? Maybe there's just a bad ground/connection somewhere causing a drop or maybe there's +V line or message/flag not active that needs to be?

I assume the cable is known working/problem free.
 
  • Like
Reactions: Hotter

Hotter

Specialist
Jan 23, 2021
93
7
0
I had some kind of update on my laptop reset my com to back to 16 out of nowhere once and it worked fine for reading, but failed for flashing until I found it, that's why I asked.

WinKFP and maybe INPA should show programming status for modules. If it's normal, I'd think those errors/low voltage have something to do with it. Maybe it won't even attempt a flash if it thinks voltage is low/voltage code is present.

20A seems like it would be enough, but have you checked what the DSC is actually getting? Maybe there's just a bad ground/connection somewhere causing a drop or maybe there's +V line or message/flag not active that needs to be?

I assume the cable is known working/problem free.
Indeed it was just a simple power wire connection issue... I was pretty sure I have connected all wires correctly... And DSC was visible in Inpa... I am able to write coding to DSC no issues now and there is no more under-voltage error in DSC. Thanks.
 
  • Like
Reactions: aus335iguy and RSL