You are on page 1of 16

First, you need to purchase a few elements that will allow us to create an interface

with which it will be possible to perform BSI coding in the PSA group, but it will
also be possible to perform some additional operations, such as reading the PIN
code from the engine controllers in the absence of car keys, but also PIN reading
after OBD when we have at least one working key.
Using ARDUINO, you can create two versions of the kit
Z CAN BUS SPI MCP2515 = 8MHz
An additional connection diagram is required here

So that it can fit in a single housing dedicated to arduino as in my example


The CAN module needs to be modified:
Remove the wire clamp connector (blue)
Remove jumper pins
Remove the yellow pin separator
Remove the power and crossover pins - We leave only the PIN ( SCK , SO ) - and
enter them in the ARDUINO equivalents.
Thanks to this, we obtain a stable hold of the board - and the other connections are
made with cables.

Of course - this is only a tested proposal - it can be done individually - as you like.
Or
With CAN BUS SPI MCP2515=16MHz
There are several models (with various additional functions - the main point is that
the expansion takes place on the basis of creating the so-called sandwich)

The assembly does not require additional description as the elements are simply
put on each other.
After assembly
STARTING
To start the Arduino, we need to upload the Arduino program to the computer and
install the drivers.
It may happen that there will be problems with the driver
Then go to the directory where Arduino is installed
Open the Drivers directory
And run the appropriate driver. Sometimes a framework update may be required.
After installing the drivers, open the Arduino program and check if we have the
Arduino selection on the appropriate COM port - select this port.
Here is the correction of the description - because I had questions from complete
Arduino laymen - what program?
Programs for Arduino have the .ino extension
After installing the software from the indicated website - projects with this
extension will start to be recognized in Windows. If we use Arduino.IDE to
compile - the program from the link
The dunks will get one of these icons

so that when you double-click them, they will open automatically


I currently use Visual Studio Code (it's more pleasant to write code - it has a better
graphical and help interface) - but for uploading the batch, the original program I
indicated earlier will be ideal.
You download the batches from links from me - they have the already indicated
.ino extension

Note to the picture is that the Arduino.IDE icon is missing - because I use a
different editing program.
In the Arduino program, the .ino file must be in the directory with the same name,
and preferably extract the downloaded packed files and do not change the directory
names.
If you remove the .ino file from the directory after starting it, you will receive a
prompt about the need to place the file in the directory with the same name - after
confirming, the program will perform these operations automatically.
Then we connect the Arduino to the USB and indicate the COM port in the
program - someone will ask why?
After all, the program detects Arduino - yes, but if someone works with several
boards, he must indicate which one to send the batch to.
Then we upload the libraries to support the CAN board - Select the sketch tab and
depending on the files we have (most often it is zip) we upload the libraries.
If you use files from my links, they contain appropriate libraries in directories to
choose from
After attaching the libraries, we verify the content
If everything goes OK, we upload the program to the arduino
And here's a note to Libraries
After attaching them, they are visible on this drop down
In the next corrections, if I make them - for the Arduino batch when uploading
them - there is no need to attach the libraries, as long as they have already been
attached and are visible in this bar.
However, if you do this, the program will inform you that they are already attached
In the files from me there are two Arduino batches depending on the CAN board
used
8MHz or 16MHz
Compatible software must be uploaded for CAN to work properly.
After properly starting the Arduino, you can enjoy the operation of all the
programs that I currently offer and which may appear in the future.
The program is evolving and the screenshots below may differ from the currently
offered set
I must also add a few words about the OBD connector
In the cheaper set, if you followed my path, the CAN wires should be soldered in
place of the blue CAN terminal as described.
As for the OBD connector itself, diagnostics in the PSA group takes place on pins
3 and 8.
The exception will be the situation when we want to use my software to eavesdrop
on the CAN engine controller in order to read the PIN when we have at least one
key from the car - then CAN should be brought to pins 6 and 14

If we want to use one plug for both connections, it would be worth thinking about a
switch in the OBD plug to switch the CAN line - but this is a matter of individual
approach.

As for the CAN Arduino board with the DB9 pin - the pinout is as follows
MULTIPLEXER (MUX)
It is possible to expand the interface with an additional system that will switch pins
6.14 to 3.8
This possibility is already implemented in the program.
ARDUINO pins 5 and 6 were used
The control is transferred from the PSA TOOL program after selecting the
appropriate function
A high or low state appears on the pins.
With the PIN option from the car, a high signal appears on pins 5 and 6 of the
arduino with 1 key
Which allows you to control the board with relays
such as:
DC+ and DC- connectors are powered from Arduino 5V
IN1 - Arduino pin 5
IN2 - Arduino pin 6

CAN switching
Connect CAN L and CAN H to the middle pins of the leads
And depending on the state, we can output it to different OBD PINs
Example connection with used elements:
Of course, for easier drawing, the OBD pins look like this and not otherwise
But the matter is arbitrary
If only CAN L hit CAN L and CAN H hit CAN H

In such a system, it will not be necessary to use a switch in the OBD plug
This is a more expensive solution and requires a larger housing.
Maybe not very professional - because there is no suitable housing - but after
removing unnecessary things from the CAN board
Everything fit loosely in this housing: KM-40 130x80x35mm ABS
Removed for this case and CAN shield 2.0 16MHz:
DB9 connector
Connectors and contact pins
Terminal connector (CAN)
The nose of the switch has been cut off
With a small CAN 8MHz board - these operations will not be necessary.
Mounted on an additional plate because the holes do not match as you would like.
Unfortunately, we couldn't get a black fi7 choke, so a white one.
On the other hand, 100% functionality - full content protection - because Arduino
housings cannot boast of such durability - and automatic operation on OBD pins

In some applications or when working with some controllers, it is required to


restart the power supply in the current version, such a possibility is provided using
ARDUINO
The output for the restart relay has been prepared as in the diagram below
Currently, the program is organized in such a way that the high state is given only
when it is called from the program - normally the relay is in the idle state.
Further expansion can be expanded to such a system:
You can immediately use a multi-channel relay system, e.g. 3 channels instead of 2
+1 as below

OPTIONAL-RESET RELAY USE FOR PROGRAM FUNCTIONS


Usability has been included since firmware version 220810_MPx

You might also like