> For the complete documentation index, see [llms.txt](https://docs.revrobotics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.revrobotics.com/duo-control/hello-robot-java.md).

# Hello Robot - Intro to OnBot Java Programming

- [Welcome to Hello Robot!](https://docs.revrobotics.com/duo-control/hello-robot-java/welcome.md)
- [Where to Program - Client vs. Browser](https://docs.revrobotics.com/duo-control/hello-robot-java/where-to-program.md)
- [What is an OpMode?](https://docs.revrobotics.com/duo-control/hello-robot-java/where-to-program/what-is-an-opmode.md)
- [Setting up a Configuration](https://docs.revrobotics.com/duo-control/hello-robot-java/configuration.md)
- [Common Errors in Configuration](https://docs.revrobotics.com/duo-control/hello-robot-java/configuration/common-errors-in-configuration.md)
- [Using a Gamepad](https://docs.revrobotics.com/duo-control/hello-robot-java/using-a-gamepad.md)
- [Part 1: Tackling the Basics](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1.md)
- [Tackling the Basics Directory - OnBot](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/onbot.md)
- [Creating an OpMode - OnBot](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/test-bed-onbot-java.md)
- [Programming Essentials](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-essentials.md)
- [Programming Servos](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-servos.md)
- [Programming Servo Basics](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-servos/programming-servo-basics.md)
- [Using a Gamepad with a Servo](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-servos/using-a-gamepad-with-a-servo.md)
- [Programming Servo Telemetry](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-servos/programming-servo-telemetry.md)
- [Programming Motors](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-motors.md)
- [Programming Motor Basics](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-motors/programming-motor-basics.md)
- [Programming a Motor with a Gamepad](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-motors/programming-a-motor-with-a-gamepad.md)
- [Programming Motor Telemetry](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-motors/programming-motor-telemetry.md)
- [Programming Touch Sensors](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-touch-sensors.md)
- [Programming Color Sensors](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-color-sensors.md)
- [Color Sensor Telemetry](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-color-sensors/color-sensor-telemetry.md)
- [Detecting Color](https://docs.revrobotics.com/duo-control/hello-robot-java/part-1/programming-color-sensors/detecting-color.md)
- [Part 2: Robot Control](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2.md)
- [Robot Control OnBot Java Directory](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/robot-control-onbot-java-directory.md)
- [Programming Drivetrain Motors](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/programming-drivetrain-motors.md)
- [Arcade Style TeleOp - OnBot Java](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/arcade-style-teleop-onbot-java.md)
- [Establishing Variables in OnBot Java](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/arcade-style-teleop-onbot-java/establishing-variables-in-onbot-java.md)
- [Motor Power vs. Robot Movement](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/arcade-style-teleop-onbot-java/motor-power-vs.-robot-movement.md)
- [Programming Arcade Drive](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/arcade-style-teleop-onbot-java/programming-arcade-drive.md)
- [Arm Control - OnBot Java](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/arm-control-onbot-java.md)
- [Adding a Limit Switch](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/arm-control-onbot-java/adding-a-limit-switch.md)
- [Robot Control Full Program](https://docs.revrobotics.com/duo-control/hello-robot-java/part-2/robot-control-full-program.md)
- [Part 3: Autonomous and Encoders](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3.md)
- [ElapsedTime - OnBot Java](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/elapsed-time.md)
- [ElapsedTime Setup](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/elapsed-time/elapsedtime-setup.md)
- [ElapsedTime Logic](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/elapsed-time/elapsedtime-logic.md)
- [ElapsedTime - Multiple Movements](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/elapsed-time/elapsedtime-multiple-movements.md)
- [Encoder Basics](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/using-encoder.md)
- [Drivetrain Encoders - OnBot Java](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/autonomous-navigation-onbot.md)
- [Converting Encoder Ticks to a Distance](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/autonomous-navigation-onbot/converting-encoder-ticks-to-a-distance.md)
- [Moving to a Target Distance](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/autonomous-navigation-onbot/moving-to-a-target-distance.md)
- [Setting Velocity](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/autonomous-navigation-onbot/setting-velocity.md)
- [Turning the Drivetrain Using RUN\_TO\_POSITION](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/autonomous-navigation-onbot/turning-the-drivetrain-using-run_to_position.md)
- [Arm Control with Encoders - OnBot Java](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/arm-control-with-encoders-onbot-java.md)
- [Estimating the Position of the Arm](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/arm-control-with-encoders-onbot-java/estimating-the-position-of-the-arm.md)
- [Calculating Target Position](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/arm-control-with-encoders-onbot-java/calculating-target-position.md)
- [Using Limits to Control Range of Motion](https://docs.revrobotics.com/duo-control/hello-robot-java/part-3/arm-control-with-encoders-onbot-java/using-limits-to-control-range-of-motion.md)
