Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To program a BallyBot, install the ESP32 board package in Arduino IDE, select AI Thinker ESP32-CAM, connect the robot through an FTDI Type-C programmer and data-capable USB cable, then upload while the robot is in upload mode. Start by testing GPIO 4 with a blink sketch before changing motor-control code.

What you need before programming

  • An installed Arduino IDE. BallyBots’ tutorial specifies version 1.8.x or later.
  • The ESP32 board package from Espressif.
  • An FTDI Type-C USB programmer and a USB-C cable that supports data, not just charging.
  • The BallyBot example sketches, available from the Esp32Robots repository.
  • A computer account with permission to access the programmer’s serial port.

The BallyBot is based on the ESP32-CAM. The official programming tutorial, published June 16, 2025, is the reference for its setup and upload sequence: Programming your BallyBot.

Install ESP32 support and select the board

  1. Open Arduino IDE and go to File > Preferences.
  2. In Additional Boards Manager URLs, add https://dl.espressif.com/dl/package_esp32_index.json. If the field already contains another URL, preserve it and separate entries as the IDE specifies.
  3. Open Tools > Board > Boards Manager, search for ESP32, and install ESP32 by Espressif Systems.
  4. Go to Tools > Board and select AI Thinker ESP32-CAM.

Download the BallyBot examples from the Esp32Robots repository, unzip them into your Arduino sketches directory, and open the relevant .ino sketch.

Connect and upload a sketch

  1. Connect the BallyBot to the computer using the FTDI Type-C programmer and a USB-C data cable. Confirm the programmer is connected in the correct orientation and position for the BallyBot.
  2. Put the robot into upload mode using its upload switch.
  3. With upload mode enabled, turn the robot off and then back on. This power cycle places the ESP32-CAM in programming mode.
  4. In Arduino IDE, open Tools > Port and choose the port assigned to the programmer. The BallyBots tutorial uses COM3 as an example; select the actual port on your computer, which may have a different name.
  5. Click Upload and wait for the IDE to finish transferring the sketch.
  6. After a successful upload, turn upload mode off and power-cycle the BallyBot again so it runs the newly uploaded program.

The official tutorial says the wheels should turn backward for about one second after a successful upload. Treat that as the tutorial’s expected behavior, not as a universal test for every hardware revision or sketch.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
ELEGOO UNO R3 Smart Robot Car Kit V4 with Camera, Compatible with Arduino
  • BUILD, CODE & DRIVE YOUR OWN ROBOT CAR: Turn coding, electronics and engineering into a working programmable robot car you can assemble, program and drive; ideal for weekend family projects, STEM classrooms, coding clubs, robotics lessons and maker challenges
  • EXPLORE FPV, LINE TRACKING & OBSTACLE AVOIDANCE: Control the robot with the ELEGOO app or IR remote, view live FPV video through the onboard camera, follow black lines, avoid obstacles with the ultrasonic sensor and explore multiple interactive driving modes
  • BEGINNER-FRIENDLY BUILD WITH GUIDED WIRING: Keyed XH2.54 connectors help reduce wiring mistakes, while the illustrated tutorial and example programs guide beginners step by step from chassis assembly and module connection to programming and the first successful run
  • GO BEYOND ASSEMBLY WITH CREATIVE CODING: Program with Arduino IDE to explore movement, sensors and control logic, then modify example code to create custom routes, reactions and robotics experiments that develop coding, problem-solving and engineering skills
  • COMPLETE RECHARGEABLE STEM ROBOTICS KIT: Includes an ELEGOO UNO R3 controller board, ESP32-WROVER-based camera and Wi-Fi module, line-tracking and ultrasonic sensors, motors, IR remote and a 2000 mAh rechargeable lithium-ion battery; recommended for ages 8+ with adult guidance for first-time builders

Verify the board with a GPIO 4 blink test

A simple output test helps separate an upload problem from a motor-control or pin-mapping problem. In a blank sketch, upload:

void setup() {
  pinMode(4, OUTPUT);
}
void loop() {
  digitalWrite(4, HIGH);
  delay(1000);
  digitalWrite(4, LOW);
  delay(1000);
}

The sketch sets GPIO 4 high for one second and low for one second repeatedly. The BallyBot tutorial uses this as a basic first verification; the expected indication is the board’s LED responding to the output. If it does not, recheck the board, port, cable, upload-mode switch, and power-cycle sequence before moving on to motors.

Rank #2
Makeblock mBot STEM Coding Toys Robotics for Kids Ages 8-12
  • Entry-level Coding Robot Toy: mBot robot kit is an excellent educational robot toys, designed for learning electronics, robotics and computer programming in a simple and fun way. From Scratch to Arduino, this STEM projects for kids ages 8-12 helps kids to learn programming step by step via interactive software and learning resources
  • Easy to Build: With clearly building instructions, this building kit can be easily built within 15 minutes. Kids will learn more about electronics, machinery, and robotics components through building mBot. You can also play this STEM projects for kids ages 8-12 as a remote control car with its multi-functions: line-follow, obstacle-avoidance and so on
  • Rich Tutorials for Programming: With Offerring coding cards and lessons, children can easily use all fonctions of mBot and creat projects by themselves. Matched with 3 free Makeblock apps and mBlock software, kids can enjoy remote control, play programming games, and coding with mBot robot kit. Note that the remote controller needs a CR2025 battery(NOT INCLUDED), and the robot kit needs 4 AA batteries (NOT INCLUDED)
  • Awesome Gift for Kids: Surprise your little Kids with super cool robotics kit and let them discover the secrets of programming and electronics. Being well packaged and metal material, this robot kit is a perfect learning and educational toy gift for boys and girls on Birthday, Children's Day, Christmas, Easter, Summer Camp Activities, Back To School, Home Fun Time
  • Creative Robot with Add-on Packs: So many fun configuration with an open-source system, this programmable robot is compatible with rich add-on packs. mBot can be connected to 100+ electronic modules and 500+ parts from the Makeblock platform, compatible with LEGO parts

How BallyBot motor control works

The motor-control lesson describes movement as combinations of digital HIGH and LOW signals on motor-control GPIO pins. Forward, backward, and stop behavior depends on the relevant pin combinations. The lesson specifically warns that setting both direction signals HIGH cancels the signal and is not a recommended stopping method.

Do not copy pin numbers from an unverified BallyBot revision or guess at wiring. The motor lesson notes that assignments can vary by hardware revision, so confirm the pin mapping for your specific board before changing code or wiring. The lesson is BallyBot Motor Control, published March 31, 2025. Because the pin mapping is revision-dependent, this tutorial does not assume one universal motor-pin table.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sillbird STEM Robot Building Kit with Remote Control Gifts for Boys 8-13
  • 🎁Ideal Gift for Kids & Teens: Celebrate child’s growing skills and important milestones with this 5-in-1 Programmable robot set. Whether for birthdays, holidays, or achievements, it’s the perfect gift that encourages learning and hands-on fun—a gift that grows with them
  • ✨STEM Educational Toys: The robot set for kids ages 8+ combines the fun of STEM learning. It encourages hands-on learning and early programming as they build, which can spark creativity and imagination and provide hours of screen-free play
  • 📱Flexible Dual Control Modes: Control the Robotic kit with the intuitive app (Bluetooth) or remote. Enjoy fun features like basic programming, path, and precise movement, exploring endless interactive play
  • 🔄 5-in-1 Buildable with Varying Difficulty: The Robot Kit with Progressive Difficulty! From simple robots to complex models, kids can build a robot, dinosaur, car, tank, and more. Adjustable head, arms, and tail allow for fun, playful poses. Perfect for kids 8-12 to develop skills step by step and ignite creativity
  • 🛠️Clear & Detailed Build Instructions: This robot kit includes 488 pieces, with clear, colorful step-by-step instructions to make assembly easy. Kids can build their own robots independently or with family, enjoying quality time together and a confidence-boosting building experience

Fix common upload failures

  • The computer does not show a serial port: Verify that the USB-C cable supports data, then check the FTDI Type-C programmer’s connection and reconnect it. A charge-only cable will not provide the serial connection needed for uploading.
  • The IDE cannot connect or upload: Confirm AI Thinker ESP32-CAM is selected, choose the programmer’s actual serial port under Tools > Port, and ensure upload mode is enabled before turning the robot off and on.
  • Upload completes but the sketch does not run: Turn upload mode off and power-cycle the robot again. The post-upload boot sequence differs from the sequence used to enter upload mode.
  • The wheels behave unexpectedly: Stop testing motor code and confirm the GPIO assignments against the BallyBot hardware revision. Do not use both direction signals HIGH as a stop command.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What to try after the first upload

Once basic uploads work, the ESP32’s Wi-Fi capabilities make browser-based driving a natural next project. BallyBot’s web-control lesson configures the ESP32 as a Wi-Fi access point and uses Arduino WebServer routes for /forward, /left, /right, and /backward. The official learning page also lists camera and video lessons for projects that build on the ESP32-CAM.

Best Value
Makeblock mBot2 Coding Robot for Kids, Code Learning Support Scratch & Python Programming, Robotics Kit for Kids Ages 8-14 and up, Building STEM Robot Toys Gifts for Boys Girls
  • Learn Through Play: Kids can ask mBot2 about the weather, make it sing, change the lights to make it move, or flip it over to watch it get grumpy! There are endless fun interactive features to explore with this smart coding robot for kids ages 8-12. (Coding guides included.)
  • Easy to Use: Build mBot2 robotics kit from scratch following step-by-step guide. Play the STEM toys mBot2 with 8+ modes (Drive, Draw and Run, Musician, Voice Control, Code, Build, WIFI and etc.) through APP and Use blocks to code without taking care of syntax. Enjoy up to 5 hours of playtime on a single charge and switch between Bluetooth, USB and WIFI control ways. Use mBot2 robot kit anytime and anywhere.
  • Coding Learning Path: Program mBot2 with 4 coding project cards and see it moves the way you wants! (No coding experience needed before). Learn 24+ cases and 8+ courses to master Scratch and Python programming, robotics, computer science, game development and data science. With ever-evolving curriculums and lifelong free programming software (with more than 16 million satisfied users), create your own unique STEM robot and projects.
  • The Best in Its Class: Designed from Makeblock's mBuild platform, mBot2 coding robot comes with 10+ advanced sensors (allowing for line-following, obstacle avoidance, color identification and etc.) and expandable with 30+ modules, all supporting Internet of Things (IoT) learning. For classroom use, the WIFI module allows multiple mBot2 to complete tasks together and sharing the same programming at the same time.
  • Great Gift for Kids: Simple structure, kids can easily build a robot toy for 8-12 years old kids in 30 minutes. The robot kit can help kids learn more about robotics components and toy mechanical design. Great robot assembly kit gift for graduation, birthday, Christmas, Children's Day or family entertainment time. If you have any questions while using this robotics kit for kids ages 8-12 and up, please feel free to contact us. We will reply to you as soon as possible.
Rank #4
Robotics for Kids Ages 12-16, ACEBOTT 4 in 1 Smart Robot Arm with 5DOF + Tank Car, STEM Toys Coding Kit Compatible with Arduino & Scratch, App & Remote Control, for Kids & Teens
  • 4-in-1 Modular Robot Car for Endless Builds – Includes the base robot car (QD001), tank track expansion (QD004), and robotic arm kit (QD007), letting kids build multiple robot styles. Create a robotic arm car to grab and move objects, a tank robot for outdoor adventures, or combine both into a robotic arm tank. This versatile robotics kit for kids encourages creativity, hands-on STEM learning, and problem-solving—perfect for home learning, classrooms, and STEM training programs.
  • Build Your Own Programmable Robotic Arm. This advanced robot kit includes a 5DOF programmable robotic arm, powered by an ESP32 controller. Kids and teens can build their own robot, learning how to grab, lift, and place objects. With 16 guided tutorials and HD assembly videos, this robotics kit offers hands-on experience in coding robot control, real-world robotics, and problem-solving—ideal for STEM kits for kids age 12–14 and engineering kits for kids age 14–16.
  • Rugged Tracks for All-Terrain Adventure. This STEM tank robot kit features rubber tank treads that handle grass, gravel, slopes, and carpet with ease—ideal for outdoor and off-road play. The upgraded drivetrain ensures stability and traction, making it the perfect robotics kit for hands-on exploration and real-world navigation.
  • Build Your Own Robot with Hands-On STEM Fun. Equipped with an ESP32 controller and compatible with Arduino & Scratch, this robotics kit includes 16 story-based tutorials that guide beginners step by step through assembly and coding. Perfect for science fair projects, classroom use, or fun family STEM nights, helping kids or teens master electronics, mechanics, and programming. Tutorial & code download path: ACEBOTT Official Website → Resources → WIKI and Assembly Video.
  • App & Remote Control. With both IR remote and smartphone App (iOS & Android), this programmable robot car offers easy, flexible control indoors and outdoors. Whether kids are coding or just playing, it enhances confidence and excitement while exploring technology—an excellent robotics kit for independent learning.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.