SmartCar is an innovative hardware-software solution designed to bring modern vehicle intelligence to any car, especially the old ones. By plugging a compact, futuristic OBD-II device into the car’s diagnostic port, SmartCar captures real-time data from the vehicle’s CAN network and integrates WIFI connectivity to transmit insights to a secure cloud-based backend. The companion mobile app gives users instant access to detailed insights about their car’s health, fuel consumption, driving habits, trip history, and more-all in an intuitive interface.
🔗 [Frontend Demo] (https://smartcar.thezion.one)
💻 [GitHub Repository] (https://github.com/andreitulpan/smart-car_esp32)
A smart car telemetry and diagnostics system for ESP32, featuring CAN bus data acquisition, BLE and WiFi connectivity, OTA updates, and Firebase integration.
✨Features
⚙️Usage
📲Commands (via BLE)
🛠️Customization (via UI)
🧩 Components
Function | ESP32 Pin | Description |
Button | GPIO 3 | BLE button |
LED | GPIO 2 | Status indicator |
CAN CS (MCP2515) | GPIO 5 | SPI Chip Select for CAN |
SPI MOSI | GPIO 23 | SPI Master Out Slave In |
SPI MISO | GPIO 19 | SPI Master In Slave Out |
SPI SCK | GPIO 18 | SPI Clock |
SPI INT (MCP2515) | GPIO 4 | MCP2515 Interrupt |
The SmartCar project integrates modern web technologies with embedded systems to turn any car into a smart one.
🖥️ Frontend
☁️ Backend
📟 Embedded Software (ESP32)
Developed using the Arduino Framework, with the following libraries:
Integrating all the advanced features into a single ESP32 board pushed the microcontroller to its operational limits. When all major systems are active — including WiFi, Firebase communication, Bluetooth Low Energy (BLE), and real-time logging — the ESP32 begins to exhibit instability, such as random exceptions and core dumps.
These issues are likely caused by limited RAM and processing capacity, making resource optimization and careful task scheduling essential for reliable performance.