Hey,
finally found that error. I was able to reproduce the problem at the table and found a faulty pointer in my receive funktion. This caused an overwrite of the memmory for the sendet can message, and for any case the controller deceidet to send the message with just the lenth of the received message.
That means, i made it. I am now able to simulate all known signals from the DME. All error lamps in the kombi tuned off.
Next step is that I will test my one time success more often and improve the code. Then I can start the mechanical swap of the engine.
Best regards
Andreas
Maxster
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...
Some excellent info in this thread, I've only made it a couple pages in. I hope to use some of this info and maybe contribute some of my own for swapping a 5.3L LS into my E38.
2001 740i, Stahlblau, stripper model --> alloy 5.3L LS swap being planned
Hey Thaniel,
I know you are probably super busy but I have a E46 M3 with a 2JZ running an ECU Masters EMU black ECU and I am trying to get my cruise buttons to work so i can you them as switches. I have no idea on how to enter the data you gathered for those buttons. I have attached an image of what I have entered and the options I have to select from. So far I have not been able to get any of the buttons working. Also I have verified that the CANBUS from my ECU is connected and working. Any help would be greatly appreciated.
User CAN Message Rx.jpg
In the E46 the Cruise buttons are not on the CAN bus. It is a direct wire from the cruise buttons to the ECU. See details about the signal in my blog. Post Jan 1, 2014 (link doesn't seem to open the right day) http://e46canbus.blogspot.com/#!/201...e-buttons.html
Last edited by Thaniel; 07-06-2019 at 10:16 PM.
Hello Thaniel,
I would firstly like to thank you for the I formation you've shared with us. You inspire us to do great stuff bro.
Secondly, I have a question. I'll be putting an RB25DET in an E46. I'd like to know if I could connect RX/TX from that ECU to arduino then send the engine data to the can bus network via the can shield? What are your thoughts on this?
Best Regards,
Rickson.
Thanks. Yes you have the right idea. Get the RB ECU data into the Arduino then spit out the E46 Data over CAN bus.
Since I've never worked with a RB25DET ECU I can't tell you what it would take to get the data into the Arduino. But a serial data connection like on a Arduino is not typical for ECU's. And some ECU's have outputs as high as 12V on their data connection. That would fry an arduino. I'd suggest not just "Trying" it. Find some specs :-) You will probably need a transceiver to convert the voltage levels from the RB ECU to something the Arduino can take. Then some code in the Arduino to decode whatever it's saying.
Thaniel
Hey guys. I bought one of Thaniels CANbus modules and am having trouble making it work. I've sent him a couple emails and no response, and don't really have time to wait around. Can any of you help? I'm NOT a software guy, hence why I just bought the module. Would be willing to pay for your time & experience. PM me directly. Thanks!
Just found this thread and I still had a late model E36 Compact CAN cluster around, so I played around with it this evening. The E36 CAN clusters only pull the coolant and rpms from the can bus, which both were identical to the E46 IDs you posted! So with just the 0x316 and 0x329 ids you can make a compact or Z3 cluster think its communicating with the car.
Would anyone have an E60 automatic pt can capture available? Trying to get one of these shifters to work on the bench :
https://www.newtis.info/tisv2/a/en/e...switch/lBL0GI2
Thaniel is a great guy who has dedicated a lot of personal time and effort into this project. I am very thankful for that.
I hate to be the squeaky wheel here but these days it seems there is one or two other people that have had the torch passed to them and either they are too busy or I was not asking the right person the right questions.
Like many things in the BMW world, you kind of have to make sacrifices or figure things out on your own.
I found that I was getting zero responses from anyone other than thaniel and have decided to move onto a different setup in my e46. I’m sure there are more resources out there that the right person could decider the canbus system and how to adapt it to your particular project, especially considering gm uses it in the factory ls vehicle world.
short answer is if you are looking here for help these days on your badass 2j, ls, or rb swap you better be ready to do it all yourself or reproduce other peoples hard work based on the information available.
I had grand dreams of a turn-key 6.0L 323i with full integration of the car’s factory systems. The reality is that I am just too damn picky and I have decided to go back to my tried and true built and turbo’d m series engine based swap/setup.
I have found that it is way easier to build a proper motor, add a turbo, and add dual vanos and retune the factory dme than go down this path now that the support is not much other than informed responses in a forum setting only.
this is my two cents. It is not a rant in any way. This is an awesome project and there are a few extremely lucky people out there that is for certain.
thaniel, as always thank you for your responses. You truly are an excellent person.
I have written this message for those that are hoping someone will save the day. Just like hacking the factory dme, it takes a ton of people and a lot of time, trial, and error.
when I started my turbo e36 m3 build in 2012, it was almost unheard of for someone to self tune the car much less add a turbo, a ford maf, 80lb injectors, remove emissions, and run e85 on the daily. I did all those things with the help of those on the ms41 project. Without all of us working together, it would never have been possible.
we need a passing of the torch on this project that doesn’t involve ignored direct messages on Instagram or this forum. without that, this project will never continue to advance and become widely used and available.
.....that’s my 40th post on this forum but I have literally been holding back on saying this for almost six months. I lurk on this forum. Look me up if you want.
Last edited by iamanonymous; 09-25-2019 at 03:36 PM. Reason: Final thought
I'm quoting you since you are the last one to have ranted here but your not the only guilty party here.
Thaniel has been passing along my direct contact information for quite some time now and the Facebook page that was made for the E46 module is still actively monitored. I haven't looked recently but last I checked Facebook had the pages average message response time at 1 day. There isn't much to change on the page it self so while it may not look all that active if you'd have sent a message(that was module related)....you would have gotten a reply.
Time and money. If your not wanting to put in the time to figure things out on your own then be prepaid to pay for someone else to do it for you. Occasionally you'll run across someone like Thaniel blows the top off the entire BMW data bus and openly shares the information with the world and yet people still find ways to moan since they don't under stand it and just want someone else to do it for them but since the information is free why should they have to pay for someone to make something work for their unique situation.Like many things in the BMW world, you kind of have to make sacrifices or figure things out on your own.
What people want is a one size fits all solution so they can swap in what ever engine they want and then still expect to make every thing work. The LS engine is a great example, we've been making modules at CAN BUS MODULE for a number of years that work with the 3rd and 4th gen LS engines and it works will all the factory PCM's other then the LS2 computer. I have recently considered adding support for the LS2 ECU due to the number of people who have requested a module with this ECU simply because they think it's such a great ECU(it's not). The cost of purchasing these ECU's(GTO,SS Trail Blazer and Corvette are not the same) then building a bench harness is going to cost a fair bit of money....so is the cost worth adding support for a 15 year old ECU so a hand full of people can use the ECU they want in their swap?short answer is if you are looking here for help these days on your badass 2J, LS, or RB swap you better be ready to do it all yourself
Starting around 6 months ago people started wanting to be able to use the Holley Terminator X stand alone EFI system with our swap module and get bent out of shape when they are told it's not supported. Why isn't it supported? The Holley CAN protocol is proprietary and undocumented. The system is also rather expensive to purchase just reverse engineer and based on what I've been told by others that have taken a look at various Holley data buses they go through a great deal of work to make it hard to decode accurately.
The JZ module......when Thaniel passed along everything that he had and officially stepped out of the picture the first thing I did was build a couple of each type of module for reference designs while I was getting things situated. I ran into issues with the analog version of the module and spent a fair bit of time discussing this with Thaniel to try and figure out what was going on. Making a long story short a lot of the parts being used in the design were nearing the end of life for production and some of the parts had already gone out of production. This had lead to several revisions of the CAN-DO-ANYTHING PCB, and at the time there was very little interest/requests for the analog input module design it wasn't something that was noticed until I attempted to build one for verification testing. The analog module was never perfect and always exhibited some odd behavior due to EMI/RFI and the degree of interference the module would suffer in a vehicle was very install dependent. Well the version of the PCB that was being used when Thaniel pass things along to me was suffering from much worse interfere then any previous design.....and this was on a test bench where there should be almost zero interference. Due to parts availability I was only able to go back 1 or 2 revisions on the PCB design and there was no improvement. I spent a good bit of time and redesigned the PCB using as many as tricks as possible to shield the analog circuits and keep them isolated and as far away from the CAN circuits as possible and it showed a slight improvement but not enough that I would have felt good selling it to someone. At that point I was done investing any more time and money into this. Yes we get request for the design from time to time but... not enough to justify spending any more time and money working on it.
Did you ever consider that the amount of time it would require to develop something like? Now develop something like that in your spare time as a hobby but make the final product professional and very easy to install. Then then Make it also work on my 2JZ swapped E36 and a Gen 5 LS swapped into a E70. This is literally what people ask for on a regular basis and expect that you should have a solution for them.I had grand dreams of a turn-key 6.0L 323i with full integration of the car’s factory systems
All the information necessary for anyone to build their own module is in this thread, when people didn't want to build their own and started requesting to just buy one Thaniel stared the CAN BUS MODULE Facebook page and sold a number of modules for all sorts of swaps over the years. Some else got the bright idea that they also could sell a module using this information and that lead to this "Project" being ripped off and commercialized by a number of people over the years. At that point sharing information for others to use is no longer having the intended purpose.... and instead ends up being used by someone to make money with.this project will never continue to advance
They are avaible and generally have a 2 week lead time once an order is placedbecome widely used and available.
May I suggest you try looking in other places or asking people who have done the swap questions..like where did they get their dash module? I'm sure this forum is like every other forum in that there is a non-solicitation or sales policy unless your a forum vendor/sponsor and on most forums that includes conducting business even by PM.we need a passing of the torch on this project that doesn’t involve ignored direct messages on Instagram or this forum.
Well said.
I have one of thaniel’s Modules working with my 24x LS2 ecm, Do the current ones not work with this ecm? I have not be inside of this thread for well over a year.
When the stock ECU is present, the button status is to be found in bit 5-7 (3 bits) in 0x329, byte 3 (counting from 0).
0b100 = 'ShutOff',
0b011 = 'Resume',
0b010 = '-',
0b001 = '+',
0b000 = 'NoButtonsPressed'.
The ACC status is reflected in byte 0, bit 3 in 0x545 (1=activated, 0=deactivated).
Both 0x329 and 0x545 is transmitted by the ECU.
Last edited by e36 323ti; 10-24-2019 at 01:24 PM.
Happiness isn't around the corner - happiness is the corner!
I am glad to see that someone out there heard me. I had previously asked many people and only got a response from thaniel.
that being said, I had given up on the 5.3 swap. Maybe sometime in the future.
At the time that post was written, quite a few people were looking for answers and were getting nowhere.
I really am glad to see that someone has been passed the torch.
without about 10 key people, the ms41 project would have never taken off.
i am just really glad you guys are out there. Truthfully. I mean no offense. No hard feelings.
I know it’s a dumb question but, will I need something like this module for a Ls swap into a E38? I got the swap slowly going but haven’t thought or looked into the gauges or indicator part or it yet
Sent from my iPhone using Tapatalk
Maybe some of you are interestet. But I made a Arduinosketch with circuit diagram for the e46 cluster. You can use it with the Simhub dash program. Here is the link to my blogentry with the full description. The blogentry is in german language, but I descriped the Sketch and circuit diagram in english, so maybe this could help some of you: https://neuros-projekte.de/simulator...rduino-simhub/
Is the brake switch signal ever put on the bus by a controller other than the DME?
Back into a BMW, this time a track rat....and it won't be BMW powered and no, not a V8 either!
Couldn't help myself, boosted e36 m52 street car in progress also!
This is a long thread so I don't know if a more detailed explanation for the fuel consumption was figured out, but this is what I got:
Okay so I followed some code in the DME and I think I figured out how the fuel consumption message works. The DME is constantly adding the fuel injector durations of cylinders 1-6 in the background (this appears to be the case even for non 6-cylinder engines, but I need to disassemble more to confirm). It does some multiplication/division to this sum, adds that to a running sum, and sends the last 2 bytes of that number to the CAN bus every time it sends a can message. The difference between the current message and the last message represents the amount of time 6 injectors were cumulatively open since the last message. Presumably the cluster has some information about how much fuel is injected for a given injector duration. So the cluster can figure out the volume of fuel injected. And then the cluster also knows how fast the car is going and far it is going, so it can divide that volume by a distance and do some math to get it into liters per 100km (which is how the number is internally stored). So yes, the math of figuring out fuel consumption from the CAN value is technically proportional to the rate of change, but that's only because the cluster is doing a lot of math to that number before you see your gauge
Note: This math being accurate relies on the fuel pressure being constant. This is true for older most older BMWs that this mod would be done to, but not necessarily newer ones - presumably newer BMWs transform the duration values to take into account pressure differences when sending the numbers over the CAN-bus.
Overall formula seems to be
SumOfInjectorDurationsSinceEngineStart += SumOfInjectorDurationsSinceLastCycle * 0.00634765625 * 1.03125 (that last multiplier is probably M3 specific). Of course the DME mostly does a bunch of shifts and additions to achieve the final results rather than true multiplication and division
Could also be that the instrument cluster just assumes a default fuel flow rate for the injector durations received and that multiplier corrects it to the true consumption.
Last edited by TerraPhantm; 04-20-2020 at 08:33 AM.
I'm trying to figure out if the Sport Mode button is a function over CAN. Using an AEM standalone ECU (their discontinued plug-n-play kit), in the software it shows this button being over CAN. However, when sniffing with a PicoScope, I'm not seeing anything that supports this.
Additionally, I found these drawings online that show there are two wires - one for the "sport mode", which is an input to the DME and the other wire is an output from the DME for the sport mode button LED. However, when I measured from each wire to chassis ground, I am not seeing any changes when sport mode is off, on or even while being pressed/de-pressed. Does anyone on here have any information on this buttons signal?
https://www.newtis.info/tisv2/a/en/e46-m3-cou/YmuyC02
https://www.newtis.info/tisv2/a/en/e...switch/uwJCdjA
Seems Im a bit late to the party, not to add a lot of unrelated things to this topic, but I am planning an engine swap to a S62 with a standalone ECU (not decided yet anymore since my first thougt of haltech doesnt support BMW canbus) and this was something I was looking for and I must say, great work for all that have been developing all of this!
Been reading over a couple of days this whole thread, but made me non the wiser, I am capable of electronics and coding to a point, but all of this canbus specific things was way to much water over my head. I am more of an analog guy :S
Post #885 by gk73a was some of the tings I am looking for since I currently have a M3 cluster with the SMG parts and was thinking of implementing this with a manual gearbox somehow.
Ive been googling about canbus messages but still not getting alot, but there is the "arbid" of which you been talking about which is the adress of what is being sent? and then there is bit and byte of the message which got me lost. I love to thinker with things but Im afraid that I dont really have enough knowledge for turning this in to what I want. I have an arduino UNO and want some kind of canbus adder or canbus to canbus between the IKE and the rest of the car so I can add messages from DME that will be lost and still keep all other functions of the other units connected and add or change some ingoing traffic to the IKE.
Again great work all who put in effort in to this!
Bookmarks