Skip to content
All robotsMobile robotsScout
MOBILE ROBOTS / ESP32 ROVER

ScoutYour next rover starts here.

Scout is a focused two-wheel rover with an ESP32 DevKit and range sensing. Trace a manageable drive circuit, adapt the controller and explore the fundamentals of mobile robot power and motion.

Includes assembly, starter wiring and executable virtual JavaScript.
ASSEMBLY PREVIEW/ROVER
Scout · ESP32 rover concept illustration; the 3D preview uses the actual preset geometry
Static illustration · loading 3D
Orbit the actual starter assembly. Open the workbench to edit or run it.
15components
32starter connections
1.25 kgestimated component mass
ESP32 DevKitcontrol platform
Scout · ESP32 rover, an illustrated mobile robots assemblyConcept illustration · inspect actual geometry above.
A COMPLETE STARTING POINT

Get to know
what's inside.

A smaller controller-driven rover with range sensing. All 15 components and 32 starter connections remain editable in your own project.

Teaching differential driveESP32 project planningPower and wiring studies
View the included component types
  • Rover chassis
  • 2S battery · 2.2 Ah
  • 5 V buck regulator
  • ESP32 DevKit · virtual controller
  • Emoji OLED display
  • Dual H-bridge
  • Geared DC motor · 35:1
  • Rubber wheel · 90 mm
  • Ball caster
  • Forward range sensor
  • 6-axis IMU
  • Wheel encoder
YOUR FIRST THREE EXPERIMENTS

Build understanding.
One change at a time.

Use the starting assembly to ask better questions about your design. Save a copy, change a parameter and compare what happens.

01

Inspect the design

Trace the controller's PWM signals through the driver into both motors.

02

Try a change

Tune the avoidance threshold and compare straight driving with turning.

03

Compare and learn

Reduce battery charge or add payload and inspect the resulting telemetry.

rover-esp32.jsVIRTUAL API
function step(robot) {
  robot.drive(0, 0);
  if (robot.brownout || robot.battery.voltage < 6.25) { robot.display('🪫'); return; }
  const range = robot.sensors.range;
  if (!Number.isFinite(range)) { robot.display('⚠️'); return; }
  const obstacle = range < 0.65;
  robot.drive(obstacle ? -0.3 : 0.6, obstacle ? 0.35 : 0.6);
  robot.display(obstacle ? '🤔' : '😊');
}

The full, editable starter script is included in the workbench.

KNOW WHAT YOU'RE TESTING

Differential-drive simulation

Two supported drive motors with a shared ground and wired PWM. High-level JavaScript, not MCU firmware.

  • Editable 3D assembly, wiring and code
  • Connection and power diagnostics
  • Generic, uncalibrated component estimates
Read the simulation and fidelity guide

This is a virtual JavaScript environment. It does not emulate ESP-IDF, Arduino firmware or a manufacturer's exact hardware.

KEEP EXPLORING

Another way to build.

View all 16 robots
Mobile robots

Atlas · AI explorer

Differential drive, camera, range sensor and wheel encoders.

Virtual controller + AIDifferential-drive simulation
Mobile robots

Courier · Delivery robot

A delivery platform with a cargo tray and a 1 kg starting payload.

Virtual controller + AIDifferential-drive simulation
Emoji companions

Pixel · ESP32 OLED

Compact face, display and expressive servo with 3.3 V GPIO aliases.

ESP32 DevKitExpression & servo preview
FROM AN IDEA TO AN ASSEMBLY

Make Scout your own.

Open the template, inspect the wiring and run its first behavior.

Open Scout in the workbench