> 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-blocks.md).

# Hello Robot - Intro to Blocks Programming

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