

The ISO 9141 Click, manufactured by Meep, is a compact add-on board designed for seamless communication with automotive diagnostic systems using the ISO 9141 protocol. This protocol is widely used in On-Board Diagnostics (OBD) systems, enabling the retrieval of vehicle data for monitoring and troubleshooting purposes. The board simplifies interfacing with microcontrollers, making it an ideal choice for automotive diagnostics, data logging, and vehicle performance analysis.








The ISO 9141 Click uses a standard mikroBUS™ socket for easy integration. Below is the pinout:
| Pin | Label | Description |
|---|---|---|
| 1 | AN | Not connected (reserved for future use) |
| 2 | RST | Reset pin |
| 3 | CS | Not connected (reserved for future use) |
| 4 | SCK | Not connected (reserved for future use) |
| 5 | MISO | Not connected (reserved for future use) |
| 6 | MOSI | Not connected (reserved for future use) |
| 7 | PWM | Not connected (reserved for future use) |
| 8 | INT | Interrupt pin (optional use) |
| 9 | RX | UART Receive (connect to MCU TX) |
| 10 | TX | UART Transmit (connect to MCU RX) |
| 11 | SCL | Not connected (reserved for future use) |
| 12 | SDA | Not connected (reserved for future use) |
| 13 | 3.3V | Power supply (3.3V) |
| 14 | 5V | Power supply (5V) |
| 15 | GND | Ground |
Below is an example of how to use the ISO 9141 Click with an Arduino UNO to read vehicle data:
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
#define RX_PIN 10 // Connect to ISO 9141 Click TX pin
#define TX_PIN 11 // Connect to ISO 9141 Click RX pin
// Initialize SoftwareSerial for communication with the Click board
SoftwareSerial iso9141Serial(RX_PIN, TX_PIN);
void setup() {
// Start the hardware serial for debugging
Serial.begin(9600);
while (!Serial);
// Start the SoftwareSerial for ISO 9141 communication
iso9141Serial.begin(10400); // Baud rate for ISO 9141 protocol
Serial.println("ISO 9141 Click Initialized");
}
void loop() {
// Send a sample diagnostic command (e.g., request engine RPM)
iso9141Serial.write("01 0C\r"); // Example OBD-II PID command for RPM
delay(100); // Wait for a response
// Check if data is available from the Click board
if (iso9141Serial.available()) {
Serial.println("Response from ISO 9141 Click:");
while (iso9141Serial.available()) {
char c = iso9141Serial.read();
Serial.print(c); // Print the response to the Serial Monitor
}
Serial.println();
}
delay(1000); // Wait before sending the next command
}
01 0C\r) with the appropriate OBD-II PID command for your application.No Response from the Click Board:
Corrupted Data or Communication Errors:
Board Overheating:
Q: Can the ISO 9141 Click be used with other microcontrollers besides Arduino?
A: Yes, the Click board can be used with any microcontroller that supports UART communication, such as Raspberry Pi, STM32, or ESP32.
Q: What vehicles are compatible with the ISO 9141 Click?
A: The ISO 9141 protocol is commonly used in OBD-II systems for vehicles manufactured before 2008. Verify your vehicle's OBD-II protocol before use.
Q: How do I change the baud rate?
A: The baud rate is fixed at 10.4 kbps for ISO 9141 communication. Ensure your microcontroller is configured to match this rate.
Q: Can I use this board for real-time data logging?
A: Yes, the board supports real-time data retrieval, making it suitable for data logging applications. Ensure your microcontroller has sufficient processing power and storage for logging.