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?