Page 1 of 2 12 LastLast
Results 1 to 25 of 47

Thread: Complete: E46-LS1 guage solution using "Analog" signals over canbus.

  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 "Analog" signals over canbus.

    Been doing some work with forums members in this thread:
    http://forums.bimmerforums.com/forum....php?t=1887229

    This is for the Analog to Can solution. For an OBDII code to Can solution see here:http://forums.bimmerforums.com/forum...4#post26219044

    I realize that "complete" is very relative. As those that have completed swaps are very aware. But thought we are at a point the progress deserves it's own thread for those not wanting to read through the pages of how the information and program was developed. Or had dismissed the other thread as a bunch of crack pot computer guys that'll never get anywhere


    Here's the video




    E46 instrument cluster running off can bus with "analog" inputs to Ardruino. Only 3 signals wires (plus 1 ground and 1 power) are fed into the Ardruino. Tach and injector pulse width are pulsed signals. The temp is a variable voltage. During the video I first turn it on. Then rotate a variable resistor that changes the pulse frequency coming from the "Leonardo" being fed into the Ardruino by the purple wire. Then I rotate the variable resistor that varies the voltage that is sent to the Ardruino on the light blue short wire. Then after removing the wire that is feeding pulses to the speedometer (required to make the MPG work). I press buttons which vary the frequency sent on the long blue wire to the ardruino (frequency generator is varied to provide 500 rpm increases every time I push the button which is why the tach is not fluid in the video. But is in real use).


    Attached is a picture of the wiring coming into the can bus. Signals come in through the small wires and then go out on the can bus through the DB9 connector (black wire). The 12V in and a ground are on that connector too.


    Also attached is a .zip file (named with .pdf for upload) which contains the exact software the Arduino is running during the video. It will need some calibration for the MPG values (different injectors and fuel pressures will consume differing amounts of fuel) So I didn't try to do calculations in injector pulse width vs fuel consumption. but I put in a nice MPG calibration variable for tweaking.


    I'd like to see how it would work on an actual E46 with an LS1.....

    Thaniel

    11/19/2013 updated to v200
    Attached Images Attached Images
    Attached Files Attached Files
    Last edited by Thaniel; 11-19-2013 at 03:35 PM.

  2. #2
    Join Date
    Oct 2006
    Location
    Naperville, IL
    Posts
    2,462
    My Cars
    1998 540i
    Great work
    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




  3. #3
    Join Date
    Nov 2009
    Location
    Auburn, GA
    Posts
    3,595
    My Cars
    Chevy, xBMW's, LS Volvo
    Paging Terry Fair....

  4. #4
    Join Date
    Feb 2007
    Location
    Dallas, Ga 30132
    Posts
    1,337
    My Cars
    97M3.4.5,EG,YZF
    MAD SKILLS!!!!!!!!!!!!!!!
    So, the arduino is the analog to canbus black box?

  5. #5
    Join Date
    Jul 2011
    Location
    Houston
    Posts
    1,344
    My Cars
    LS e39, LT e53
    great job! definatly mad skillz!
    2006 X5 L83 5.3 6l80 swapped in progress
    1999 528i 5.7L 4l60e swapped w/ 31 spline 8.8 cobra diff
    2007 ZX-10r - sold
    1987 R-10 SWB L83 5.3L 6L80e swapped

  6. #6
    Join Date
    Nov 2011
    Location
    NW mississippi
    Posts
    131
    My Cars
    '99 328i cabrio?
    How similar are the E46 to the E36's?
    Mine is a '98 auto 328i
    That's excellent work! Reminds me of my college days and avionics.

    E

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

    Quote Originally Posted by hefftone View Post
    :So, the arduino is the analog to canbus black box?
    Yes. More or less. The arduino senses the analog signals, converts them to hex values, forms the appropriate can message then sends the message to the can shield. The can shield then transmits the message over the bus.

    Quote Originally Posted by rockosocko View Post
    How similar are the E46 to the E36's?
    Mine is a '98 auto 328i
    E36's don't require this type of thing as they dont run the instrument cluster off the can bus.
    Last edited by Thaniel; 03-12-2013 at 01:56 PM. Reason: Automerged Doublepost

  8. #8
    Join Date
    Mar 2004
    Location
    USA
    Posts
    3,241
    My Cars
    96 328is 6.0L
    That is amazing work!
    - 96 328is 6.0L. (LS1 to LS2 build thread: http://forums.bimmerforums.com/forum...ad.php?2098938)
    - 96 328is 5.7L. (LS1 build thread: http://forums.bimmerforums.com/forum....php?t=1289987)
    - 95 ///M3 6.0L. (LS2 build thread: http://forums.bimmerforums.com/forum....php?t=1619249)

    - 97 ///M3. (e46 Fender Flares/track car build thread: http://forums.bimmerforums.com/forum....php?t=1727098)
    - 96 328is (Dual Fuel Pump to Surge Tank thread: http://www.bimmerforums.com/forum/sh...ad.php?1964025)

  9. #9
    Join Date
    Nov 2006
    Location
    Minneapolis,MN
    Posts
    2,260
    My Cars
    2003 M5, 2014 535i
    Awesome work Thaniel.

    2003 M5 LSx l 6 Spd Manual l 4.10 LSD
    Build Thread
    The chassis must always be regarded as a means to an end and never as an end itself

  10. #10
    Join Date
    Feb 2007
    Location
    Dallas, Ga 30132
    Posts
    1,337
    My Cars
    97M3.4.5,EG,YZF
    Seriously, You need a donation link (i.e. Paypal).

    Might be putting the cart before the horse, but it would be awesome to see if this stuff worked on e60 5-series, X5 and E90 clusters.

    So is Arduino the only thing between the analog inputs and the instrument cluster, or are you tapping into the system somewhere else....as in sending analog inputs to the ECM, or some other sort of BMW hoopla.

  11. #11
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by hefftone View Post
    Seriously, You need a donation link (i.e. Paypal)..
    I've seen people do that. Often wondered if they ever got anything.
    if someone wants to donate they can lookup, experiement and provide info to the board. Or maybe if they have parts laying around they could send some things to help on other projects . Ordering stuff for me in Sweden is a pain.

    Quote Originally Posted by hefftone View Post
    Might be putting the cart before the horse, but it would be awesome to see if this stuff worked on e60 5-series, X5 and E90 clusters.
    The newer cars use a different format. The concept would work the same but the messages would be different.


    Quote Originally Posted by hefftone View Post
    So is Arduino the only thing between the analog inputs and the instrument cluster, or are you tapping into the system somewhere else....as in sending analog inputs to the ECM, or some other sort of BMW hoopla.
    This solution needs the BMW ECM (DME) to be removed from the car. Or at very least from the can bus. Both devices on the bus at the same time will cause conflicting messages. Since the bus is a network other BMW things are on the bus but should not interfere.

    The path for information is LS1 (or other engine) -> Arduino -> Can Shield -> Canbus -> Instrument cluster

    As you can see from my test set up I don't have any other parts of the car The wave forms I'm feeding into the arduino are based on wave forms that should would be available off the LS1 ECU outputs. But would also work from other cars.

    For my Electric BMW this is my Plan: RPM signal from a gear tooth sensor (already tested this and it works), MPG signal I'll use the number of amps signal output from my zilla (zilla sends a pulsed signal for display on a tach) and a temp sender.

  12. #12
    Join Date
    Mar 2006
    Location
    Memphis, TN
    Posts
    2,473
    My Cars
    95 M3, 01 330ci
    Thaniel,

    What would be your "wishlist" of items? I have a couple of wrecked e46s here at the yard.

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

    What would be your "wishlist" of items? I have a couple of wrecked e46s here at the yard.

    Currently on my list are.
    -The OBDII connector with a bit of wire. Edit:I finally found a car side connector from Asia and order it.
    -Factory radio that has cd controls. (with the connectors)

    Now that I think about it the steering wheel buttons and climate control module could be interesting to sort out the a/c and cruise signal. But probably not worth the bother at the moment.

    The OBDII connector is so I can connect a obdii reader and or bmw code module more easily to the Instrument cluster. Factory radios that has cd controls is for some k bus work I want to try. I've seen a mp3 player made for an e46 out of a propeller chip. I would like to make an easier to build and use version using an Arduino.

    Thaniel
    Last edited by Thaniel; 03-12-2013 at 01:54 PM.

  14. #14
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    236
    My Cars
    e36 M3
    Hi Thaniel, long time no talk. Gerry from Canada. Anyway, I have read the post 2-3 times and don't understand a frigging thing. All I get is that you figured out how to run a e46 cluster off an analogue system or something like that. Cool.

    Would a gps speedometer also help remove complexity, or is that too rude?

    I have an electronic boost gauge from Speedhut, and they are a very awesome service, you can order it any way you want. I noticed they have a whole instrument cluster for the cobra crowds, with a gps $peedo.
    hth.
    Cheers

  15. #15
    Join Date
    Jul 2011
    Location
    Houston
    Posts
    1,344
    My Cars
    LS e39, LT e53
    U don't need any of that GPS crap. If ur doing an e46 swap to use the cluster his solution is the solution. Don't reinvent the wheel especially if you don't understand a fregging thing
    Last edited by modular93fox; 03-13-2013 at 03:17 PM.
    2006 X5 L83 5.3 6l80 swapped in progress
    1999 528i 5.7L 4l60e swapped w/ 31 spline 8.8 cobra diff
    2007 ZX-10r - sold
    1987 R-10 SWB L83 5.3L 6L80e swapped

  16. #16
    Join Date
    Jun 2011
    Location
    Elizabethtown, PA
    Posts
    1,437
    My Cars
    99 540i6
    Bravo!!!! <slow clap>
    '99 BMW 540i6 L33 5.3, PRC Heads, E-force supercharged
    http://forums.bimmerforums.com/forum....php?t=1674320

  17. #17
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by gamman View Post
    I get is that you figured out how to run a e46 cluster off an analogue system or something like that. Cool.
    Yup that's pretty much the size of it. Trying to make the can bus not be so scary. It at least has removed my fear. It won't take all that much to have a digital to digital solution. Still working on that type of solution in my other thread.

    Like th e36 the speedo isn't driven by the ECU. So nothing needed there when doing a swap.

  18. #18
    Join Date
    Mar 2013
    Location
    NC
    Posts
    86
    My Cars
    Not yet :)
    are you guys removing the DME entirely? i thought it had to remain to have antilock and other systems work. if you must leave the DME, why not just use a converter to convert ls signals to bmw format, and hook into the harness pre-ecu. then let the ecu do its job and turn the signal into something canbus compliant. the ecu wont know that the signal is being generated by a box instead of an engine. doing it that way your working with just analog or digital pulses and you dont have to worry about can bus at all.

  19. #19
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by JCBiggs View Post
    are you guys removing the DME entirely?
    Yes that's the plan.

    Quote Originally Posted by JCBiggs View Post
    i thought it had to remain to have antilock and other systems work.
    THe DME and ABS module are seperate modules. Feedback I have from one person driving a E46 with no DME said the ABS still works. The DSC does recieve input from the DME for throttle position. Most conversions keeping the DME don't connect the BMW throttle position sensor to their new motor so it's the same both ways. (when I do a digital to digital solution using the LS1 class 2 bus or LSx can bus it can include TPS data on the can).

    Quote Originally Posted by JCBiggs View Post
    if you must leave the DME, why not just use a converter to convert ls signals to bmw format, and hook into the harness pre-ecu. then let the ecu do its job and turn the signal into something canbus compliant. the ecu wont know that the signal is being generated by a box instead of an engine. doing it that way your working with just analog or digital pulses and you dont have to worry about can bus at all.
    That does work and it has been done. A bit more discussion in this thread: http://forums.bimmerforums.com/forum...ls-over-canbus

    To get the check engine light to go out without hacking the IKE and get the MPG guage to work it is WAY more work to keep the DME than to implement a can bus solution. Can bus solution = put together the Arduino/canbus box, upload the program, and connect 5 wires to the LSx and the car. The hard part of reverse engineering the can bus is done already :-) Of course in car testing hasn't been done yet so there might be a few bugs still to work out but hey you get what you pay for :-)

    Thaniel

  20. #20
    Join Date
    Mar 2013
    Location
    NC
    Posts
    86
    My Cars
    Not yet :)
    nvm.. didnt read the whole post

  21. #21
    Join Date
    Apr 2013
    Location
    germany
    Posts
    1
    My Cars
    E46 coupe

    E36 2,8 engine and e46 instrument

    Hi Thaniel,

    now i have connected my e36 engine whith de body of e46.
    i have the arduino uno and can shield from seedstudio ...
    for rpm i take the TD signal conected to D2 ,and temp to A0. the original temp-sensor is connected whith gnd and the 2rd wire to instrument, now i have the gnd connect to 3,3v of the arduiono and the gauge show middle temp, but not the coorect yet.
    the rpm counter shows to many rpm between the engine is in idle speed. so i have connect the D2 to TI signal of the engine (injection signal).
    i have used the "listen and send version 009 rpm_temp"

    i have adjusted the sketch:

    //********************* sense RPM from pin 2 ***************
    //Called from interupt command
    void RPM_sense() //Capture RPM time from pin 2
    {
    timePULSE = micros(); //Captures current clock time
    timeRPM = timePULSE - timePULSE2; //Captures pulse width time
    timePULSE2 = timePULSE; //Save current clock time for next time
    //60sec/#pulses for 1 rev * 1million (for micro seconds)/ time for 1 pulse
    RPM = 80 / p_REV * 1000000 / timeRPM; //multiply for more than one pulse measured
    rMSB = RPM/20; // MSB of RPM value
    }


    so the prm counter shows nearly the correct rpm. but the pointer sometimes jumps from 900rpm to 4000 , when the engine runs at ca 900 rpm.
    what is the mistake in my connections ?


    thx zweytec

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

    Where in Germany are you? I'm in Wolfschlugen just south of Stuttgart until Friday morning. Mention it just incase by chance you are close by.

    in post one of this thread I insterted an updated program (V200). Download and change the .pdf to .zip then uncompress it. You will have to re calibrate it again like you did on the previous one. The same values might work. This program is more stable. Some of the jittery RPM could be due to the program. The new one has some improvements. See if that will work better.

    Also be careful to not exceed 5V on the RPM input. I've not looked at what E36 engines put out for a tach signal.

    Thaniel

  23. #23
    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




  24. #24
    Fair's Avatar
    Fair is offline Senior Member Supporting Vendor
    Join Date
    Oct 2003
    Location
    Dallas, Texas
    Posts
    3,634
    My Cars
    E36 M3, E36 LS1, E30 318
    Quote Originally Posted by kenndoggy View Post
    Paging Terry Fair....
    Whoa... that is brilliant work. Good stuff!
    Terry Fair @ Vorshlag Motorsports

  25. #25
    Join Date
    Jan 2014
    Location
    guadalajara
    Posts
    1
    My Cars
    2001 330 cc
    Hi thaniel i have a 2001 330 cc whit and ls1 swap i just finished and i will love to use my original cluster im not a electronic or computer geek so i may not know how to do it all but you think you can help me whit it im in Mexico and im using and original gm pcm out from a 2001 silverado and and ls1 engine drive by wire any help is aprecciate thanks

Page 1 of 2 12 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
  •