This repository contains the ESP-IDF (Espressif IoT Development Framework) project for the TwoWDRover, a two-wheeled differential drive rover controlled using the ESP32 microcontroller. The rover is intended to be controlled remotely from a Python program, which can be found in the companion repository MappingRover.
The TwoWDRover is a versatile mobile robot platform that can be used for various applications, including remote monitoring, exploration, and experimentation. This ESP-IDF project provides the firmware and software needed to control the rover's movement and interact with sensors and peripherals.
Before you begin, ensure you have met the following requirements:
- ESP32 development board
- Two-wheeled differential drive rover platform with motor drivers (Schematics and settings for the project will be provided in the future)
- Sensors and peripherals (as per your project requirements)
- ESP-IDF development environment
- Python 3.9(or later) installed on your computer
-
Clone this repository to your local development environment:
git clone https://github.com/jetsup/TwoWDRover.git
-
Navigate to the project directory:
cd TwoWDRover
-
Configure your ESP-IDF development environment by following the instructions provided in the ESP-IDF Getting Started Guide.
-
Configure the project using idf.py menuconfig to set up your NRF24L01 and other project-specific configurations.
-
Build the project using idf.py build.
-
Flash the firmware to your ESP32 development board:
idf.py -p PORT flash
Replace
PORT
with the appropriate serial port name for your development board.
Once the firmware is successfully flashed to your ESP32 board, you can control the TwoWDRover using the Python program from the MappingRover repository. Follow the instructions provided in that repository's README
to set up and run the control program.
The control program establishes a connection with the ESP32 rover and allows you to send commands to control its movement and interact with sensors.
We welcome contributions to improve this project and the control program or ideas. If you would like to contribute, please follow these steps:
Create a new branch for your feature or bug fix: git checkout -b feature/new-feature
or git checkout -b bug/bug-fix
.
Make your changes and test them thoroughly.
Commit your changes with meaningful commit messages.
Push your branch to your forked repository.
Submit a pull request to the main repository with a clear description of your changes.
This project is licensed under the MIT License. Feel free to use and modify the code for your own projects.