The AiM MXL datalogger is a great piece of equipment, but it does have a few shortfalls. One of the major issues is its inability to interpret the BMW stock oil temperature sensor over the CANbus. I’m no computer scientist, so let’s just say what it does; it reads a constant -54F. Obviously this is no help to me as the driver trying to determine whether my engine is healthy or not. Since there was no solution on the horizon from AiM, I decided to just go with an aftermarket sensor.
The best place to check for engine oil temps is the pan, and Turner Motorsports makes a very nice adapter to easily allow you to add a sensor. The mounting plate actually replaces the stock oil level sensor located in the bottom of the pan. This isn’t an issue for a race car, you should be checking your oil level the old fashioned way before every outing.
The adapter flange is threaded in M12x1.50mm, allowing you to simply thread in the BMW stock sensor. Unfortunately I need an aftermarket sensor to connect with the AiM MXL. AiM only offers the sensor in 1/8″NPT/10mm/5mm, so an adapter is needed. I used an Auto Meter 2277 adapter, which is a simple brass bung adapter with a copper crush washer.
Note: in the pictures below, the sensor shown is not correct. AiM accidentally sent a brake pressure sensor. I caught the mistake before installing in the car, and the correct fluid temp sensor was sent in exchange.
With the new sensor installed and plugged into the AiM MXL, all I needed to do was hookup the laptop to setup the new sensor. That’s it, now I had a proper oil temp reading… only one problem; the AiM PT100 temp sensor has no probe. Its length terminates at the ends of the threads, so it does not protrude into the oil sump. This problem is compounded by using the Auto Meter adapter. Essentially the sensor is located down in a hole, away from the normal flow of oil. Sure it’s better than no oil reading, but there has to be a better solution.
With no other sensor option from AiM, the only other possibility would be to create a custom sensor. AiM’s RaceStudio allows for the creation of custom sensor profiles, you just need the resistance readings at various temperatures. After a little searching on the internet I found a GM Delphi temperature sensor that came in M12x1.5mm thread and had a proper long probe.
See more about the sensor here at Ballenger Motorsports’ website.
Another hurdle to overcome is that the AiM analog inputs use voltage difference sensors rather than resistance based. So this GM temp sensor would require a pull up resistor soldered inline to achieve a mV reading. A stripped down AiM 719 (4 pin plastic) patch cable would provide the basis for the harness, and the GM plug on the other end was provided by the same store where the sensor was purchased.
The photo above shows how I soldered in a 1k ohm resistor, bridging from the Blue (Vref) wire to the White (Vout) wire. The Black wire is ground and the Red wire is 12V and not used.
The following photo shows everything wired up and covered in heat shrink. The GM sensor uses Weatherpack style crimped pins. I picked up a cheap set of crimpers from eBay for the job, which is very simple. You can see the difference between the GM (long probe) and AiM PT sensor in a side-by-side comparison.
Now with everything wired up, installed in the car, and plugged up, you have to build the custom sensor in RaceStudio. This requires a little math, as you will be converting the resistance based table provided with the sensor to a variable voltage table that the AiM MXL can use. To make life a little easier, I made an Excel spreadsheet, where all you have to do is plug in the temperature, corresponding resistance values, and the resistance of your pullup resistor. The reference voltage should be set to 5v for this application.
Since the GM sensor data was provided in Celsius, I also inserted a formula to convert to Fahrenheit. Essentially plug in the numbers in the green fields to get results in the white fields. From there you simply copy the Vout millivolt (mV) values and corresponding Fahrenheit temps to your custom sensor in RaceStudio.
Note: RaceStudio will only accept 20 values per sensor. Your beginning and ending values must contain your entire range of expected temperature readings. In other words there is no point in including values of -40F when your car will never see that. However if you start your values at say 77F and on a cold day your sump is 50F, you will get an error message on the MXL as it doesn’t know how to interpolate a reading off the chart. So pick the best 20 value range that covers all expected temperature readings.
Click the screenshot of the Excel spreadsheet to download a .zip file containing a copy that you can edit for your own custom temp sensor. The tables are already filled in for the GM Delphi sensor. I also included images of how to fill in the custom sensor fields, AiM 719 wiring colors, as well as wiring of a pull-up resistor.
Known Issues: Your custom sensor will display on you MXL (or any other AiM display logger) just like an AiM proprietary sensor would. I have my dash set to always display water and oil temps. Your logs will also capture this information correctly. Unfortunately the AiM SmartyCam does not handle custom sensors properly. The SmartyCam overlay will try to convert the Fahrenheit temperature into Fahrenheit, which of course leads to erroneous readings. AiM (both America and Italy) are aware of this problem, but a fix doesn’t appear to be coming very soon. The screen capture on the side shows my oil temp at 511F, which of course is incorrect. It’s a minor nuisance, as the temp is correct where it really counts (on the dash and in the logs.)
I’ve been told by AiM US that there is a new temp sensor in the works that has a proper probe. I will update if and when it becomes available.