Upgrade your electric ride on car with a 18v Ryobi battery and ESP32-powered electronics.
Welcome to the Ryobi Battery Conversion project for ride on cars!
This project aims to replace the old lead battery in your electric ride on car with a modern 18v Ryobi battery, providing improved performance!
By utilizing an ESP32 microcontroller, we enable enhanced control and monitoring capabilities for a safe and more enjoyable driving experience for every rider.
- Ryobi Battery Integration: Upgrade your kid car's power source to a Ryobi battery for extended runtime and enhanced performance.
- ESP32 Control: Utilize the ESP32 microcontroller for precise control, monitoring, and remote safety features.
- Real-time Data Display: Monitor the speed, configure and update the car through a sleek web-based dashboard.
- Battery Protection: Use safeguards to prevent over use and deep discharging.
- Easy Customization: Adapt the project to fit your specific kid car model and requirements.
To replicate this project, you'll need the following things:
- Ride on car with a functionnal motor
- 18v Ryobi battery and charger
- 3D printer
- Basic hand tools (screwdriver, wire cutter/stripper, soldering iron)
- 1x ESP32 On Amazon
- 1x or 2x LM2596 - Voltage Regulator On Amazon
- 1x XH-M609 - DC 12V-36V Voltage Protection Module On Amazon
- 1x BTS7960 43A High Power Motor Driver Module On Amazon
- 1x 30A Circuit Breaker On Amazon
- Wires and connectors
Optional
- 1x Throttle Pedal (permits precise throttle control, not just on/off) On Amazon
- Print the battery mount (I used this one)
- Print the component support Source available on OnShare
- Replace the throttle pedal (optional)
Here is the diagram with the different components. 3.3v doesn't need to be sent to the pedal for simple switch pedals.
- Install VSCode with the PlatformIO extension
- Install drivers for your ESP32
- Begin by cloning this repository to your local machine
- Open the project in VSCode
2.1 If you replaced the pedal with a hall sensor one, enable WITH_ADC_THROTTLE in
power_wheel.c
. Mine is outputing 1v to 2.6v with 3.3v input, make sure yours is similar or updateget_throttle_position
accordingly. - Connect your ESP32 to your computer
- Open PlatformIO extension on the left bar
- Click on "esp32dotit -> General -> Upload" to build & upload the project
- Click on "esp32dotit -> Platform -> Upload Filesystem" to build & upload the filesystem (webpage)
- Open the project in VSCode
- Open PlatformIO extension on the left bar & build
- Turn on the ride on car & connect to the access point wifi emitted by the car
- Open the project folder
- Drag and drop firmware.bin from
.pio/build/esp32doit-devkit-v1
folder onto the upload icon of the webpage
You can also drag & drop any static files, like index.html
. In that case it doesn't need to be built
- Turn on the fuse and drive!
- Don't forget to turn the fuse off when you are done.
- To go further
- Connect your computer or mobile device to the Wi-Fi network emitted by the car. By default it emits an access point "PowerJeep" with password "Rubicon!"
- It should open the page automatically as a captive portal. If it doesn't, open a web browser and enter the IP address http://192.168.4.1 to access the dashboard.
- Use the interface to configure the car and view real-time speed. Emergency stop turns off the motor immediately.
Contributions are welcome!
If you have any ideas, improvements, or bug fixes, please submit a pull request. For major changes, please open an issue first to discuss potential updates.
This project is licensed under the MIT License.