Joystick Widget — control robots, RC cars, and drones

Feature: Joystick Widget

Problem: Controlling motorized devices (robots, RC cars, pan-tilt cameras, drones) currently requires multiple sliders or buttons. There’s no intuitive 2-axis control.

Proposed solution: A virtual joystick widget that sends X/Y coordinates (or angle + magnitude) via MQTT as the user drags. Configurable options:

  • Dead zone threshold
  • Auto-center on release (spring-back)
  • Axis labels (e.g., “Throttle” / “Steering”)
  • Range mapping (e.g., -100 to 100, or 0 to 255)
  • Optional Z-axis button (e.g., for fire/boost)

Use case: Driving an ESP32-based robot car from your phone. Place the joystick widget on your dashboard, connect to the device over MQTT, and steer in real-time. The joystick sends {"x": 45, "y": -20} payloads that the firmware translates to motor speeds.

MQTT payload example:

{"command": "joystick", "widget": {"slug": "drive"}, "params": {"x": 45, "y": -20}}

Would you use this? What options would matter most to you?