Arduino OBD Scanner

OBD scanner based on Arduino  Arduino-based OBD scanner  Arduino-based OBD scanner The master who made this scanner is the owner of a Toyota Prius. This is a hybrid car and its dashboard lacks some familiar instruments, such as a tachometer or coolant temperature gauge. It is also interesting to know about the current fuel consumption or to calculate the average value.
All these values ​​are calculated by the car engine computer, and a scanner is simply required to read the data.
There are various commercial solutions such as Scan Gauge. You can also use ELM327 scanners working via Bluetooth. Popular models are Carista, BlueDriver or a conventional Innova/Bosch diagnostic scanner.
The wizard decided to make a scanner himself and install it in his car on a permanent basis.
Tools and materials: -Arduino board; -Fuse with a cartridge; -OBD II connector; -MCP2515 CAN bus module board; -OLED-display; -Down converter; -4-wire cable for display;
-Soldering equipment;
-A tool for stripping wires;
Step one: about the CAN bus
Working with the CAN bus requires caution, if you do wrong you can disable the vehicle. If you do not understand what you are doing, it is better to purchase a ready-made scanner.
CAN-bus is a digital communication and control system for electrical devices in a car, which allows you to collect data from all devices, exchange information between them, control them.
CAN bus is a differential communication protocol. This means that it only needs two wires. This is usually twisted pair. We will be accessing the device through the OBD port. If you choose to repeat DIY , you don't need to understand how this protocol works at a fundamental level, but you should understand it enough to be able to write or modify code Arduino .
Almost every car today has an OBD II port. They all have the same electrical connector under the dashboard. However, there are completely different communication protocols depending on the vehicle manufacturer. Any car sold in the US after 2008 uses the CAN ISO 15765 bus and is the one the car builder will use.
 Arduino-based OBD scanner Arduino-based OBD scanner  Arduino-based OBD scanner Arduino-based OBD scanner Step two: connection diagram
The device will be powered from the fuse box. Specifically, it takes power from the wiper circuit. You can use any chain, the main thing is that it turns off when you remove the key from the ignition lock. Otherwise, the device may drain the vehicle's battery.
12 volts can also be supplied to the OBD port. But here you need to be sure that the wire is the power supply, not the signal circuit.
OBD-scanner on Arduino base Step three: connecting the OBD port to the CAN board
Connects CAN according to the pinout Low and CAN High of OBD connector to CAN board. Connects the ground.
OBD scanner based on Arduino  Arduino-based OBD scanner Step four: fuse and buck converter
Initially, the master connected the Arduino to the vehicle's 12 V on-board network without a step-down converter. Unfortunately, the device did not work for a long time and burned out. Then he installed a buck converter.
Connects the Vin-buck converter to OBD ground. Connects Vin + buck converter to vehicle 12V (through fuse).
Now you need to adjust the output voltage. The master connects the load to the output of the converter and sets the required range.
Arduino-based OBD scanner  OBD scanner based on Arduino OBD scanner based on Arduino  Arduino-based OBD scanner Step 5: Arduino
Next you need to mount everything.
The master uses a Teensy 4.0 board. If a different board is used, the pinout may differ. Connects directly contacts to the CAN module board:
MOSI (slave in)
MISO (slave out)
SS (chip select/slave select)
CLK (clock)
You may need a pull-up resistor for interface i2c.
Display: connect directly (provided that the same OLED display is used as the master) –
SDA (serial data)
SCL (serial clock)
Connect Vcc and GND to power the display. The master installed these four wires in one connector. The display will be installed on the front panel of the car and can be removed if necessary.
Arduino-based OBD scanner < a href = "" rel = "prettyPhoto">Arduino-based OBD scanner Arduino-based OBD scanner OBD-scanner based on Arduino Step five : code
The code was the hardest part. The master wrote it himself and it took a long time. You can download it here on GitHub. The master has thoroughly commented on the code and it won't be very difficult to figure it out.
OBD scanner on Arduino base Arduino-based OBD scanner  Arduino-based OBD scanner Step six: building
The master developed the case in a graphics program, and then printed it on a 3D printer. He does not upload files for printing, since he made several versions of the body. He advises to independently develop a design, taking into account the characteristics of his car.
Arduino-based OBD scanner Arduino-based OBD scanner  OBD scanner based on Arduino Arduino-based OBD scanner Arduino-based OBD scanner Arduino-based OBD scanner Step seven : device installation
Next, the wizard lays the wires under the car dashboard, installs the display. Secures the device next to the fuse box and connects the connector.
Arduino-based OBD scanner  Arduino-based OBD scanner  Arduino OBD scanner


Show More

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Please disable your ad blocker

We know you are here for the stories. Not the ads. But we need the ads to keep the lights on. So please whitelist