Custom Oil Temp Sensor for AiM MXL

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.

TMS Oil Temp Sensor Flange Sensor Adapter and TMS Flange

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.

AiM PT100 with Metric AdapterThe photo at the right shows the problem with using the AiM PT100 and adapter.

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.

Pull Up Resistor

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.

GM vs AiM fluid temp sensor

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.

Custom Sensor Spread Sheet

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.

SmartyCam Custom Sensor ErrorKnown 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.

Update 8/24/20: AiM did come out with a new liquid temperature sensor, with an elongated probe.  It can be found here:
https://www.moreheadspeedworks.com/product/aim-tr-oilwater-temp-sensor/

And even a better solution for M52TU and M54 engines, is MSW’s flange kit, which is already threaded for 1/8th NPT sensors, which saves the hassle of having to use adapters:

https://www.moreheadspeedworks.com/product/msw-bmw-oil-temp-sensor-flange-m5x-s54-e36-e46-z3-z4/

Correct Oil Temp on MXL

Spec E46 Build Part XI: Data Acquisition

Up until this true race car build I have been using my Android smart phone as my source for data acquisition.  The Race Chrono app, paired with an external Bluetooth GPS, has been a great tool, especially for the price.  However, with a dedicated race car, I wanted a dedicated system.

I had picked up a lightly used AiM MXL Pista dash logger from eBay back when I was gathering parts for the E36 GTS build.  At the time I was debating between the AiM and Racepack loggers, ultimately settling on the AiM due to their widespread use at the club racing level of competition.  Having a highly adopted system means it’s easier to get data from other drivers for comparison as well as troubleshooting the system.

The MXL is the previous generation of dash loggers, so the prices were reasonable with the new MXL2/MXS/MXG now on the market.  It still does nearly everything I could ask of it.  It provides a LCD display of all the critical information I choose (temps, pressures, speed, revs, shift lights) and alarms for when user set thresholds are exceeded.  It also provides lapping info, including forecasted (or predicted) lap times.

Spec E46 AiM MXL Installed
The other nice thing about the MXL paired with a modern CANbus car is that it can pull almost any available information that the car is already reading.  So RPM, fuel level, temps, steering angle, TPS, etc are already ready to record.  Additional analog inputs allowed me to add standalone sensors for brake pressure, oil temperature, oil pressure, fuel pressure, and differential temperature.

AiM Oil and Fuel Pressure AiM Brake Pressure Sensor

The MXL essentially replaces the stock dash in the Spec E46, so I mounted in directly to the steering column, just behind the steering wheel.  I used some scrap carbon fiber sheet to fabricate a simple mount that is secured using the two screws that hold the wiper and lighting stalks.  The wiring harness run from the back of the MXL to behind the dash where it splits to the analog sensors, power/ground, and the CANbus.  I added a 4-port CAN expansion so that the GPS, Smarty Cam, and a Memory Key could be added.

SpecE46_IMAG2848 SpecE46_IMAG2842

The other aspect of data acquisition is getting video of your laps.  I’ve been using GoPros for this, but it’s a constant hassle.  The batteries don’t last long, their WiFi remote is very temperamental, and you don’t have any ability for automatic start and stop.  While the video is high quality in resolution and color terms, it’s not very good for the race environment.  The rolling shutter sensor means you get a wavy jello effect of objects in the distance (clouds are the most obvious.)  The other, perhaps most frustrating, negative of using the GoPro is that to truly use the video for driver improvement means hours of post production editing to actually produce a helpful video.

The solution to this is the AiM SmartyCam HD, a truly purpose built motorsports camera.  The price is certainly way above the GoPro, but time and frustrations saved has made it worth it.  The camera interfaces with the AiM MXL dash for both additional data (including GPS) but also means its internal battery is charged by the car and it starts and stops automatically.  It’s pretty much a set it and forget it driver tool.  The raw video is 720p, so not as high def as the GoPros, but the CMOS sensor eliminates the wavy effect and it has light metering functions and stabilization tailored to use in a car.  The end result is actually better video than you can get from any GoPro (for the purpose of in car video.)

The other nice thing about the SmartyCam is that it overlays data on the video in real time.  Speed, lap times, revs, brake pressure, throttle position, temps and pressures are all automatically displayed on the video.  The gauges and graphics are fairly canned when compared to what is possible with RaceRender or Dashware, but it is also much easier to use and saves hours of time.  Because everything is automated means you can simply pull the SD card at the end of a session and have instant feedback from viewing on a laptop.

Another form of data acquisition is the on-board transponder that is required by most racing organizers for timing and scoring.  MyLaps (formerly AMB) has a solid monopoly on this market, so that’s what I ended up purchasing.  It’s a fairly simple system and install.  The physical transponder device is mounted near the front of the car and must be less than 2 feet above the road surface.  I made a simple aluminum mount out of some scrap sheet, which was then riveted to the right frame horn.  Four small rivet nuts then allowed me to bolt the transponder to this mount.  The cable from the transponder runs up through an existing hole in the passenger footwell to the center stack of the dash.  That’s where the “key” resides and power and ground functions are split off.  I integrated the power into the switch panel so the transponder could be switched on and off.

Transponder and Key MyLaps Transponder InstalledMyLaps Transponder Installed

New Blog Feature

Still playing around with it at the moment, but to the right you can see a “Latest Video” thumbnail, which will open the last video posted to my YouTube channel.  If you click the “More Videos” link, it’ll take you to my channel listings here on the blog, with a built in player.  Still working out a few little issues, but appears to be functioning.  Please post up in the comments section if you have any problems using it.

GoPro External Microphone (Sony ECM DS70P) Test

My last post covered some of the initial issues with setting up a GoPro external microphone to capture track/driving video, which eventually led me to purchase a Sony ECM DS70P external microphone for use with my GoPro Hero 3 Black.  I’m just now getting around to testing the microphone out, and unfortunately it wasn’t at the track.  Just on a whim I decided to drive down to Texas Hill Country to check out some of the twisties.  Unfortunately the weather did not cooperate, with rain and lightening arriving to the area at about the time I rolled in.  So rather than push it on the really curvy sections, I stuck to some more sedate roads.  The car was slipping a bit, so good thing I wasn’t on a more challenging road.

I didn’t have time to really setup the camera properly with the coming rain, and I was just doing this on the side of the road.  There may be a little bit too much noise from the water spray (the dead cat was wet when I finally stopped) but I think you get the idea.  Overall, seems as though the Sony mic did a tad bit better on sound and wasn’t broken at the end of the test like the Chinese copy.

Sony ECM DS70PSony vs Polar Pro

The video contains a few short acceleration runs, as well as downshifts and upshifts.  The clip at the end shows how bad the rain eventually became.

httpvh://www.youtube.com/watch?v=96jRax6CeIU

I hope to be at the track this weekend, where I’ll be driving (fingers crossed) the Spyder.  This should give an excellent comparison to the M Coupe (Supercharged I4 vs NA I6.)

GoPro Camera Setup

Now that I’ve got more and more into heading to the track, I had to make one of the (many) mandatory additions to my tool kit: an action camera.  I own a very old bullet camera setup that I used to use to record flight video, putting together some motivational “hooah” videos for the unit.  It worked fairly well, keeping in mind this was well before GoPro existed.  On the downside, it was standard definition and required an external recorder, which meant toting around a pair of old Canon video cameras I picked up off of eBay.  Fast forward to today, and everybody at the track has a GoPro (or Racecam or Contour or SmartyCam.)  They make for a good tool to see where you need to improve, how mistakes unfolded, and just plain bragging rights (usually for the folks captured passing me.)

I did a bit of researching and settled on the GoPro Hero 3 Black.  It was (and still is at the time of this post) the top of the line action camera.  Highest resolution, fastest frame rates, WIFI, yada yada, so on and so forth.  Sony also recently released a very tempting camera, and Contour (or whatever they are calling themselves now) was also keeping their products competitive.  I went with the GoPro not only based on the positive reviews of its video quality, but more so because it is by far and away the most popular camera.  I reckoned this would mean more support from fellow users, easier time getting assistance out in the field, and more accessories.  I was right and all that turned out to be very true.

Unfortunately, the first Hero 3 I received failed to update its firmware.  I got a continuous over-temp warning, then the camera would automatically shut down.  I went through the GoPro customer support, who tried to walk me through several work-arounds, all of which failed, including beta versions of the firmware.  Fortunately the seller I purchased from offered to take it back and send me out another one.  Thankfully this version powered up correctly and took the update like it should.  So I finally got the opportunity to test it out.

Below is my first video using the GoPro.  The camera was mounted using my old Panavise mount to the glass roof, the open-back door and that’s it.

httpvh://www.youtube.com/watch?v=v32RVRCdXl8

As you can see, the wind noise and rattling is pretty bad.  Additionally I didn’t have the correct settings for widescreen, or I might have messed it up during processing.  I knew I had to do something about the wind noise.  So you would think placing the camera inside would cure this issue… nope.  In fact it introduces a whole other issue: rattling/popping/crackling!  I thought maybe my second Hero3 was also dysfunctional, but a quick Google search revealed that it was a very common issue, especially when using the on-board microphone in an automotive environment.  Listen below to see what I’m talking about:

httpvh://www.youtube.com/watch?v=neXLSF5dJzQ

The common solutions appears to be just circumventing the on-board microphone and going to an external.  I searched around for what others were using, and I ran across the Polar Pro Filters microphone (more on that later).  It was reasonably priced, or so I thought, so I gave it a try.  I picked up the GoPro USB-to-3.5mm Stereo adapter (necessary with the Hero3) and male to female extension cord from Walmart.  You can’t simply plug the microphone adapter into the camera, since the water-proof case has no provision for access.  I could purchase another $50 Skeleton Case, which has multiple access points, or just simply Dremel out the access I required.  I opted to use the case I already had, I don’t intend to do any water sports recording, at least not anytime soon.  Simple enough job to do, and provides for a tight fit.

Below you can see the hole I cut to allow the microphone adapter to plug into the mini-USB port.  On the back of the case (the door) I added a zip-tie anchor, adhered using 3M trim-tape.  This allows me to secure the mic adapter without it flopping around.

Hole cut in side of caseZip-tie attachment

I used another zip-tie anchor on the license plate of my M Coupe to attach the microphone to.  The stereo extension cord was plenty long enough to stretch between the camera and rear hatch area.  I few tactically placed zip-ties and painters tape kept everything secured.  You can see the setup in the four photos below.

wpid-IMG_20130713_083450_170.jpgwpid-IMG_20130713_083434_755.jpg

wpid-IMG_20130713_083551_073.jpgwpid-IMG_20130713_083543_653.jpg

The audio quality was immensely improved over the internal GoPro microphone.  Wind noise was drastically cut, as was the crackling and popping.  The downside: I was picking up a lot of subsonic noise from the exhaust.  The quad Supersprint exhaust and headers make for a very deep throb, which overwhelms the microphone.  Playback on a phone or laptop and you probably wouldn’t notice this.  But play back on a real stereo and be prepared for blown subwoofers.  The video below is with the Polar Pro microphone setup as shown above (WARNING: Check your volume first.)

httpvh://www.youtube.com/watch?v=47KyxPo2Nwc

I started looking for ways around this, such as higher end microphones.  This led me to the Sony  ECM DS70P (they can be had for $45 on Amazon) which in turn led me to numerous posts about cheap Chinese knock-offs of this microphone, and in turn Polar Pro’s use of these knock-offs.  I examined my Polar Pro microphone closer, discovering it had already cracked after one use.  I cut away the wind-blocker to see what I had, sure enough it was a Chinese copy.  They look very similar, but the quality is not there.  These copies can be found for under $10 online, yet Polar Pro is charging $40 (or $20 without the wind-blocker.)  The photos below show a comparison of the Sony (left) and the Polar Pro Chinese copy (right.)  Notice they removed the word “Sony” yet it is cast into the plastic in the back.

 Sony vs Polar ProSony vs Polar Pro 2

I simply placed the wind-blocker from the Polar Pro onto the new Sony microphone, securing it with hot-glue just like it was before.  I haven’t had an opportunity to test the new Sony microphone, but I’ll be sure to update this post with my impressions.

Of course you also need a place to put all this fancy equipment, so I naturally started looking for a Pelican case.  Nearly every tool or test set I work with comes with a customized Pelican case, and while expensive, they are worth it.  I found an eBay seller who offers cases customized with cutouts for single cams, two cams, two layers, etc.  Prices were competitive, and he offers several different colors.  I’m able to fit two cameras (one for now), two suction mounts, batteries, chargers, remotes, microphones, cables, even my Qstarz BT-Q818XT Bluetooth GPS.

GoPro PartsGoPro in Pelican Case

I still have quite a bit of tinkering left to really dial in the “right” setup, to include settings on the camera and post-capture video processing.  I’ll be sure to add new posts once I get a chance to try out the microphone or any other updates I make.