Page 1 of 3 123 LastLast
Results 1 to 25 of 71

Thread: Complete: E46-LS1 guage solution using OBDII to Can signals

  1. #1
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6

    Thumbs up Complete: E46-LS1 guage solution using OBDII to Can signals

    Attachment 490686Hello. With the help of the community I've been working on decoding and making a gauge interface for the E46 engine swapped cars in this thread.

    http://forums.bimmerforums.com/forum...an-bus-project

    To make the finished solutions more easily accessible I've placed them in their own threads. This one is for the digital to digital solution using OBDII commands to extract the RPM and temp from the ECU (via can bus or other diagnostic bus) and then transmitting to the E46 cluster using can bus. For the solution using RPM pulses and analog temp signal see: http://forums.bimmerforums.com/forum...ls-over-canbus

    Here a pic and video of it hooked up my rental car (laguna Renault) hooked to the E46 instrument cluster. This car has can bus at the OBDII socket so I connected the ELM327 to the socket. Prompted by the Arduino the ELM327 sends the requests to the ECU using OBDII style PID's and then collects the message. The Arduino collects the response from the ELM327. Then converts the response to BMW can bus messages and sends out via the Arduino can bus shield (MCP2515 and MCP2551 chips). The temp sending is a bit slow during this video due to the extra steps required to gather the info from the 327 and the IKE gets bored waiting for temp messages. So it turns off the needle (makes it go full hot). Could be corrected by reducing the delay time in the program but with all the wires dangling I didn't feel like messing with it.

    (The service engine is light due to it's time to take it back to Hertz for service)
    Photo:
    Attachment 451891
    Video


    In this car anyway the RPM gathering seems to be quick enough. In fact I think the E46 RPM moves quicker than the Laguna. So this would be a workable solution in this case. Can't test the MPG as it needs a speed input to the cluster which is not can bus. The program would just need a little polish but would be better done using the specific ECU as timings and some of the OBDII commands vary. If anyone want's to pursue this further I can offer assistance.

    Related to this; my son's been working on getting the new MCP2515 and MCP2551 chips to communicate on the bus like the premade shield (same chips in the can bus shield). Another solution for can to can would be to use the MCP chips instead of the ELM. But the ELM clone does work and was about the same cost as the extra chips. One advantage of the ELM is that it is able to interface with VPW protocols (older GM) ISO and Can bus. The disadvantage is the real ELM bare chips are expensive. The complete clones are inexpensive but the USB versions (all that is available anymore) require modification to be used. Below is how I modified my ELM clone to work. Instructions are available on the web as well.

    The ELM clone I have actually uses a PIC18F2XK80 chip (not an ELM327). It has a MCP2551 chip for interfacing with can bus and other hardware for interfacing with the ISO and VPW etc protocols. Unfortunately USB has become more popular that the standard serial port. The ardruino doesn't comunicate easily to other micro controllers through the USB (I can't find anyone doing anyway). So I opened up the box to connect into the PIC18F2XK80 chip Rx and TX lines between the chip and the USB controller.

    Attachment 448879

    Some really small solders needed to be made for the Rx and TX line (the white lead with the tiny read and green leads out of them). I Feel lucky that I got it right. Even on the first try. The blue and red wires in the top of the picture are to supply 5V for the board and a common ground.
    Attachment 448880

    Attached is the program used in the video



    Thaniel

    11/19/2013 Updated program to v006
    1/22/14 updated to v009
    Attached Files Attached Files
    Last edited by Thaniel; 01-22-2014 at 01:05 PM.

  2. #2
    Join Date
    May 2012
    Location
    Viera, FL
    Posts
    65
    My Cars
    99 740i
    pdf if broken, solid work

  3. #3
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Sorry. Forgot to say it is a zip file. Download and change the ending from .pdf to .zip.

  4. #4
    Join Date
    Jun 2004
    Location
    PA
    Posts
    2,238
    My Cars
    Too many to list...
    Good stuff.

    Doug


    '97 M3/4

  5. #5
    Join Date
    Apr 2010
    Location
    South Africa
    Posts
    32
    My Cars
    BMW 120d
    Congrats Thaniel! Took alot of effort, but you succeeded. Now all you need is to do the engine swap and implement this!

  6. #6
    Join Date
    Jun 2007
    Location
    Savannah GA
    Posts
    32
    My Cars
    1987 BMW 325IS, 1987 BMW 325IS
    Been following this since the beginning, now to figure out all the info to wire in a ls2.

  7. #7
    Join Date
    Jun 2013
    Location
    Austin Texas
    Posts
    2
    My Cars
    2001 330ci
    Thanks for the info.

    Anyone know if something like this would function properly in an E46?
    http://www.navstore.com/noland-engin...version-4.html
    There were similar units on display at 2012 SEMA show and I was curious if this would work.

  8. #8
    Join Date
    Jun 2013
    Location
    Austin Texas
    Posts
    2
    My Cars
    2001 330ci
    Great Info!

    Does anyone know if something like this would work with the E46?
    http://www.navstore.com/noland-engin...version-4.html

  9. #9
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by GriffithMetal View Post
    Thanks for the info.

    Anyone know if something like this would function properly in an E46?
    http://www.navstore.com/noland-engin...version-4.html
    There were similar units on display at 2012 SEMA show and I was curious if this would work.
    Interesting product and essentially the same as what we have put together so you could make your own :-).

    I'd suggest contacting the Manufacturer to and see what they say. No way for us to know if the codes their product sends match the ones we've posted in this forum. But I'm sure they could tell you.

  10. #10
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    I'm updating this program soon. Tested it on my Ls1 and realized I need to make the serial read routines more like one of my other more recent programs. I'll post and update when it's done. Hopefully in the next week or so.

    Quote Originally Posted by Dinnertime View Post
    Been following this since the beginning, now to figure out all the info to wire in a ls2.
    The LS2 is Can bus if I understand correctly. The test in the video on the top is done using Can bus OBDII protocols. Should work just fine. Just need to hook the Can bus wires from the LS2 to the ELM and can bus wires from the can sheild to the E46 (and power and ground leads).

    The more I play with this method of captureing the data from the engines the more I'm starting to like it. To change the program from working on the Laguna (can bus) to LS1 (VPW) was only ONE character in the program. that's all.

    Thaniel

  11. #11
    Join Date
    Oct 2006
    Location
    Naperville, IL
    Posts
    2,462
    My Cars
    1998 540i
    Great stuff
    Rob
    Prior projects:
    1998 540i with 6.6 LS2/T56 Chevy Power
    - pictures and details
    1992 325i with 6.6 LS2/T56 Chevy power - pictures and details
    1995 M3 with 6.6 LS2/T56 Chevy power - pictures and details




  12. #12
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Another forum member is looking to try this scenario on his car and help refine the programming. The set up we plan to use is in the attached picture. An Arduino, seeedstudio can bus shield, a modified elm clone an some miscellaneous bits. I think it makes a neat package. Little easier to hookup than some of the rats nests I used in proof of concept.

    Thaniel
    Attached Images Attached Images
    Last edited by Thaniel; 12-06-2013 at 12:28 PM. Reason: turned picture upside up (stupid iphone)

  13. #13
    Join Date
    Oct 2002
    Location
    Plymouth, MI
    Posts
    829
    My Cars
    '88 635 CSi, '09 X5 4.8
    Merry Christmas all,

    I've had an LS3 running in my '03 330i ZHP since late Summer, but have been working through various teething issues. Most of those have been resolved other than the tach. Since I have a 58T wheel I tried splitting the signal between the DME and LS3 ECM. This worked the first time, but only produced a few twitches of the tach needle afterward. I tried putting an S50 balancer on my cutoff saw and rigging up the BMW crank sensor outside the car to see if the separate tone ring solution would work. No success, but this was a jerry rigged setup. Note that I have a later MS 45.1 DME so this may account for why it didn't work as it has for others.

    Last month I contacted Thaniel about testing his OBDII to CAN solution. He's been really helpful in discussing what I was trying to do and how best to test everything. While I am an engineer I'm new to the whole Arduino scene. So I was hesitant to build my own module. Thaniel was kind enough to build a setup with an Arduino clone, EML and Can shield (<$100 in parts), and even loaded it with an initial program. All I had to do was hook up a power, ground and the high and low wires for the LS3 and BMW CAN circuits (6 wires total). The tach worked right out of the box! A few of the other functions didn't work immediately, but we are working through those.

    In this test video the program is controlling all of the primary functions of the cluster with preset values. Yes it really is 29F in my garage this morning...www.youtube.com/watch?v=k9BWufVWyvQ

    In this video you can see the module (sitting in a tuperware bowl until I fab an enclosure and six pin connector) and that it is running the cluster. Specifically the tach and temp gauge are working from the LS3 ECM. I did verify in a drive yesterday that the temp gauge moves to center at normal operating temperature. We are working to get the MIL, MPG and a few other thing working. Also want to get the A/C working at some point.www.youtube.com/watch?v=NB-29NZbdqc

    A big thanks to Thaniel for all of the help so far!

    Shea
    Last edited by ssburns; 12-25-2013 at 11:23 AM.
    Shea Burns

  14. #14
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Hey Shea,

    Thanks for posting the results. Feel bad I've still not started an E46 swap. But glad to see the effort in decoding the can bus not going to waste :-)

  15. #15
    Join Date
    Jan 2014
    Location
    Sydney, Australia
    Posts
    4
    My Cars
    1988 Toyota MR2
    Hi, Ive tried downloading the "listen and send" file in the original post but when opening it all i can see is a shortcut file which leads to nowhere. Am I missing something?

    I do some wiring work at a mates custom car shop in AU and am currently doing an E46-LS1 conversion. I have the engine wired up to the point that it will run and am now looking at getting the dash to work. Does the ELM clone need to be used to poll the LS1 ecu for information or will the canbus shield do that on its own? I have a freetronics eleven (arduino clone) and a seedstudio canbus shield for the project already.. just gotta wire it in and program it now!

    I have never done anything on a car running CANBUS before so excuse me if I ask some silly questions. I'm actually a chemical engineer by trade but I seem to be doing a lot more of this wiring stuff lately lol

    Thanks!
    Last edited by trdee; 01-21-2014 at 11:27 PM.

  16. #16
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by trdee View Post
    Hi, Ive tried downloading the "listen and send" file in the original post but when opening it all i can see is a shortcut file which leads to nowhere. Am I missing something?

    I do some wiring work at a mates custom car shop in AU and am currently doing an E46-LS1 conversion. I have the engine wired up to the point that it will run and am now looking at getting the dash to work. Does the ELM clone need to be used to poll the LS1 ecu for information or will the canbus shield do that on its own? I have a freetronics eleven (arduino clone) and a seedstudio canbus shield for the project already.. just gotta wire it in and program it now!

    I have never done anything on a car running CANBUS before so excuse me if I ask some silly questions. I'm actually a chemical engineer by trade but I seem to be doing a lot more of this wiring stuff lately lol

    Thanks!
    I've fixed the program and updated it to the latest. Download it, remove the .pdf, Unzip, Then open the program with the same name as the zip file. The others files will be opened as tabs in the complier. Be sure to change the protocol to what you are needing. (There are notes in the program on how). I think it is set for Can bus currently (for use with LS3)

    You need Two modules. One to speak to the E46 cluster and one to speak to the LSx engine. LS1's use VPW so a can sheild will not work to talk to it. Will need some method to comunicate with it. The one I chose for this specific project was an ELM or ELM clone design. But there is more than one way to set things up. The seeedstudio can shield will work fine on the E46 side for you though.

    Good luck and report back how it works,

    Cheers,

  17. #17
    Join Date
    Jan 2014
    Location
    Sydney, Australia
    Posts
    4
    My Cars
    1988 Toyota MR2
    Thanks mate, I'm trying to get the neatest/simplest solution happening here. I did a bit of a search for ELM327 shields for the arduino and found this unit http://sigalabs.com/shop/vehicle-obd2-shield/

    Would piggybacking the seedstudio canbus shield and this OBD shield on top of the arduino work? Do I need to make adjustments to your program or should it work out of the box? I haven't programmed anything outside of a couple of uni projects in MATLAB back in the day so the less programming I can get away with the better :P

    I also notice the last tab is called "testvalues". Is this a demo program to get the dash to go through a set routine? If so, I can't seem to get it to work...

  18. #18
    Join Date
    Jan 2014
    Location
    Sydney, Australia
    Posts
    4
    My Cars
    1988 Toyota MR2
    Also, will this work via the OBD connection on the E46 or do I need to wire the canbus shield directly to the dash as has been outlined in other posts?

  19. #19
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by trdee View Post
    Thanks mate, I'm trying to get the neatest/simplest solution happening here. I did a bit of a search for ELM327 shields for the arduino and found this unit http://sigalabs.com/shop/vehicle-obd2-shield/

    Would piggybacking the seedstudio canbus shield and this OBD shield on top of the arduino work? Do I need to make adjustments to your program or should it work out of the box? I haven't programmed anything outside of a couple of uni projects in MATLAB back in the day so the less programming I can get away with the better :P
    I can't say for sure as I'm not familar with it. But if it uses the same commands as the ELM it should work but would likely require changing pin designations in the program to match that sheild. However it's about 10x the price of the ELM clones off the internet. But would be easier to plug in to the arduino

    Quote Originally Posted by trdee View Post
    I also notice the last tab is called "testvalues". Is this a demo program to get the dash to go through a set routine? If so, I can't seem to get it to work...
    Ah yes that was for some debugging and should have been deleted. I'll correct that in the next update.

    If you want an IKE test program that tests the connection between the Arduino and the IKE send me a PM and I'll e-mail one. You need to have the can sheild connected to the E46 can bus and the arduino for the test program to work.

    - - - Updated - - -

    Quote Originally Posted by trdee View Post
    Also, will this work via the OBD connection on the E46 or do I need to wire the canbus shield directly to the dash as has been outlined in other posts?
    You need to connect the can sheild to the Can bus in the E46. The can bus in the E46 is NOT connected to the OBDII port (E46's do not use can bus for OBDII). You will need to connect the elm clone to the VPW line of your LS1. That connection is wherever you connected it :-)

    FYI: It is possible to connecty to VPW without using the ELM. In this link they have done it http://www.nerdkits.com/videos/obdii/
    My son is looking at incorporating a similar code into our program and see if everything can still run at the correct speed. The code is not written in Arduino format and is for a slightly different chip so it's a bit more difficult than it sounds. But who knows what can happen :-)

  20. #20
    Join Date
    Jan 2014
    Location
    Sydney, Australia
    Posts
    4
    My Cars
    1988 Toyota MR2
    Thanks man, PM sent

  21. #21
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Version2.JPG
    "Version 2". New features for this one include a circuit to turn on the assembly when there is activity on the K-bus (copied from my ipod interface). And it can turn itself off too. That way not draining the battery when the car is not in use. Also includes a 12V+ ouput when the A/C button in the E46 is pressed (Needed for LS1). Still needs in car testing. At this rate I'll have all the bugs worked out by the time I get my engine installed

    Thaniel

  22. #22
    Join Date
    Jul 2011
    Location
    Houston, TX
    Posts
    5
    My Cars
    2003 325i
    Dude, this is crazy. I need to be following this much closer. Let me know if you need any help with anything, I'd love to see this succeed. I'm more of a mechanical engineer than an electrical engineer, but I want this to happen.

  23. #23
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by unevolved View Post
    Dude, this is crazy. I need to be following this much closer. Let me know if you need any help with anything, I'd love to see this succeed. I'm more of a mechanical engineer than an electrical engineer, but I want this to happen.
    Thanks. I'm a mechanical engineer by degree too. Suprised I've gotten so in to all this electrical and computer stuff.

    We are just sorting out some of the nit picky things and car/engine specific issues. There is a bit of variation between BMW years. And between LS1 and LS3 there is some significant differences. But running the Tach, temp etc is easy.

    Thaniel

  24. #24
    Join Date
    Jul 2013
    Location
    minooka IL
    Posts
    1
    My Cars
    2000 323i
    Quote Originally Posted by Thaniel View Post
    Version2.JPG
    "Version 2". New features for this one include a circuit to turn on the assembly when there is activity on the K-bus (copied from my ipod interface). And it can turn itself off too. That way not draining the battery when the car is not in use. Also includes a 12V+ ouput when the A/C button in the E46 is pressed (Needed for LS1). Still needs in car testing. At this rate I'll have all the bugs worked out by the time I get my engine installed

    Thaniel

    Thaniel... Just wanted to say thanks for putting all the hard work into this project I've been following your threads for awhile , someone like myself who doesnt undestand how to decode or read computer codes will greatly appreciate a product like this to help us wityh our swaps.

    Are you making any of these for other people yet ? I would be very interested if you are ....Thanks!

  25. #25
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by robertvon View Post
    Thaniel... Just wanted to say thanks for putting all the hard work into this project I've been following your threads for awhile , someone like myself who doesnt undestand how to decode or read computer codes will greatly appreciate a product like this to help us wityh our swaps.

    Are you making any of these for other people yet ? I would be very interested if you are ....Thanks!

    I've made a couple. With all the different car combinations and motor combinations each one has been a little different. There are still minor bugs that need to be worked out. It's difficult to work bugs out over long distance. If a person has the patience for that I can help them out. Send me a PM with the car and motor you have.

    Thaniel

Page 1 of 3 123 LastLast

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
  •