# Hello Robot - Intro to Blocks Programming

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