Skip to content

AI-402

Graduation project: LLM-assisted predictive maintenance (EdrakX)

A smart diagnostic device that reads engine data over OBD2 and industrial sensors, analyses it with large language models to catch faults before they happen, and writes a clear report for the user, built for $256.

The EdrakX device: 7-inch touch screen and keyboard at a 30-degree angle
$256total hardware cost (332,000 IQD)
3modes: vehicle, simulation, custom sensors
OBD2live data from the engine ECU
AR/ENArabic and English interface
Stack
Raspberry PiESP32OBD2 · ELM327PythonKivy / KivyMDMicroPython · MicrodotLLMRS232 / RS485 / TTLMQ gas sensors
Case study sections

The problem

Maintenance of internal combustion engines is usually either scheduled or reactive. Both lead to unexpected breakdowns and higher repair costs, and the industrial systems that solve it (Siemens offers one) cost thousands of dollars, out of reach for small workshops.

The idea

EdrakX is a portable device that collects engine and sensor data in real time and sends it to large language models (LLMs). They analyse it alongside fault codes and the known issue history of that exact model, then write a diagnosis and maintenance advice a non-specialist can follow.

Hardware

  • Raspberry Pi 3 as the processing unit, with a dual-fan cooler and a 7-inch 1024×600 touch screen.
  • ELM327 Wi-Fi OBD2 adapter to read the engine control unit (ECU).
  • ESP32 collecting sensors wirelessly through a local API built with Microdot on MicroPython.
  • MQ-7, MQ-2, MQ-3 and MQ-135 gas sensors for exhaust analysis, a GP2Y1014 dust and smoke sensor, and a sound sensor.
  • RS232, RS485 and TTL ports over USB to connect any industrial device.
  • An enclosure that tilts the screen and keyboard at 30 degrees for comfortable viewing, including from a standing position.

Modes

  • Vehicle: register the customer, the car and the complaint, then read live OBD2 data and look up the fault codes. The report holds the live data, the AI diagnosis, graphs and a box to ask the model directly. Reports are saved for later visits.
  • Simulation: pick a device manual, the model extracts its operating limits (a voltage range, say), then enter or randomise values to get a diagnostic report.
  • Custom: real sensors through an ESP32 or RS232/RS485/TTL, shown live and analysed in real time.

Interface

A Kivy/KivyMD app with a dark theme and cyan accents that runs as the main interface on a lightweight, desktop-free Linux, with its own Wi-Fi manager, a virtual keyboard and full right-to-left Arabic support.

Challenges and fixes

  • Model-specific knowledge gaps: several models work together, and a dedicated search model pulls facts from original sources before the analysis.
  • Hallucination: carefully designed prompts plus live search for trusted sources.
  • No Python support for Wi-Fi OBD2 adapters: hand-written commands to pull data from the ELM327, about 10 days of work.
  • Raspberry Pi 3 limits: a cleaned-up codebase on a lightweight OS, with a Pi 4 (4 GB or more) recommended.

Team

Graduation project of the Control and Automation Engineering Department, Engineering Technical College of Basra, Southern Technical University, 2024–2025. By Hussein Fadhel Ahmed, Mohammed Najim Aldeen Abdullah, Abd Alameer Loay Jawad and Mustafa Mohammed Ghabash, supervised by Ali Abduljabbar Mohammed Jawad, MSc.