M2 VIN Extraction
Use M2 to read a Vehicle Identification Number (VIN) and write it to an SD card.

Items Used

  • 1x M2​
  • 1x Car with OBD-II Port

M2 Sketch

Upload THIS SKETCH to your M2, which queries the vehicle's Engine Control Unit (ECU) for the VIN and then writes it to a text file via the onboard SD slot.

Sketch Libraries

The sketch above makes use of multiple libraries, install them through the links below:
GitHub - TDoust/M2_12VIO: Macchina M2 12VIO Library for use with the Macchina M2 OBDII Hardware
GitHub - antodom/pwm_lib: This is a C++ library to abstract the use of the eight hardware PWM channels available on Arduino DUE's Atmel ATSAM3X8E microcontroller.
GitHub - collin80/iso-tp: ISO 15765-2 TP implementation for Arduino
GitHub - collin80/due_can: Object oriented canbus library for Arduino Due compatible boards
GitHub - collin80/can_common: Common structures and functionality for CAN libraries

Collect VIN

With the vehicle running, plug M2 into the OBD-II port. M2 should flash yellow lights as it queries for the VIN, then light up green for success or red for failure. In either case pressing button 1 will make M2 try again, writing a new text file each time.
Export as PDF
Copy link