HomeGenie Mini FPV RC Car in action

Open media
Having explored precise motion control with the Robotic Arm and intelligent vision with the Smart Camera, let's take the next logical step: combining these capabilities onto a mobile platform. This project guides you through building a 4WD FPV (First Person View) RC Car, a versatile robot that brings together locomotion, optional manipulation, and real-time video streaming within the HomeGenie ecosystem.
This FPV RC Car serves as an excellent practical example of system integration, demonstrating how multiple HomeGenie Mini devices, each running specialized firmware, can collaborate under the orchestration of HomeGenie Server to create a complex, interactive machine. It's a platform ripe for experimentation with telepresence, autonomous navigation (leveraging AI vision), and remote interaction tasks.
To effectively manage the distinct tasks of complex motion control and high-quality video streaming, this project utilizes a dual-controller architecture:
smart-motor
firmware): Dedicated to handling the real-time demands of controlling up to 8 servos simultaneously (4 for 4WD skid-steering drive and 4 for the optional robotic arm). This ensures smooth, responsive movement without being burdened by video processing. A custom PCB with stabilizing capacitors is recommended for reliable power delivery to the servos.smart-cam
firmware): Focused solely on capturing, encoding, and streaming the video feed. Using a separate ESP32-S3-CAM (preferred for its performance) guarantees the best possible video quality and frame rate for FPV piloting and allows for seamless integration with HomeGenie Server's AI vision processing pipelines without impacting motion control.Both ESP32 devices communicate independently via WiFi/MQTT with HomeGenie Server, which synchronizes control inputs, displays the video feed, runs automation logic, and applies AI algorithms locally.
Building upon the previous projects, the FPV RC Car offers:
This guide walks through the construction of the 3D-printed FPV RC Car.
smart-motor
profile compatible with your ESP32 board. Configure it for 8 servo motors if using the arm (Pins S1-S4 for Drive, S5-S8 for Arm), or 4 servos (S1-S4 for Drive) if building the car only. Assign the correct GPIO pins according to your custom PCB wiring.Download the 3MF project file containing all components from the Project files section below. This single file includes optimized settings and layout for:
Printing all parts typically takes around 5 hours with standard settings (e.g., 0.4mm nozzle, 0.20mm layer height).
Ensure your slicer software correctly interprets the 3MF file and its settings. Verify printer calibration for dimensional accuracy, especially for parts that need to fit together precisely.
Follow the image sequences below for assembly.
Mount the four MG90S 360° drive servos into the main chassis base. Attach the small plastic brackets to each servo using two M2 screws, then fasten them. Attach the wheels firmly to the servo shafts. You might want to secure them with the small screw included with the servo kit.
This RC Car requires two battery packs: one for the ESP32-S3 Zero (Motion Controller) and its connected servos, and another dedicated to the ESP32-S3-CAM. Install the first battery pack (for motion controller) in its compartment, ensuring its cable points towards the rear of the chassis. Place the electronics container on the back of the chassis and secure it with two screws. Neatly route all servo wires into the container and connect them to the ESP32-S3 Zero PCB shield. At this point, you can briefly connect the battery power cable to test if the motors are working as expected via the HomeGenie UI. Be extremely careful when connecting the battery to respect the correct polarity (+/-); reversing polarity can severely damage the board. Position the second battery pack (for the camera) on top of the first one.
If you have already built the Robotic Arm from the previous example and wish to mount it on the FPV Car:
Before attaching the top cover to the car chassis, insert the base of the external antenna's U.FL/IPEX pigtail cable connector through the central hole from the inside and secure it with its nut on the outside. Screw the antenna mast onto this connector base. Finally, carefully position the top cover (with arm attached, if applicable) onto the chassis, ensuring wires are tucked inside. Fasten the top cover using four M2 8mm screws.
Connect the antenna pigtail cable to the U.FL connector on the ESP32-S3-CAM module. Insert the camera module into its dedicated front cover housing. Connect the second battery pack's power cable to the appropriate power input pins on the ESP32-S3-CAM board (typically marked 5V/VCC and GND - verify your specific board pinout). Again, be extremely careful with polarity. Slide the front cover housing onto the front of the main chassis.
The assembly is now complete! Ensure all wires are neatly tucked away. The front camera cover and the rear electronics container lid can be slid off without removing screws, providing easy access to the batteries for recharging. Use the USB recharging cables provided with the battery packs to recharge them when needed.
To simplify wiring and ensure stable power delivery for demanding motor applications like the FPV RC Car, we've designed the HomeGenie Motors Controller Shield. This custom PCB is specifically tailored for ESP32-C3/S3 development boards (e.g., ESP32-S3 Zero) and offers a clean, robust solution for controlling multiple servo motors with flexible power management.
Key features of the shield include:
This shield is the ideal companion for the FPV RC Car and Robotic Arm projects, providing a reliable and versatile foundation for your mechatronic creations.
FPV RC Car files by G-Labs licensed under CC BY-NC 4.0
Flash the Motion Controller (ESP32-S3 Zero) with the smart-motor
firmware:
Connect your ESP32/ESP8266 microcontroller to your computer via USB, select your firmware version, and click "Create device" to upload the HomeGenie Mini firmware.
Installing firmware directly from this page works only in browsers with Web Serial API enabled.
(To flash the FPV Camera (ESP32-S3-CAM), please refer to the firmware upload instructions on the Smart Camera + AI page).
See the Device setup page for further information about configuring a HomeGenie Mini device after flashing.