panels

Original🇺🇸 English
Translated

Helps use the Panels dashboard for FTC robot debugging, configuration, and telemetry. Use when adding telemetry, creating graphs, making configurable variables, or setting up the Panels dashboard.

9installs
Added on

NPX Install

npx skill4agent add ncssm-robotics/ftc-claude panels

Panels Dashboard

Panels (by Lazar/ByteForce) is a web-based dashboard for FTC robots providing telemetry, graphs, and live configuration.

Quick Start

Add dependency in
TeamCode/build.gradle
:
gradle
implementation "com.bylazar:fullpanels:1.0.6"
Access dashboard at
192.168.43.1:8001
when connected to robot WiFi.

Core Plugins

Telemetry Plugin

Text-based telemetry mirroring Driver Hub output.
java
// Standard FTC telemetry works automatically
telemetry.addData("Position", follower.getPose());
telemetry.addData("State", pathState);
telemetry.update();

Graph Plugin

Visualize data over time - useful for PID tuning and control system validation.
java
// Add values to graph in loop()
telemetry.addData("Motor Power", motor.getPower());
telemetry.addData("Target Position", targetPos);
telemetry.addData("Current Position", currentPos);
telemetry.update();  // REQUIRED after adding telemetry

Configurables Plugin

Tunable variables that update in real-time.
java
@Configurable
public class MyOpMode extends OpMode {
    // These can be adjusted live from dashboard
    public static double kP = 0.1;
    public static double kI = 0.0;
    public static double kD = 0.01;
    public static double targetPosition = 100;
}
Use
@Configurable
annotation on your OpMode class, then declare
public static
fields.

Capture Plugin

Records debugging data for offline replay - debug without robot connected.

Dashboard Features

OpMode Control

  • Start/stop OpModes from dashboard
  • Separate autonomous and teleop sections
  • Built-in safety timers

Gamepad Support

  • Two FTC gamepad inputs
  • Pre-configured button mapping
  • Wireless robot control through dashboard

Monitoring

  • Battery level tracking
  • Network latency/delay monitoring
  • Automatic plugin update notifications

Themes & Layout

  • Customizable colors
  • Resizable widget panels
  • Grid-based layout
  • Tabbed widget groups

Usage Pattern

java
@Configurable
@TeleOp(name = "Debug TeleOp")
public class DebugTeleOp extends OpMode {
    // Live-tunable from dashboard
    public static double driveSpeed = 0.8;
    public static double turnSpeed = 0.6;

    @Override
    public void loop() {
        // Telemetry shows in dashboard
        telemetry.addData("Drive Speed", driveSpeed);
        telemetry.addData("Turn Speed", turnSpeed);
        telemetry.addData("Left Stick Y", gamepad1.left_stick_y);

        // Use configurable values
        double drive = -gamepad1.left_stick_y * driveSpeed;
        double turn = gamepad1.right_stick_x * turnSpeed;

        telemetry.update();
    }
}

Reference