diff --git a/source/docs/getting-started/installation/images/gpiopinout.jpg b/source/docs/getting-started/installation/images/gpiopinout.jpg new file mode 100644 index 00000000..34c269f5 Binary files /dev/null and b/source/docs/getting-started/installation/images/gpiopinout.jpg differ diff --git a/source/docs/getting-started/installation/wiring.rst b/source/docs/getting-started/installation/wiring.rst index 9a0f9bfa..09b72f22 100644 --- a/source/docs/getting-started/installation/wiring.rst +++ b/source/docs/getting-started/installation/wiring.rst @@ -28,7 +28,13 @@ Coprocessor without Passive POE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1a. Option 1: Get a micro USB (may be USB-C if using a newer Pi) to USB-A cable and plug the USB A side into a regulator like `this `_. Then, wire the regulator into your PDP/PDB and the Micro USB / USB C into your coprocessor. -1b. Option 2: Use a USB power bank to power your coprocessor. Refer to this year's robot rulebook on legal implementations of this. +.. note:: Raspberry Pi 5 may need a higher current power supply like the one in option 1b. + +1b. Option 2: Get a `DC regulator `_ and use two wires to the ground and 5v gpio pins on the PI. + +.. image:: images/gpiopinout.jpg + +1c. Option 3: Use a USB power bank to power your coprocessor. Refer to this year's robot rulebook on legal implementations of this. 1. Run an ethernet cable from your Pi to your network switch / radio (we *STRONGLY* recommend the usage of a network switch, see the networking section for more info.) diff --git a/source/docs/hardware/images/pi4.png b/source/docs/hardware/images/pi4.png new file mode 100644 index 00000000..07666b68 Binary files /dev/null and b/source/docs/hardware/images/pi4.png differ diff --git a/source/docs/hardware/images/pi4cable.png b/source/docs/hardware/images/pi4cable.png new file mode 100644 index 00000000..cc52694d Binary files /dev/null and b/source/docs/hardware/images/pi4cable.png differ diff --git a/source/docs/hardware/images/pi5.png b/source/docs/hardware/images/pi5.png new file mode 100644 index 00000000..2a53e898 Binary files /dev/null and b/source/docs/hardware/images/pi5.png differ diff --git a/source/docs/hardware/images/pi5cable.png b/source/docs/hardware/images/pi5cable.png new file mode 100644 index 00000000..7ca9edac Binary files /dev/null and b/source/docs/hardware/images/pi5cable.png differ diff --git a/source/docs/hardware/index.rst b/source/docs/hardware/index.rst index a4cb5e79..68945601 100644 --- a/source/docs/hardware/index.rst +++ b/source/docs/hardware/index.rst @@ -5,6 +5,7 @@ Hardware :maxdepth: 2 supportedhardware + picamerawiring picamconfig customhardware config diff --git a/source/docs/hardware/picamconfig.rst b/source/docs/hardware/picamconfig.rst index 4e053a8c..ec194929 100644 --- a/source/docs/hardware/picamconfig.rst +++ b/source/docs/hardware/picamconfig.rst @@ -13,7 +13,7 @@ The GPU is not always capable of detecting other cameras automatically. The file Updating ``config.txt`` ----------------------- -After flashing the pi image onto an SD card, open the ``boot`` segment in a file browser. +After flashing the Pi image onto an SD card, open the ``boot`` segment in a file browser. .. note:: Windows may report "There is a problem with this drive". This should be ignored. @@ -33,13 +33,17 @@ Within the file, find this block of text: ### IMX290/327/OV9281/Any other cameras that require additional overlays: ### Comment out (add a # ) to camera_auto_detect=1, and uncomment the line for ### the sensor you're trying to user + ### On devices with multiple CSI cameras like the CM4 and Pi 5 you will need to + ### declare which port each camera is plugged into (assuming your not using + ### autodetect). Remove the # before ",cam0" to define if a camera is plugged into + ### csi0. The config automatically assumes no port definition to be CSI1. cameraAutoDetect=1 - # dtoverlay=imx290,clock-frequency=74250000 - # dtoverlay=imx290,clock-frequency=37125000 - # dtoverlay=imx378 - # dtoverlay=ov9281 + # dtoverlay=imx290,clock-frequency=74250000#,cam0 + # dtoverlay=imx290,clock-frequency=37125000#,cam0 + # dtoverlay=imx378#,cam0 + # dtoverlay=ov9281#,cam0 ############################################################## diff --git a/source/docs/hardware/picamerawiring.rst b/source/docs/hardware/picamerawiring.rst new file mode 100644 index 00000000..9f28a4a7 --- /dev/null +++ b/source/docs/hardware/picamerawiring.rst @@ -0,0 +1,27 @@ +Pi Camera Wiring +================ + +Background +---------- + +The Raspberry Pi boards feature dedicated CSI ports (1 on Pi 3 and 4, while Pi 5 and CM4 have two), which is a ribbon cable connector designed for connecting a camera module to the Raspberry Pi. This port allows users to attach a compatible camera and leverage its capabilities for various applications, such as image and video capture, computer vision projects, and more. + +.. warning:: Incorrect camera connection may not work or cause damage to the board or camera. +.. warning:: Long ribbon cables are not recommended for use in FRC as they are very fragile and may be susceptible to noise. +.. warning:: Please note which connector your Raspberry Pi has before you purchase one (they have different pin counts). + +Pi 3 and 4 +---------- + +The Raspberry Pi 3 and 4 both have a single 15 pin CSI camera port. + +.. image:: images/pi4.png +.. image:: images/pi4cable.png + +Pi 5 +---- + +The Raspberry Pi 5 has two much smaller 22 pin CSI camera port. + +.. image:: images/pi5.png +.. image:: images/pi5cable.png diff --git a/source/docs/hardware/supportedhardware.rst b/source/docs/hardware/supportedhardware.rst index b850ec36..7328ce24 100644 --- a/source/docs/hardware/supportedhardware.rst +++ b/source/docs/hardware/supportedhardware.rst @@ -16,7 +16,7 @@ Pi cameras are always recommended over USB cameras as they have lower latency an * The V1 is strongly preferred over the V2 due to the V2 having undesirable FOV choices -* `Innomaker OV9281 Global Shutter Camera `_ (AprilTag Tracking) +* `Innomaker OV9281 Global Shutter Camera `_ (AprilTag Tracking) (Currently not supported on Pi 5) .. note:: Note that there are many CSI based OV9281 cameras but this is the only one that has been tested by the development team. @@ -34,7 +34,7 @@ Pi cameras are always recommended over USB cameras as they have lower latency an The following cameras / setups are known to not work: - * Using two of the same USB cameras does not currently work because it is hard to identify the two different cameras. + * OV9281 on Pi 5 current does not work since tuning files dont exist from Raspberry Pi yet. * Most Logitech cameras (specifically the Logitech C270 HD Webcam (PN: 960-000694)) will not work with PhotonVision. @@ -44,8 +44,8 @@ Pi cameras are always recommended over USB cameras as they have lower latency an Supported Coprocessors ---------------------- -* Raspberry Pi 3 / 4, with the newest variants of each being preferred (3B+ and B, respectively). -* Raspberry Pi 4 is preferred for all forms of target tracking. +* Raspberry Pi 4 and 5, with the newest variants of each being preferred (3B+ and B, respectively). +* Raspberry Pi 4 is preferred for all forms of target tracking, Raspberry Pi 5 will have better preformance however has much less testing. * Orange Pi 4 / 5 will have better performance but will require more work to get working. * Mini PCs (such as Beelink N5095) have been testing and show significantly better performance than a Raspberry Pi, but require extra effort to wire to the robot / get set up. More information can be found in the set up guide `here. `_ * Other coprocessors can be used but may require some extra work / command line usage in order to get it working properly. @@ -86,7 +86,7 @@ Support Levels * All features will work * Everything will be kept up to date - * Gloworm - * Raspberry Pi 3 and Raspberry Pi 4 with the official Pi image with the Pi Cam or CSCore compatible USB Cameras + * Raspberry Pi 3, 4, and 5 with the official Pi image with the Pi Cam or CSCore compatible USB Cameras * - Compatible - * No guarantee of support on Discord * Major features will work