Face-tracking Phone Stand using Arduino, ESP32 and cameras. We wanted to create a phone stand which rotates to keep the user’s face at the center of the screen. Made along with Sandor Felber and Rohit Karmarkar.
We found that OmniVision OV7670 camera module had too low frame rate when used with Arduino Nano.
Files relevant in the final demo
arduino/
serialInput
: Receive turn command from Serial and turn the motor accordinglyMakefile
: Arduino CLI Commands for flashing sketches
esp32/
BasicWebServer
: Sketch for ESP32 CAM to connect to my home WiFi and stream the camera input
python/
process.py
: Takes input stream from my ESP32CAM URL, and outputs to my Serial whether to turn left or right for the phone stand
Other files:
arduino/
:drawimage
: A Processing sketch for displaying OmniVision camera input coming from Serial viarawbytes
sketchomnivision
: Print the raw input from the camera as hex for debuggingoriginalMotor
: Sketch to turn the motor through a driverrawbytes
: Print raw bytes to my serial port for Processing to take and show the image.
python/
:face-detection.ipynb
: Notebook to debug face detection pipeline