Home > Projects > Car Projects > CarSmart

CarSmart

Summary of CarSmart


This project implements a cloud-based vehicle diagnostics system using an Arduino MKR1000 and SparkFun OBD-II-UART board to collect engine data. The device logs temperature and month data, uploading it via WiFi to Microsoft Azure IoT Hub. Azure Stream Analytics processes the stream using a Machine Learning model to classify engine health as LOW, NORMAL, or HIGH, storing results in Blob storage.

Parts used in the Car Smart:

  • Arduino MKR1000
  • SparkFun OBD-II-UART
  • Soldering iron (generic)
  • Wire Wrap Tool

Smart cloud-based vehicle OBD-II diagnostics logging and analysis using Azure IoTHub, Stream Analytics, and Machine Learning.

CarSmart

Things used in this project

Hardware components

Arduino MKR1000
Arduino MKR1000
× 1
SparkFun OBD-II-UART
This board requires only three connections. I soldered pins and use wire wrap to connect to pins on the MKR1000
× 1

Software apps and online services

Microsoft Azure
Microsoft Azure
Arduino IDE
Arduino IDE
Microsoft Azure
Microsoft Azure
Microsoft Azure IoT Hub
Microsoft Azure
Microsoft Azure
Microsoft Azure IoT SDK
The IoT SDK contains the DeviceExplorer tool which is needed to set up the IoT Hub.

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Wire Wrap Tool

Story

Schematics

Code

CarSmart on GITHUB

Code repository for the CarSmart project

CarSmart project for hackster.io MKR1000 contest — Read More

Quick Solutions to Questions related to Car Smart:

  • How does the system detect maintenance issues?
    The system monitors engine coolant temperature and uses a machine learning algorithm to identify abnormalities compared to normal behavior.
  • What hardware components are required for the prototype?
    The prototype requires only an Arduino MKR1000 board and a SparkFun OBD-II-UART board connected via three-wire RS-232 serial port.
  • Can the system learn car characteristics in real time?
    No, this demonstration pre-trains the model with supplied classified data rather than learning characteristics in real time.
  • How is the device powered in the vehicle?
    The MKR1000 is powered through its USB port using a 12V to 5V vehicle USB power adapter.
  • Why does the system upload data over home WiFi?
    The philosophy is to store data locally and upload it when the vehicle is at home to eliminate the need for expensive internet access in the vehicle.
  • What format is used to send data to the IoT Hub?
    Data is sent to the IoT Hub using HTTPS POST messages with the data formatted in JSON.
  • Which machine learning algorithm was chosen for this project?
    A Multiclass Decision Forest algorithm was selected to learn the classification of month and temperature pairs.
  • What output classes does the machine learning model produce?
    The model classifies the data into three categories: LOW, NORMAL, or HIGH temperature states.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top