A little off topic so I understand if I get crickets. From what I understand early e36's use the L-line CAN. The Standard at least for diagnostics is KW-71? I want to send and receive e36 messages and integrate them with AEM's standalone with published standard. So receiveing messages and sending message from both sides and aligning the identifiers with something line the CANtriple (which is never in stock). I know the AEM side and I can sniff the BMW side but it seems like a standard with identifier tags should be available somewhere.
cricket cricket. Well e36 use DS2 (search that) and k bus and a few others. They have more in common with linbus. They are bus systems but not a CAN bus. Nothing in this thread will help. Well I may have mentioned that linbus transceivers work good for connecting to the BMW k bus, or ds2, or iso protocol for obdii etc.
but if you replace the DME with an aem standalone then what will it talk to? Have you managed to talk to the AEM via can bus? I'd be interested in that. Oh my signature has a link to my iPod adapter creation. It's k bus interface might be of interest to you.
Thaniel
What form does the speedometer signal take? 5v square wave? Thanks.
- - - Updated - - -
And does anyone know the can message to turn off the handbrake and dsc lights? Tried ID: 1F3 DATA: 40 80 00 ff 41 7f 00 08 without success. Thanks
near 12V square wave. See also here in this thread:
http://www.bimmerforums.com/forum/sh...5#post29275965
If not using in the E46, which if you are messing with the speed signal I'm guessing you are not, I recommend coding out the DSC in the IKE. The hand brake light and low brake fluid light are simply grounding (or providing voltage) on the right wire. They are not can bus driven. If not coding out the DSC you have to imitate the DSC messages in type, timing and content. Info is in this thread.....Somewhere.....
About to finalize a couple of CAN-bus solutions. One solution for E46 CAN to E34 IKE (convert CAN values to anlog values required by the E34 IKE) and one solution for E46 MK60 CAN emulation. The E46CAN2E34IKE is based on cots with custom pcb to put it all togehter. The MK60 CAN emulator is all custom made with two CAN-controllers, K-Bus interface and a couple of driver outpts. Thank you for the inspiration, Thaniel!
Happiness isn't around the corner - happiness is the corner!
Well done Thaniel. The time you have spent doing this is impressive. I bought an e46 m3 instrument cluster for my e30 2jz about a year ago and once realising that the pinouts were canbus i put it to the side and thought. One day I'll look back into it. But you have already achived it! I have bought all the necessary parts i think. Now to start bending my mind!
Ps. Has anybody tried this on the f10?
I have a multifunction instrument display option on mine. If we can get that running on other cars that would look soo cool!
Glad to have helped. Enjoy the can bus. It can be kinda fun.
I've not seen anyone doing the F-series but expect that someone is. It may not be all that different from the E9x E6x etc. And people are getting data on those. Someoene would have to sample the F cars and compare.
Thaniel
Ok guys this is going to sound really nooby, but now that ive made my obd to serial cable i have realised that I will need to use a different listen and send file or just listen, is a particular one recommended just to sample the data from the car, I suppose the f10 is full can controlled, Im eager to work out what controls the speedo also what about filters? Ill be sniffing my 2015 f10 535D. Also when using an SD card does it auto log or do i need to enter parameters?
Any help is greatly appreciated
Thanks in advance
- - - Updated - - -
Hi Thaniel, I have managed to get E46 the cluster working using your listen and send 200 file. Although I am using an m3 cluster so where MPG is I have oil temp which hovers around 75c when active for some reason, But it seems the sparkfun can bus shield is blocking the pin 2 digital input for RPM, If i lift the shield slightly from the uno I can get rpm to work, very strange... any ideas?
Last edited by g57yle; 12-20-2016 at 05:36 AM.
The M3 Oil temp is just another can code. See page 1 of this thread and make changes to the program you are using to send a different value for oil temp.
Here are a couple of ideas
1. Bend the Pin 2 from the shield out of the way so it doesn't plug in
2. Switch the program to another pin
You may want to look at the schematic for the Shield and see what's the pin is used for. It's been several years. Their design may have changed.
Did a re-spin/revision of the E46CAN2E34IKE electronics. Don't know about your solution, but I found it necessary to implement a prediction algorithm regarding the RPM in order to have super smooth RPM without lag or bounce. This because the 0x316 CAN telegrams are not 100% deterministic (10ms +8/-2 ms).
Happiness isn't around the corner - happiness is the corner!
Our code has changed much since any we have posted. But if one was to read this thread they could see what we did. Ours mimics what the DME does. Looks good to me. Here is a recent swap running it. A Z4 with an LS3. (Can to can so signal noise isn't an issue)
https://www.youtube.com/watch?v=y6lTBRVPv0A
Hello Thaniel, This thread is super amazing to me, there is a lot, i mean a lot of information here. i first want to thank you for your passion, patience and generosity to capture, understand, reverse engineer and share this data publicly.
I got a 2008 BMW 328i which is out of warranty now and i am trying to get into reverse engineering it. your thread really helps and gives direction. i bought the arduino uno & seeeduino can bus shield. i will start collecting data soon. I will come to you for sure on decoding the data. In your free time, please help me out. really appreciate this.
Welcome to the fun :-) With a 2008 you would probably be more interested in this thread https://www.bimmerforums.com/forum/s...n-bus-project-
Thank you so very much Thaniel. The E90 thread really helps. From loop bunny website the indicator codes are bit confusing. Can you please explain a little bit more?
I'm a little late to the party but I've just acquired a cluster from an E46 M3 that came with a DME I purchased, I have hooked it up to my USB2CAN device and can see messages on the bus. However I can't for the life of me get the coolant or rev counter to move by sending messages.
For example, if I send ID 0x329 with a message of 'D9 A9 B2 19 00 EE 00 00' I'd have expected to moved the coolant gauge to the mid point. The same goes if I try and send RPM...not even a twitch of the needle.
Am I missing something?
Last edited by MartynT; 03-14-2017 at 07:32 AM.
I've managed to get it working by using candump under linux and logging the output, that can then be manipulated and replayed using canplay
Good to hear. You will need to send 0x329 about every 20ms or so continuously for it to be happy. But the temp needle has a lot of logic built into it. It doesn't just put the value you sent up there. For instance if I remember correctly BMW does not let it go UP unless the engine is running. I'd recommend starting with RPM first. It's more forgiving.
Bookmarks