Developed a cost-efficient Tesla-inspired robotic car using Arduino Uno and ESP32-CAM, featuring RFID-based door security lock, Wi-Fi–secured web server for manual control, and Bluetooth-based voice control via an android app, with the ability to switch seamlessly between manual and voice control modes at any time. Integrated an emergency braking and collision avoidance system using ultrasonic sensors that detect obstacles within 30 cm (front/rear) and 15 cm (during turns), automatically stopping the vehicle until a new command is received. Added a rearview camera with backlight support to enhance parking precision and low-light visibility.
- Open Arduino IDE.
- Go to: File > Preferences

- Paste this link https://dl.espressif.com/dl/package_esp32_index.json within the "Additional board manager URLs" section > Click "OK".
NOTE: If other boards are already installed, add a comma (,) at the end of the existing link/s, paste the link with no space, and then click ‘OK’ as shown in the above picture. - Go to: Tools > Board > Boards Manager.

- Search: "esp32 by Espressif Systems" > Select Version: 2.0.0 > Install.

- Download: "AsyncTCP-master.zip" from HERE
- Download: "ESPAsyncWebServer-master.zip" from HERE
- Open Arduino IDE.
- Go to: Sketch > Include Library > Add .ZIP Library.

- Select both of the downloaded "AsyncTCP-master.zip" and "ESPAsyncWebServer-master.zip" library files one by one > Click: "Open".
- Open: "This PC".
- Go to: "Documents" folder > "Arduino" folder > "librares" folder > "ESP_Async_WebServer" folder > "src" folder.
- Right Click: "AsyncWebSocket.h" file > Open with > Notepad.

- Set the marked macro to 1 as shown in the below picture, then save the file by pressing "Win + S".

- Build the below circuit.

- Connect the Arduino UNO to the PC using USB cable.
- Open Arduino IDE
- Copy Manual_control_with_rearview_camera.ino code and paste it into the Arduino IDE.
- Go to: Tools > Board > esp32 > ESP32 Wrover Module.

- Go to: Tools > Adjust the marked settings as below.

- Go to: Tools > Port > Select the port to which the Arduino is connected (If multiple ports are shown, try connecting one by one to find the actual port).
- Upload the code.
NOTE: If the upload failed, that means there is a connection loss in the circuit.
WiFi Name: TESLA Prototype V1
Password: 12345678
Web Server: 192.168.4.1
Bluetooth Name: HC-05
Password: 1234 or 0000
Android App: CLICK HERE
RFID UID: E1 24 0C 05
