CAN Diagnostics Logger with Arduino CAN shield

Emulate Citroen's Lexia / Actia Diagnostics tool to query the CAN bus and log the results to SD card.

Similar projects worth following
Snooping the CAN Bus, Identifying Related Messages, Translating & Logging and/or displaying results.

Built for a C5 II with an AM6 6 speed auto box. Likely could be adapted to other car models particularly easily other Citroen's, Peugeot's or cars with the AM6 gearbox.

My focus use for the device initially is logging the electrovalve state, requested and measured, as well as gear selected, for later review, to hopefully narrow in on cause of shift slip/flare.

Arduino CAN script to work with CAN Hacker program:

CAN Hacker program:

A very useful csv charting program


a sample capture

comma-separated-values - 443.19 kB - 07/22/2016 at 03:01



just for general interest, though strangely they dont show the diagnostics plug "C001" actually having CAN connected to it, though it is primarily used by lexia diagnostics tool...

7-Zip - 298.55 kB - 07/16/2016 at 11:03


excellent tool for viewing, tracing, sending and working with the CAN bus

Zip Archive - 1.74 MB - 07/14/2016 at 22:35


the arduino script needed to make it work with the CAN Hacker program

Zip Archive - 22.44 kB - 07/14/2016 at 22:34


  • 1 × OBD2 16Pin to DB9 Serial Port Adapter Cable
  • 1 × Arduino CAN bus shield
  • 1 × Arduino
  • 1 × OBD Splitter Cable
  • 1 × Diagnostics tool, eg Lexia

  • sample capture

    hayden07/22/2016 at 03:02 0 comments
  • github code up

    hayden07/21/2016 at 08:06 1 comment

    first full working commit has been made to github

  • Prototype Build

    hayden07/19/2016 at 11:25 0 comments

    So here is my first build of the standalone device, Some LED and an LCD for status display and a sd card for logging to csv.

    The individual components:

  • Gearbox Pinout

    hayden07/19/2016 at 10:59 0 comments
  • Components

    hayden07/19/2016 at 10:57 0 comments

    Diagnostics tool used for citroen:

    Diagnostics "double adapter" so a can monitor the traffic between diagnostics tool and car ecu's::

    The Arduino CAN bus shield:

    Adapter for shield to diagnostics port:

    The Car im working on:

  • CSV Plotter / Graphing

    hayden07/19/2016 at 08:14 0 comments

    So i got some results, found this nice program to graph csv, this is results of B1, C1, C2, C3 against gear shift over time. now just have to get the gearbox to play up while logging.

  • Progress so far...

    hayden07/16/2016 at 11:11 0 comments

    Things are going great, im nearly done on the arduino script.

    Using CAN Hacker i was able to locate 3 key CAN message ID's of interest to me,

    1. one with general gearbox state that is transmitted all the time 0x489
    2. one that is used by the diagnostics tool to transmit, 0x6A9
    3. and one that is used by likely the BSI to reply to requests by the diag tool, 0x689

    I was then able to 'decode' how the readings where being sent back by looking at changes while triggering a change in the reading via a switch or gear shift.

    And put this all into an arduino sketch to emulate the process of requesting diagnostics readings, 'translating' them into readable data, and displaying/logging them for review.

View all 7 project logs

Enjoy this project?



Anton wrote 11/11/2016 at 15:59 point

Hey, nice to see that my arduino-canbus-monitor is useful :)

  Are you sure? yes | no

Michael Vowles wrote 07/19/2016 at 00:26 point

Love CAN sniffer projects keen to see where this one takes you. Looking at doing the same thing on my vehicular however it uses a proprietary protocol (MUT-II).

  Are you sure? yes | no

hayden wrote 07/19/2016 at 10:46 point
Thanks for the comment, i was very expecting to be in a similar situation as

 you, having a citroen and all and no luck with elm type devices, but i was pleasantly surprised to find it what i needed on a standard 500kbps CAN bus.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates