LS PCM to E46 Can Bus

Been over a year since my last post. I have the LS2 installed in my E46 and the basics are in and running. The current issue is that the cluster rpm/speedo/temp gauge are all disabled since the stock BMW DME is installed but not hooked up to an engine. I decided to leave the DME in to maintain as much functionality as possible. The speedometer is normally read by the left rear wheel speed sensor but I did an M3 E46 rear swap and the sensor is different.

Looking around the internet lead me to the Thaniel module (facebook page is “can bus module”). After talking with them, the module won’t fit my needs. It uses an ELM327 to connect to the LS PCM and I need that for my carduino for data logging. Also, my factory DME is still giving the cluster signals so they will be fighting each other.

Of course this lead me to creating my own ardunio can bus module. I’m using an arduino uno and the sparkfun can bus board. Like every other can bus arduino module, it uses an MCP2515 on SPI. The sparkfun library didn’t work with any of my tests so I eventually found this sample code that has a generic MCP2515 “library”.

The LS1 PCM has a 5v output for RPM signal that I’m planning to feed into the arduino, then to the cluster can bus. The stock DME should be sending conflicting data so I’m hoping the cluster just tweens between the two values. So 3,000 rpms might show up as 1,500 rpms on the cluster. Otherwise, I have to sever the can bus from the DME to the cluster and troubleshoot what is lost from not having that connection.

Otherwise, the speedometer can be done via GPS. Theoretically, the coolant temp can be done through a 5v sensor or fed from my carduino. Regardless, I plan to run an aftermarket gauge to get a number. The stock coolant gauge is pretty vague.

This entry was posted in Technology. Bookmark the permalink.

2 Responses to LS PCM to E46 Can Bus

  1. Ryan says:

    Hello, just curious as to how this is working out for you?

    I have a stock e46 with an m3 cluster swap but can’t run wheel speed sensors because the ports are blocked by my dual calipers setup.

    Did you also run the gps speedometer through arduino or were you able to feed the speedometer directly off the gps unit?

    Thanks for any help, think ur solutions way better then running digital dash or a bunch of aftermarket gauges.

    • Yoshi says:

      Well I blew the motor so this is on hold. The main issue is that the arduino boots up too slow to do the hand shake with the rest of the car. The other solution uses a quick boot loader but still doesn’t always shake hands quick enough.

      Still havent done the GPS unit yet sadly.

Leave a Reply to Ryan Cancel reply

Your email address will not be published. Required fields are marked *