BMW and Mercedes have one convenient feature that some people hate, other likes.An automatic moving side mirror, on the passenger side, that moves downward during backup, to see the curb. I decided that with some modification it would be a very useful feature in my car as well.
It was also very interesting from an engineering view point. Mirrors in the MX-5 do not have any intellect; they’re simply controlled by buttons.
I decided to make a controller, which will remember position of the mirror and allow manual adjustments any time. This is different from BMW or some aftermarket devices.
I can separately adjust the mirror position in all directions for drive mode and backup. These positions will be remembered for each shifter position separately.
I found it is very convenient during parallel parking close to the wall at my office. This wall has some protruding feature, which I have to watch out for. A little adjustment of the mirror is very helpful and it automatically returns to where it’s supposed to be when I start driving.
There are no extra buttons to press, everything is automatic.
MX-5 AT has no dedicated wire to signal reverse mode, but CAN bus. I used Microchip PIC18F2480 CAN controller to do all the work: receiving CAN info about shifter position, bypassing manual adjustments to the motors and remember position in the EEPROM.
As always, installation in this car is a big challenge. I don’t like to make permanent changes in my car. I think the best option to connect my controller is to use a special harness. I could not find compatible connectors, so I recreated a 3D design of connector housing. Using available pins from Digikey and a 3D printer, I built my own custom harness.
Connecting to CAN-HS bus was easy. I found a convenient location near the OBD connector and using a T-clamp, I connected the wires parallel to CAN-HS wires.
I have this setup for 5 weeks now and very happy how it works!
Here is smart-mirror-installation guide for the option without harness.
Updated 4/18/2017 Smart mirror installation guide
Updated installation guide for installing controller on passenger side, which is more easy.
Because there is no feedback on actual mirror position, controlling has to be done by time measurement only. This can produce some error in positioning , because the speed of moving up and down can be slightly different. I implemented in the software a correction algorithm for all 4 directions. To calibrate this algorithm, I used a laser pointer and a test cycle program to automatically move the mirror multiple times in 4 directions, and monitored laser reflection on the flour for accuracy of returning back to the same position after 10 cycles.
Currently, error is less than half an inch after 10 cycles.
Here is some feedback on Miata forum:
New version of this controller will be available as a feature of integrated device.