This project implements an obstacle avoidance system using a XIAO ESP32-S3 Sense and YOLO11.
- Board: XIAO ESP32-S3 Sense
- Camera: OV2640 (connected to board)
- Mic: I2S Digital Mic (MSM261D3526H1CPM)
- IMU: ICM42688P (I2C)
- Camera: Standard XIAO ESP32S3 Sense pinout.
- I2C IMU: SDA (D4), SCL (D5).
- I2S Mic (PDM Mode): CLK (GPIO 42), DAT (GPIO 41).
This project uses uv for dependency management.
-
Install uv:
- Open PowerShell.
- Run:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
-
Clone the Repository:
git clone <your-repo-url>cd <repo-folder>
-
Run the Application:
- First, ensure your ESP32 is running and you know its IP address (check the Serial Monitor).
- Run the Python script with the stream URL:
Example:
uv run main.py --url http://<ESP32_IP>/stream
uv run main.py --url http://192.168.1.123/stream
The firmware is located in the firmware/ directory.
- Open
firmware/main/main.inoin Arduino IDE. - Install
ESP32board support. - Select Board: "XIAO_ESP32S3" (or similar).
- Enable PSRAM: "OPI PSRAM".
- Upload.
- Open Serial Monitor (115200 baud) to view the IP address.