I have been looking at the S&S Protune 2 manual recently, always handy to have a bit more understanding about how things work. I knew it mentioned about fault code diagnostics being accessible via the "Check Engine Lamp" and/or the speedometer and decided to give it a go. Well to save anyone the time, it doesn't work on the M3W. It looks like we still have to wire up the laptop to access and clear any fault codes.

Just for info, I was getting a P0122, "Throttle position sensor low/short circuit" every few hundred miles on my 40,000 mile 2013 M3W. I tried a bit of contact cleaner and compressed air around it and the voltage at idle was a reasonable 0.38v and seemed stable but it was a very intermittent fault, so not easy to reproduce with the laptop connected. In the end I ordered a replacement TPS from AliExpress for a reasonable £15 or so, including postage from China (thanks for the info Bunny) . It arrived about 10 days later and looks identical to the Magneti Marelli original PF4C/00 item, right down to all the identification markings, almost like that may be where Magneti Marrelli get them from ..... and then add another zero to the price. Since fitting the new TPS I have done a little over 2,000 miles with no EML light. You need a T17 Torx to remove the original "anti tamper" screws, suggest refitting the TPS with M4 x12mm Allen screws and setting the idle voltage at 0.4v then reset the adaptive maps. The idle throttle position should show about 10% and 100% at full throttle with that voltage, it may need a tweak to get the range.