.. pybricks-requirements::

:mod:`pupdevices <pybricks.pupdevices>` -- Motors, sensors, lights
==================================================================

.. automodule:: pybricks.pupdevices
    :no-members:

.. toctree::
   :maxdepth: 1
   :hidden:

   dcmotor
   motor
   tiltsensor
   infraredsensor
   colordistancesensor
   pfmotor
   colorsensor
   ultrasonicsensor
   forcesensor
   colorlightmatrix
   light
   remote

.. pybricks-classlink:: DCMotor

.. figure:: ../../main/cad/output/pupdevice-dcmotors.png
    :width: 70 %
    :target: dcmotor.html

.. pybricks-classlink:: Motor

.. figure:: ../../main/cad/output/pupdevice-motors.png
    :width: 100 %
    :target: motor.html

.. pybricks-classlink:: TiltSensor

.. figure:: ../../main/cad/output/pupdevice-tilt.png
   :width: 35 %
   :target: tiltsensor.html

.. pybricks-classlink:: InfraredSensor

.. figure:: ../../main/cad/output/pupdevice-infrared.png
   :width: 35 %
   :target: infraredsensor.html

.. pybricks-classlink:: ColorDistanceSensor

.. figure:: ../../main/cad/output/pupdevice-colordistance.png
   :width: 32 %
   :target: colordistancesensor.html

.. pybricks-classlink:: PFMotor

.. figure:: ../../main/cad/output/pupdevice-pfmotor.png
   :width: 95 %
   :target: pfmotor.html

.. pybricks-classlink:: ColorSensor

.. figure:: ../../main/cad/output/pupdevice-color.png
   :width: 32 %
   :target: colorsensor.html

.. pybricks-classlink:: UltrasonicSensor

.. figure:: ../../main/cad/output/pupdevice-ultrasonic.png
   :width: 37 %
   :target: ultrasonicsensor.html

.. pybricks-classlink:: ForceSensor

.. figure:: ../../main/cad/output/pupdevice-force.png
   :width: 35 %
   :target: forcesensor.html

.. pybricks-classlink:: ColorLightMatrix

.. figure:: ../../main/diagrams/sensor_colorlightmatrix.png
   :width: 35 %
   :target: colorlightmatrix.html

.. pybricks-classlink:: Light

.. figure:: ../../main/cad/output/pupdevice-light.png
   :width: 35 %
   :target: light.html

.. pybricks-classlink:: Remote

.. figure:: ../../main/cad/output/pupdevice-remote.png
   :width: 50 %
   :target: remote.html
