# XRP Hardware Support The XRP robot, having a different hardware architecture than a roboRIO, is compatible with a subset of commonly used FIRST control system components. ## Compatible Hardware In general, the XRP is compatible with the following: - Hobby DC motors with built-in encoders (6-pin connector) - Standard RC-style :term:`PWM` output devices (e.g. servos, PWM based motor controllers) - "Ping" style ultrasonic sensors (only when connected to the RANGE port) ## Incompatible Hardware Due to hardware limitations, the XRP is not compatible with the following: - Encoders other than those already integrated into hobby motors - Timing based sensors - CAN based devices ## Compatible Classes All classes listed here are supported by the XRP. If a class is not listed here, assume that it is not supported and *will not* work. - ``Encoder`` - ``AnalogInput`` - ``DigitalInput`` - ``DigitalOutput`` - ``BuiltInAccelerometer`` .. note:: The PWM motor controller classes (e.g. ``Spark``) and ``Servo`` are not supported. The XRP requires use of specialized ``XRPMotor`` and ``XRPServo`` classes. The following classes are provided by the XRP Vendordep (built-in to WPILib). - ``XRPGyro`` - ``XRPMotor`` - ``XRPServo`` - ``XRPOnBoardIO``