Notes, projects and ideas
ESP32 based robot

project

Pose-RaceCARduino - RC Car based on ESP32 and Tensorflow pose estimation


This project uses a React web interface, TensorFlow JS, and the Web Bluetooth API to control an ESP32 based microcontroller that is part of a simple twin-motor RC car. Specifically, this project used a LILYGO TTGO T-Display ESP32 WiFi and Bluetooth Module that includes an ESP32, a TFT display and lots of IO ports although it can also run on a generic ESP32 when removing the TFT specific Code.

The controls are designed to work like follows: Your two hands correspond to one wheel speed each. The speed is 0 when the hands are at the height of your shoulders. The car moves forward when you lower your hands and backwards when you lift you hands above your shoulders. You can steer by creating a differential between the height of your two hands and thus making the wheels spin at different speeds. The controls are very slightly delayed and a bit finicky since the motors have a very nonlinear speed curve and a high lowest speed. Better quality motors and some optimizations would greatly improve the handling.

Demo

Here are a few images and videos on how the project played out in the end:

Final build of ESP32 with 18650 batteries and generic dc motors with a l298n motor driver

Final build of ESP32 with 18650 batteries and generic dc motors with a l298n motor driver

Web app with active tracking

Web app with active tracking

Using body pose to steer the rc car

Using body pose to steer the rc car

Find this project on Github!