CH341 USB TO I2C/SPI/EPP
Waveform Generator
AHT21, MAX6675 Thermometer
USB to I2C OLED
USB to LCD
USB Input Output
SD CARD
CH376 USB Picture Frame
SD FAT32 Player PIC12F1822
W25Q64 Flash Recorder
Picture Frame PIC16F690
Color OLED Picture Frame
SD FAT32 TFT Display
Doorbell with SD/EEPROM
SD Talking Clock
SD Sound Recorder
SD FAT32 wav Player
SD Arduino Recorder
Arduino Picture Frame
FREQUENCY COUNTER
AD9833 Waveform Generator
Chrome Browser Counter
Arduino LED MAX7219 Counter
LCD Accurate Counter
OLED Accurate Counter
MilliHertz Counter
PIC Counter For Android
MAX7219 LED Counter
WiFi Frequency Counter
Frequency Generator
OLED Counter PIC12F629
Talking Frequency Counter
TFT Counter PIC16F628A
SSD1306 Counter PIC16F628A
SSD1331 Counter PIC16F628A
Arduino Counter for PC
OLED Arduino Counter
OLED Frequency Counter
TFT 10MHz Counter
PC Counter
LED Counter
Scope Screen Counter
LCD 16 x 2 Counter
LCD Arduino Counter
6MHz Android Counter
NIXIE Android Counter
Bluetooth Counters
USB Counter
OBD2
OBD2 RPM meter PIC16F876A
OBD2 Engine Rev Counter
OBD2 Diagnostic app
OSCILLOSCOPE
Logic Analyzer
PIC12F1822 Scope for PC
Arduino Oscilloscope for PC
Arduino OLED Oscilloscope
Android Oscilloscope
TFT Oscilloscope
USB Oscilloscope
THERMOMETER
Thermocouple 1023 Deg
Thermometer For Browser
OLED Thermometer PIC12F629
OLED Room Thermostat
TFT Clock and Thermometer
LED Thermometer
USB Thermometer
Serial Thermometer
Serial Thermostat
USB DS18B20 Sensor
TIMER / CLOCK
Cuckoo Clock
Real Time Clock DS3231
LED TM1637 Timer
OLED Timer Thermometer
TFT Timer Thermometer
LED Timer
LCD Timer
Clock Thermometer
Talking Clock PIC16F628A
Android Talking Clock
WiFi
WiFi, Ethernet
WiFi Thermometer
WiFi ESP8266
USB
IO for Chrome Browser
USB 16x2 LCD
USB TFT display BMP
USB Meter
USB Input-Output
USB Input-Output Android
DATA ACQUISITION
Analogue to USB (CH341)
MCP3201 on Serial Port
PC Analog Input (USB-UART)
SERIAL PORT
Serial TFT Text
Serial Inputs Outputs
Serial Port LCD
Analogue Signal to Serial
OTHERS
HC-SR04 Sensor
OLED Amp Meter
PC digital I/O (no coding)
Analogue Signal to LPT
LCD Display on LPT
Water Softener
3.7V to 5V
Solar Charger
PIC Music
Code Lock
SMALL PROJECTS  
  Technical Tips  

OBD2 LIVE SENSOR SCANNER PIC16F876A

This project is suitable for cars with OBD2 CAN protocol ISO 15765 11 bits 500 Kb/s, most cars have this protocol. The application reads data of the ECU . The vertical version app all 12 common PIDs are displays on one screen in smaller text, the horisontal app displays 12 PIDs (parameters) in 3 pages. NEXT pushbutton cycles through the pages. Page 0 stops the scanning.
TFT screen is 160x128 pixels, 1.8 inch with ST7735 driver.
The MCP2515 module drives the CAN BUS. The circuit supply is from the car 12V , 5V regulator generates the 5V for the TFT and MCP2515. Setting up filters in the MCP2515 is for allowing only 7DF messages to be read by the PIC.
The code requests the data every second. The request is an address 7DF, number of bytes, service #, PID and padding 5 bytes of 0x55. The reply from the ECU is address 7E8, number of bytes, 0x41, PID and 2 bytes of data. The data i calculatedRPM = (byte1*256+byte2)/4.
The C code is migrated from Arduino lib, C++ was changed to C so it can be compiled by the free XC8.

690rpm ver

Circuit Description
See also Technical Tips

MCP2515 CAN driver https://www.ebay.co.uk
OBD2 plug https://www.ebay.co.uk

line

OBD2 RPM METER PIC16F876A / PIC16F690

This project is suitable for cars with OBD2 CAN protocol ISO 15765 11 bits 500 Kb/s, most cars have this protocol. The application reads data of the ECU . The MCP2515 module drives the CAN BUS. The circuit supply is from the car 12V , 5V regulator generates the 5V for the LCD and MCP2515. Setting up filters in the MCP2515 is for allowing only 7DF messages to be read by the PIC.
The code requests the data every second. The request is an address 7DF, number of bytes, service #, PID and padding 5 bytes of 0x55. The reply from the ECU is address 7E8, number of bytes, 0x41, PID and 2 bytes of data. The data i calculatedRPM = (byte1*256+byte2)/4.
The C code is migrated from Arduino lib, C++ was changed to C so it can be compiled by the free XC8.

690rpm 

Circuit Description
See also Technical Tips

MCP2515 CAN driver https://www.ebay.co.uk
LCD 16 x 2 module https://www.ebay.co.uk
OBD2 plug https://www.ebay.co.uk

line

PC APP FOR CAN OBD2

This project is suitable for cars with OBD2 protocol ISO 15765 11 bits 500 Kb/s, most cars have this protocol. The application reads data of the ECU using CAN. The MCP2515 module drives the CAN BUS. The circuit supply of 5V is from the USB, the Arduino is plugged to the PC USB. The app reads 17 most common PIDs. The app calculates the data from the ECU.
The PID button is for reading ECU results for MODE and PID numbers typed in the TextBox next to the button (ie 010D). Button SAVE saves text file of readings in the app folder.
For compiling the Arduino code you need to install a lib from GitHub. Lib for the Arduino can be downloaded from GitHub:  https://github.com/coryjfowler/MCP_CAN_lib
OBD2 plug https://www.ebay.co.uk

 sim

line

OBD2 LCD FOR CAN PROTOCOL

This project is suitable for cars with OBD2 protocol ISO 15765 11 bits 500 Kb/s, most cars have this protocol. The application reads data of the ECU using CAN. The MCP2515 module drives the CAN BUS. The circuit supply is from the car 12V , the Arduino generates the 5V for the LCD and MCP2515. The code reads 12 most common PIDs and calculates the data from the ECU. The code requests data when pressing button PID.
For compiling the code you need to install a lib from GitHub. Lib for the Arduino can be downloaded from GitHub:  https://github.com/coryjfowler/MCP_CAN_lib
More PIDs can be added to the Arduino code.
OBD2 plug https://www.ebay.co.uk

 sim

line

LCD OBD2 REV COUNTER

This project is suitable for cars with OBD2 protocol ISO 15765 11 bits 500 Kb/s, most cars have this protocol. The application reads data of the ECU using CAN. The MCP2515 module drives the CAN BUS. The circuit supply is from the car 12V , the Arduino generates the 5V for the LCD and MCP2515.
For compiling the code you need to install a lib from GitHub. The code requests the data twice every second. The request is an address 7DF, number of bytes, service #, PID and padding 5 bytes of 0x55. The reply from the ECU is address 7E8, number of bytes, 0x41, PID and 2 bytes of data. The data i calculatedRPM = (byte1*256+byte2)/4.
Lib for the Arduino can be downloaded from GitHub:  https://github.com/coryjfowler/MCP_CAN_lib
CAR SIMULATOR
OBD2 car simulator Using Arduino Nano and MCP2515 CAN driver. It simulate ISO 15765-4 CAN BUS 11 bit, 500 Kb/s. obd_sim.ino is for Bluetooth with ELM v2.1, obd_usb_sim.ino is for USB OBD plug with ELM v1.5.
Only most common PIDs are simulated. The simulator listen to messages from an Diagnostic tool and reply as an ECU. It can be used to test Diagnostic tool or to be used for development.
More PIDs can be added to the Arduino code. The code is a revised code from example in the GitHub MCP CAN LIB library that needs to be added to the Arduino IDE, https://github.com/coryjfowler/MCP_CAN_lib .
The ODB socket I used is: https://www.ebay.co.uk

 sim

Circuit Description
See also Technical Tips

MCP2515 CAN driver https://www.ebay.co.uk
LCD 16 x 2 module https://www.ebay.co.uk
OBD2 plug https://www.ebay.co.uk
The ODB socket for the simulator: https://www.ebay.co.uk

line

OBD2 applications in this page work with most ELM327 OBD Plugs including some imitation plugs from eBay, it's done by apps reading any text message and processing the data only.

OBD2 APPLICATIONS

Android app uses OBD2 to USB, it has ELM327 that connects to all OBDII protocols. The app reads common PIDs, DTC (faults) and VID. Code is in B4A (basic for android) https://www.b4x.com/

Windows application reads current data. The bluetooth obd2 plug has ELM327 that connects to all OBDII protocols. The computer's bluetooth pairs with the OBD-II plug and connects to the app via COM Port. On windows computer you can find the COM port number in 'device manager' and select the port in the app.

In here  https://en.wikipedia.org/wiki/OBD-II  you can find the parameter IDs of data request. A request is 2 hexadecimal numbers and the ELM response is several bytes that contain the data. Every car responds to different request, the app has only 12 popular requests, others can be added.

The bluetooth plug used: https://www.ebay.co.uk/

The USB diagnostic plug with ELM327 v1.5, connected to Android device via OTG adaptor.
https://www.ebay.co.uk/itm/195165625444

You are free to use the circuit diagram and the VB software with no limitations.

obd usb

line

ANDROID APP FOR BLUETOOTH / USB OBD2

The Android app was made using MIT App Inventor which is an easy way to make Android apps. Measure common parameters, DTC (faults) and VID (vehicle ID). The Android device, phone or tablet, have to be paired with the BT plug.
The app APK file, has to be transferred to the device and when opened it instructs how to be installed. .aia file is the app and can be modified in the MIT App Inventor https://appinventor.mit.edu/.
The Bluetooth plug I used, make sure it's ELM327 V2.1: https://www.ebay.
The USB diagnostic plug with ELM327 v1.5, connected to Android device via OTG adaptor.
https://www.ebay.co.uk/itm/195165625444

rev2

line

REV COUNTER ANDROID B4A

A rev counter connected to OBD2 diagnostic plug with ELM327. This RPM meter works with all OBD protocols. The Android program is written using B4A (basic for Android). The display is digital and traditional analogue. The app request data from the car ECU every 0.2 sec. The app APK file, has to be transferred to the device and when opened it instructs how to be installed. B4A code is included, if you want to edit the code free IDE can be found at    https://www.b4x.com/.

The Android device, phone or tablet, has to be paired with the Bluetooth plug.
The OBD2 Bluetooth diagnostic plug with ELM327 v2.1: https://www.ebay.

The USB diagnostic plug with ELM327 v1.5, connected to Android device via OTG adaptor.
https://www.ebay.co.uk/itm/195165625444

rev  usb obd

line

REV COUNTER ANDROID APP INVENTOR

A rev counter connected to OBD2 Bluetooth diagnostic plug with ELM327. This RPM meter works with all OBD protocols. The Android program is written using MIT App Inventor https://appinventor.mit.edu/. The Android device, phone or tablet, have to be paired with the BT plug. The display is digital and traditional analogue. The app request data from the car ECU every 0.5 sec. The app APK file, has to be transferred to the device and when opened it instructs how to be installed. .aia file is the app and can be modified in the MIT App Inventor.
The Bluetooth plug I used: https://www.ebay.co.uk/itm/Mini-ELM327
If you buy it locally, make sure it's ELM327 V2.1

rev2



Name:

Comments and questions

Copy the number from the picture It stops net-robots from adding comments.



03.02.2024 - 17:19
Name: Moty
Comment: Most Chinese ELM327 are clones and don't work with ddt4all.

03.02.2024 - 15:06
Name: Anon
Comment: Hello. I tried to contact the website www.b4x.com but there are no private messages there. I would like to know if there is any way to increase the buffer of an ELM327 USB. I'm trying to reprogram my Medianav multimedia using the ddt4all program on my notebook but the configuration parameters are overflowing the ELM327 buffer. Before buying another scanner, I'm looking to see if there is a way to increase its buffer.

03.02.2024 - 15:06
Name: Anon
Comment: Hello. I tried to contact the website www.b4x.com but there are no private messages there. I would like to know if there is any way to increase the buffer of an ELM327 USB. I'm trying to reprogram my Medianav multimedia using the ddt4all program on my notebook but the configuration parameters are overflowing the ELM327 buffer. Before buying another scanner, I'm looking to see if there is a way to increase its buffer.

03.02.2024 - 15:06
Name: Anon
Comment: Hello. I tried to contact the website www.b4x.com but there are no private messages there. I would like to know if there is any way to increase the buffer of an ELM327 USB. I'm trying to reprogram my Medianav multimedia using the ddt4all program on my notebook but the configuration parameters are overflowing the ELM327 buffer. Before buying another scanner, I'm looking to see if there is a way to increase its buffer.

22.05.2022 - 12:25
Name: Lutfy
Comment: Thanks

21.05.2022 - 14:47
Name: Aziz
Comment: Very useful

iconFlag Countermoty22.co.uk  2008-2024