diff --git a/documentation/asciidoc/accessories/build-hat/introduction.adoc b/documentation/asciidoc/accessories/build-hat/introduction.adoc index bb08dfb471..3ee1e7fd8b 100644 --- a/documentation/asciidoc/accessories/build-hat/introduction.adoc +++ b/documentation/asciidoc/accessories/build-hat/introduction.adoc @@ -9,7 +9,7 @@ NOTE: A full list of supported devices can be found in the xref:build-hat.adoc#d It provides four connectors for LEGO® Technic™ motors and sensors from the SPIKE™ Portfolio. The available sensors include a distance sensor, a colour sensor, and a versatile force sensor. The angular motors come in a range of sizes and include integrated encoders that can be queried to find their position. -The Build HAT fits all Raspberry Pi computers with a 40-pin GPIO header, including, with the addition of a ribbon cable or other extension device, Raspberry Pi 400. Connected LEGO® Technic™ devices can easily be controlled in Python, alongside standard Raspberry Pi accessories such as a camera module. +The Build HAT fits all Raspberry Pi computers with a 40-pin GPIO header, including, with the addition of a ribbon cable or other extension device, Keyboard-series devices. Connected LEGO® Technic™ devices can easily be controlled in Python, alongside standard Raspberry Pi accessories such as a camera module. The Raspberry Pi Build HAT power supply (PSU), which is https://raspberrypi.com/products/build-hat-power-supply[available separately], is designed to power both the Build HAT and Raspberry Pi computer along with all connected LEGO® Technic™ devices. @@ -17,7 +17,7 @@ image::images/psu.jpg[width="80%"] The LEGO® Education SPIKE™ Prime Set 45678 and SPIKE™ Prime Expansion Set 45681, available separately from LEGO® Education resellers, include a collection of useful elements supported by the Build HAT. -NOTE: The HAT works with all 40-pin GPIO Raspberry Pi boards, including Raspberry Pi 4 and Raspberry Pi Zero. With the addition of a ribbon cable or other extension device, it can also be used with Raspberry Pi 400. +NOTE: The HAT works with all 40-pin GPIO Raspberry Pi boards, including Zero-series devices. With the addition of a ribbon cable or other extension device, it can also be used with Keyboard-series devices. * Controls up to 4 LEGO® Technic™ motors and sensors included in the SPIKE™ Portfolio * Easy-to-use https://buildhat.readthedocs.io/[Python library] to control your LEGO® Technic™ devices @@ -27,5 +27,5 @@ NOTE: The HAT works with all 40-pin GPIO Raspberry Pi boards, including Raspberr [NOTE] ==== -The Build HAT cannot power the Raspberry Pi 400, since it does not support power supply over the GPIO headers. +The Build HAT cannot power Keyboard-series devices, since they do not support power supply over the GPIO headers. ==== diff --git a/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc b/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc index dfe7a2ace2..86c04dacc4 100644 --- a/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc +++ b/documentation/asciidoc/accessories/build-hat/preparing-build-hat.adoc @@ -61,11 +61,11 @@ You will need to reboot at this point if you have made any changes. === Power the Build HAT -Connect an external power supply — the https://raspberrypi.com/products/build-hat-power-supply[official Raspberry Pi Build HAT power supply] is recommended — however any reliable +8V±10% power supply capable of supplying 48W via a DC 5521 centre positive barrel connector (5.5mm × 2.1mm × 11mm) will power the Build HAT. You don't need to connect an additional USB power supply to the Raspberry Pi as well, unless you are using a Raspberry Pi 400. +Connect an external power supply — the https://raspberrypi.com/products/build-hat-power-supply[official Raspberry Pi Build HAT power supply] is recommended — however any reliable +8V±10% power supply capable of supplying 48W via a DC 5521 centre positive barrel connector (5.5mm × 2.1mm × 11mm) will power the Build HAT. You don't need to connect an additional USB power supply to the Raspberry Pi unless you are using a Keyboard-series device. [NOTE] ==== -The Build HAT can not power the Raspberry Pi 400 as it does not support being powered via the GPIO headers. +The Build HAT cannot power Keyboard-series devices, since they do not support power supply over the GPIO headers. ==== image::images/powering-build-hat.gif[width="80%"] diff --git a/documentation/asciidoc/accessories/camera/camera_hardware.adoc b/documentation/asciidoc/accessories/camera/camera_hardware.adoc index 6470e0fb7b..d8cdb35b95 100644 --- a/documentation/asciidoc/accessories/camera/camera_hardware.adoc +++ b/documentation/asciidoc/accessories/camera/camera_hardware.adoc @@ -25,7 +25,7 @@ Finally, there is the Global Shutter camera, which was http://raspberrypi.com/ne .Global Shutter Camera image::images/gs-camera.jpg[GS Camera] -NOTE: Raspberry Pi Camera Modules are compatible with all Raspberry Pi computers with CSI connectors - that is, all models except Raspberry Pi 400 and the 2016 launch version of Zero. +NOTE: Raspberry Pi Camera Modules are compatible with all Raspberry Pi computers with CSI connectors. === Rolling or Global shutter? diff --git a/documentation/asciidoc/accessories/display/display_intro.adoc b/documentation/asciidoc/accessories/display/display_intro.adoc index e93e8181b8..424540ab68 100644 --- a/documentation/asciidoc/accessories/display/display_intro.adoc +++ b/documentation/asciidoc/accessories/display/display_intro.adoc @@ -1,11 +1,11 @@ == Raspberry Pi Touch Display -The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display that connects to the Raspberry Pi using a DSI connector and GPIO connector. +The https://www.raspberrypi.com/products/raspberry-pi-touch-display/[Raspberry Pi Touch Display] is an LCD display that connects to a Raspberry Pi using a DSI connector and GPIO connector. .The Raspberry Pi 7-inch Touch Display image::images/display.png[The Raspberry Pi 7-inch Touch Display, width="70%"] -The Touch Display is compatible with all models of Raspberry Pi, except Raspberry Pi Zero and Zero 2 W, which lack a DSI connector. The earliest Raspberry Pi models lack appropriate mounting holes, requiring additional mounting hardware to fit the stand-offs on the display PCB. +The Touch Display is compatible with all models of Raspberry Pi, except the Zero series and Keyboard series, which lack a DSI connector. The earliest Raspberry Pi models lack appropriate mounting holes, requiring additional mounting hardware to fit the stand-offs on the display PCB. The display has the following key features: diff --git a/documentation/asciidoc/accessories/monitor.adoc b/documentation/asciidoc/accessories/monitor.adoc new file mode 100644 index 0000000000..b100eb439b --- /dev/null +++ b/documentation/asciidoc/accessories/monitor.adoc @@ -0,0 +1 @@ +include::monitor/monitor_intro.adoc[] diff --git a/documentation/asciidoc/accessories/monitor/images/drill-hole-template.pdf b/documentation/asciidoc/accessories/monitor/images/drill-hole-template.pdf new file mode 100644 index 0000000000..1d77318e3c Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/drill-hole-template.pdf differ diff --git a/documentation/asciidoc/accessories/monitor/images/drill-hole-template.png b/documentation/asciidoc/accessories/monitor/images/drill-hole-template.png new file mode 100644 index 0000000000..a1553774a8 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/drill-hole-template.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/mechanical-drawing.pdf b/documentation/asciidoc/accessories/monitor/images/mechanical-drawing.pdf new file mode 100644 index 0000000000..d74544841f Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/mechanical-drawing.pdf differ diff --git a/documentation/asciidoc/accessories/monitor/images/mechanical-drawing.png b/documentation/asciidoc/accessories/monitor/images/mechanical-drawing.png new file mode 100644 index 0000000000..41faee30b5 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/mechanical-drawing.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/monitor-hero.png b/documentation/asciidoc/accessories/monitor/images/monitor-hero.png new file mode 100644 index 0000000000..dbaa5f56dc Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/monitor-hero.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/no-hdmi.png b/documentation/asciidoc/accessories/monitor/images/no-hdmi.png new file mode 100644 index 0000000000..408ad418ba Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/no-hdmi.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/no-valid-hdmi-signal-standby.png b/documentation/asciidoc/accessories/monitor/images/no-valid-hdmi-signal-standby.png new file mode 100644 index 0000000000..2c03121189 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/no-valid-hdmi-signal-standby.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/not-supported-resolution.png b/documentation/asciidoc/accessories/monitor/images/not-supported-resolution.png new file mode 100644 index 0000000000..5334217389 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/not-supported-resolution.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/power-saving-mode.png b/documentation/asciidoc/accessories/monitor/images/power-saving-mode.png new file mode 100644 index 0000000000..106694ee18 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/power-saving-mode.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_1.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_1.jpeg new file mode 100644 index 0000000000..dd6c318126 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_1.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_10.png b/documentation/asciidoc/accessories/monitor/images/repair_10.png new file mode 100644 index 0000000000..ff4643235c Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_10.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_11.png b/documentation/asciidoc/accessories/monitor/images/repair_11.png new file mode 100644 index 0000000000..08e9e995e7 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_11.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_12.png b/documentation/asciidoc/accessories/monitor/images/repair_12.png new file mode 100644 index 0000000000..5a29bc9383 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_12.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_13.png b/documentation/asciidoc/accessories/monitor/images/repair_13.png new file mode 100644 index 0000000000..1ce5c4f14b Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_13.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_14.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_14.jpeg new file mode 100644 index 0000000000..614fc7e2a1 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_14.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_15.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_15.jpeg new file mode 100644 index 0000000000..de08d27e56 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_15.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_16.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_16.jpeg new file mode 100644 index 0000000000..3085831cd6 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_16.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_17.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_17.jpeg new file mode 100644 index 0000000000..f819226a71 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_17.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_19.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_19.jpeg new file mode 100644 index 0000000000..697ed206fc Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_19.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_2.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_2.jpeg new file mode 100644 index 0000000000..e856e3b06d Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_2.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_20.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_20.jpeg new file mode 100644 index 0000000000..69f97d64ac Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_20.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_21.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_21.jpeg new file mode 100644 index 0000000000..0acb14feb6 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_21.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_22.png b/documentation/asciidoc/accessories/monitor/images/repair_22.png new file mode 100644 index 0000000000..99f0cdc170 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_22.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_23.png b/documentation/asciidoc/accessories/monitor/images/repair_23.png new file mode 100644 index 0000000000..de8d7ad39b Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_23.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_25.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_25.jpeg new file mode 100644 index 0000000000..5070f0496b Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_25.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_3.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_3.jpeg new file mode 100644 index 0000000000..d3a9b8e586 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_3.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_4.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_4.jpeg new file mode 100644 index 0000000000..7515cb6bb0 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_4.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_5.jpeg b/documentation/asciidoc/accessories/monitor/images/repair_5.jpeg new file mode 100644 index 0000000000..6791b6a49a Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_5.jpeg differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_6.png b/documentation/asciidoc/accessories/monitor/images/repair_6.png new file mode 100644 index 0000000000..a9a4f359d9 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_6.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_7.png b/documentation/asciidoc/accessories/monitor/images/repair_7.png new file mode 100644 index 0000000000..80300d30dc Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_7.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_8.png b/documentation/asciidoc/accessories/monitor/images/repair_8.png new file mode 100644 index 0000000000..f5a48b8d27 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_8.png differ diff --git a/documentation/asciidoc/accessories/monitor/images/repair_9.png b/documentation/asciidoc/accessories/monitor/images/repair_9.png new file mode 100644 index 0000000000..8bf2ed7f44 Binary files /dev/null and b/documentation/asciidoc/accessories/monitor/images/repair_9.png differ diff --git a/documentation/asciidoc/accessories/monitor/monitor_intro.adoc b/documentation/asciidoc/accessories/monitor/monitor_intro.adoc new file mode 100644 index 0000000000..ae747671ac --- /dev/null +++ b/documentation/asciidoc/accessories/monitor/monitor_intro.adoc @@ -0,0 +1,119 @@ +== Raspberry Pi Monitor + +The https://www.raspberrypi.com/products/raspberry-pi-monitor/[Raspberry Pi Monitor] is a 15.6" 1920 × 1080p IPS LCD display that connects to a computer using an HDMI cable. The Monitor also requires a USB-C power source. For full brightness and volume range, this must be a USB-PD source capable of at least 1.5A of current. + +.The Raspberry Pi Monitor +image::images/monitor-hero.png[The Raspberry Pi Monitor, width="100%"] + +The Monitor is compatible with all models of Raspberry Pi that support HDMI output. + +=== Controls + +The back of the Monitor includes the following controls: + +* a button that enters and exits Standby mode (indicated by the ⏻ (power) symbol) +* buttons that increase and decrease display brightness (indicated by the 🔆 (sun) symbol) +* buttons that increase and decrease speaker volume (indicated by the 🔈 (speaker) symbol) + +=== On screen display messages + +The on-screen display (OSD) may show the following messages: + +[cols="1a,6"] +|=== +| Message | Description + +| image::images/no-hdmi.png[No HDMI signal detected] +| No HDMI signal detected. + +| image::images/no-valid-hdmi-signal-standby.png[Standby mode] +| The monitor will soon enter standby mode to conserve power. + +| image::images/not-supported-resolution.png[Unsupported resolution] +| The output display resolution of the connected device is not supported. + +| image::images/power-saving-mode.png[Power saving mode] +| The monitor is operating in Power Saving mode, with reduced brightness and volume, because the monitor is not connected to a power supply capable of delivering 1.5A of current or greater. +|=== + +Additionally, the OSD shows information about display brightness changes using the 🔆 (sun) symbol, and speaker volume level changes using the 🔈 (speaker) symbol. Both brightness and volume use a scale that ranges from 0 to 100. + +TIP: If you attempt to exit Standby mode when the display cannot detect an HDMI signal, the red LED beneath the Standby button will briefly light, but the display will remain in Standby mode. + +=== Position the Monitor + +Use the following approaches to position the Monitor: + +* Angle the Monitor on the integrated stand. +* Mount the Monitor on an arm or stand using the four VESA mount holes on the back of the red rear plastic housing. ++ +IMPORTANT: Use spacers to ensure adequate space for display and power cable egress. +* Flip the integrated stand fully upwards, towards the top of the monitor. Use the drill hole template to create two mounting points spaced 55mm apart. Hang the Monitor using the slots on the back of the integrated stand. ++ +.Drill hole template +image::images/drill-hole-template.png[Drill hole template, width="40%"] + +=== Power the Monitor + +The Raspberry Pi Monitor draws power from a 5V https://en.wikipedia.org/wiki/USB_hardware#USB_Power_Delivery[USB Power Delivery] (USB-PD) power source. Many USB-C power supplies, including the official power supplies for the Raspberry Pi 4 and Raspberry Pi 5, support this standard. + +When using a power source that provides at least 1.5A of current over USB-PD, the Monitor operates in **Full Power mode**. In Full Power mode, you can use the full range (0%-100%) of display brightness and speaker volume. + +When using a power source that does _not_ supply at least 1.5A of current over USB-PD (including all USB-A power sources), the Monitor operates in **Power Saving mode**. Power Saving mode limits the maximum display brightness and the maximum speaker volume to ensure reliable operation. In Power Saving mode, you can use a limited range (0-50%) of display brightness and a limited range (0-60%) of speaker volume. When powered from a Raspberry Pi, the Monitor operates in Power Saving mode, since Raspberry Pi devices cannot provide 1.5A of current over a USB-A connection. + +To switch from Power Saving mode to Full Power mode, press and hold the *increase brightness* button for 3 seconds. + +[TIP] +==== +If the Monitor flashes on and off, your USB power supply is not capable of providing sufficient current to power the monitor. This can happen if you power the Monitor from a Raspberry Pi 5 or Pi 500 which is itself powered by a 5V/3A power supply. Try the following fixes to stop the Monitor from flashing on and off: + +* reduce the display brightness and volume (you may have to connect your monitor to another power supply to access the settings) +* switch to a different power source or cable + +==== + +=== Specification + +Diagonal: 15.6" + +Resolution: 1920 × 1080 + +Type: IPS LCD + +Colour gamut: 45% + +Contrast: 800:1 + +Brightness: 250cd/m^2^ + +Screen coating: Anti-glare 3H hardness + +Display area: 344 × 193mm + +Dimensions: 237 × 360 × 20mm + +Weight: 850g + +Supported resolutions: + +* 1920 × 1080p @ 50/60Hz +* 1280 × 720p @ 50/60Hz +* 720 × 576p @ 50/60Hz +* 720 × 480p @ 50/60Hz +* 640 × 480p @ 50/60Hz + +Input: HDMI 1.4; supports DDC-CI + +Power input: USB-C; requires 1.5A over USB-PD at 5V for full brightness and volume range + +Power consumption: 4.5-6.5W during use; < 0.1W at idle + +Speakers: 2 × 1.2W (stereo) + +Ports: 3.5mm audio jack + + +=== Mechanical drawing + +.Mechanical Drawing +image::images/mechanical-drawing.png[Mechanical drawing, width="80%"] diff --git a/documentation/asciidoc/accessories/touch-display-2/about.adoc b/documentation/asciidoc/accessories/touch-display-2/about.adoc index a3ef371680..35763f58e0 100644 --- a/documentation/asciidoc/accessories/touch-display-2/about.adoc +++ b/documentation/asciidoc/accessories/touch-display-2/about.adoc @@ -15,7 +15,7 @@ The Touch Display 2 connects to a Raspberry Pi using a DSI connector and GPIO co * powered directly by the host Raspberry Pi, requiring no separate power supply * supports up to five points of simultaneous multi-touch -The Touch Display 2 is compatible with all models of Raspberry Pi from Raspberry Pi 1B+ onwards, except Raspberry Pi Zero and Zero 2 W, which lack a DSI connector. +The Touch Display 2 is compatible with all models of Raspberry Pi from Raspberry Pi 1B+ onwards, except the Zero series and Keyboard series, which lack a DSI connector. The Touch Display 2 box contains the following parts (in left to right, top to bottom order in the image below): diff --git a/documentation/asciidoc/computers/camera/rpicam_still.adoc b/documentation/asciidoc/computers/camera/rpicam_still.adoc index 25caf4d34b..9c128564ba 100644 --- a/documentation/asciidoc/computers/camera/rpicam_still.adoc +++ b/documentation/asciidoc/computers/camera/rpicam_still.adoc @@ -107,68 +107,73 @@ To find the maximum exposure times of official Raspberry Pi cameras, see xref:.. To create a time lapse video, capture a still image at a regular interval, such as once a minute, then use an application to stitch the pictures together into a video. -===== via `rpicam-still` time lapse mode - +[tabs%sync] +====== +`rpicam-still` time lapse mode:: ++ To use the built-in time lapse mode of `rpicam-still`, use the xref:camera_software.adoc#timelapse[`timelapse`] option. This option accepts a value representing the period of time you want your Raspberry Pi to wait between captures, in milliseconds. - ++ First, create a directory where you can store your time lapse photos: - ++ [source,console] ---- $ mkdir timelapse ---- - ++ Run the following command to create a time lapse over 30 seconds, recording a photo every two seconds, saving output into `image0000.jpg` through `image0013.jpg`: - ++ [source,console] ---- $ rpicam-still --timeout 30000 --timelapse 2000 -o timelapse/image%04d.jpg ---- -===== via `cron` - +`cron`:: ++ You can also automate time lapses with `cron`. First, create the script, named `timelapse.sh` containing the following commands. Replace the `` placeholder with the name of your user account on your Raspberry Pi: - ++ +[source,bash] ---- #!/bin/bash DATE=$(date +"%Y-%m-%d_%H%M") rpicam-still -o /home//timelapse/$DATE.jpg ---- - ++ Then, make the script executable: - ++ [source,console] ---- $ chmod +x timelapse.sh ---- - ++ Create the `timelapse` directory into which you'll save time lapse pictures: - ++ [source,console] ---- $ mkdir timelapse ---- - ++ Open your crontab for editing: - ++ [source,console] ---- $ crontab -e ---- - ++ Once you have the file open in an editor, add the following line to schedule an image capture every minute, replacing the `` placeholder with the username of your primary user account: - ++ ---- * * * * * /home//timelapse.sh 2>&1 ---- - ++ Save and exit, and you should see this message: - ++ ---- crontab: installing new crontab ---- ++ +To stop recording images for the time lapse, run `crontab -e` again and remove the above line from your crontab. -TIP: To stop recording images for the time lapse, run `crontab -e` again and remove the above line from your crontab. +====== ===== Stitch images together diff --git a/documentation/asciidoc/computers/config_txt/boot.adoc b/documentation/asciidoc/computers/config_txt/boot.adoc index 351984dcb0..541c7db8ad 100644 --- a/documentation/asciidoc/computers/config_txt/boot.adoc +++ b/documentation/asciidoc/computers/config_txt/boot.adoc @@ -11,7 +11,7 @@ The `start_file` and the `fixup_file` are a matched pair - using unmatched files NOTE: Cut-down firmware (`start*cd.elf` and `fixup*cd.dat`) cannot be selected this way - the system will fail to boot. The only way to enable the cut-down firmware is to specify `gpu_mem=16`. The cut-down firmware removes support for codecs, 3D and debug logging as well as limiting the initial early-boot framebuffer to 1080p @16bpp - although KMS can replace this with up to 32bpp 4K framebuffer(s) at a later stage as with any firmware. -NOTE: The Raspberry Pi 5 firmware is self-contained in the bootloader EEPROM. +NOTE: The Raspberry Pi 5, Compute Module 5, and Raspberry Pi 500 firmware is self-contained in the bootloader EEPROM. === `cmdline` @@ -21,11 +21,10 @@ NOTE: The Raspberry Pi 5 firmware is self-contained in the bootloader EEPROM. `kernel` is the alternative filename on the boot partition for loading the kernel. The default value on the Raspberry Pi 1, Zero and Zero W, and Raspberry Pi Compute Module 1 is `kernel.img`. The default value on the Raspberry Pi 2, 3, 3+ and Zero 2 W, and Raspberry Pi Compute Modules 3 and 3+ is `kernel7.img`. The default value on the Raspberry Pi 4 and 400, and Raspberry Pi Compute Module 4 is `kernel8.img`, or `kernel7l.img` if `arm_64bit` is set to 0. -The Raspberry Pi 5 firmware defaults to loading `kernel_2712.img` because this image contains optimisations specific to Raspberry Pi 5 (e.g. 16K page-size). If this file is not present, then the common 64-bit kernel (`kernel8.img`) will be loaded instead. +The Raspberry Pi 5, Compute Module 5, and Raspberry Pi 500 firmware defaults to loading `kernel_2712.img` because this image contains optimisations specific to those models (e.g. 16K page-size). If this file is not present, then the common 64-bit kernel (`kernel8.img`) will be loaded instead. === `arm_64bit` - If set to 1, the kernel will be started in 64-bit mode. Setting to 0 selects 32-bit mode. In 64-bit mode, the firmware will choose an appropriate kernel (e.g. `kernel8.img`), unless there is an explicit `kernel` option defined, in which case that is used instead. @@ -42,9 +41,10 @@ Both forms may use the `img` file extension; the bootloader recognizes archives The following Raspberry Pi models support this flag: * 2B rev 1.2 -* 3 -* 3+ -* 4 +* 3B +* 3A+ +* 3B+ +* 4B * 400 * Zero 2 W * Compute Module 3 @@ -52,7 +52,7 @@ The following Raspberry Pi models support this flag: * Compute Module 4 * Compute Module 4S -Later models, such as Raspberry Pi 5, _only_ support the 64-bit kernel. Such models do not support this flag. +Flagship models since Raspberry Pi 5, Compute Modules since CM5, and Keyboard models since Pi 500 _only_ support the 64-bit kernel. Models that only support a 64-bit kernel ignore this flag. === `ramfsfile` @@ -109,11 +109,12 @@ See also <> and xref:legacy_config_txt.adoc#ups USB On-The-Go (often abbreviated to OTG) is a feature that allows supporting USB devices with an appropriate OTG cable to configure themselves as USB hosts. On older Raspberry Pis, a single USB 2 controller was used in both USB host and device mode. -Raspberry Pi 4B and Raspberry Pi 400 (not CM4 or CM4IO) add a high performance USB 3 controller, attached via PCIe, to drive the main USB ports. The legacy USB 2 controller is still available on the USB-C power connector for use as a device (`otg_mode=0`, the default). +Flagship models since Raspberry Pi 4B and Keyboard models since Pi 400 add a high-performance USB 3 controller, attached via PCIe, to drive the main USB ports. The legacy USB 2 controller is still available on the USB-C power connector for use as a device (`otg_mode=0`, the default). Compute Modules before CM5 do not include this high-performance USB 3 controller. + +`otg_mode=1` requests that a more capable XHCI USB 2 controller is used as an alternative host controller on that USB-C connector. -`otg_mode=1` requests that a more capable XHCI USB 2 controller is used as another host controller on that USB-C connector. +NOTE: By default, Raspberry Pi OS includes a line in `/boot/firmware/config.txt` that enables this setting on Compute Module 4. -NOTE: Because CM4 and CM4IO don't include the external USB 3 controller, Raspberry Pi OS images set `otg_mode=1` on CM4 for better performance. [[overlay_prefix]] === `overlay_prefix` @@ -260,7 +261,7 @@ Default: `0` [[program_rpiboot_gpio]] ==== `program_rpiboot_gpio` -Since there is no dedicated `nRPIBOOT` jumper on Raspberry Pi 4B or Raspberry Pi 400, an alternative GPIO must be used to select `RPIBOOT` mode by pulling the GPIO low. Select a single GPIO from the following options: +Compute Modules have a dedicated `nRPIBOOT` jumper to select `RPIBOOT` mode. Flagship and Keyboard Raspberry Pi devices with EEPROM lack a dedicated `nRPIBOOT` jumper. To select `RPIBOOT` mode on Flagship and Keyboard devices, pull one of the following GPIO pins low: * `2` * `4` @@ -269,9 +270,11 @@ Since there is no dedicated `nRPIBOOT` jumper on Raspberry Pi 4B or Raspberry Pi * `7` * `8` -This property does not depend on `secure-boot`, but verify that this GPIO configuration does not conflict with any HATs which might pull the GPIO low during boot. +This property does not depend on `secure-boot`. However, you should verify that this GPIO configuration does not conflict with any HATs which might pull the GPIO low during boot. + +For safety, this property can _only_ be programmed via `RPIBOOT`. As a result, you must first clear the bootloader EEPROM using `erase_eeprom`. This causes the ROM to failover to `RPIBOOT` mode, which then allows this option to be set. -Since for safety this property can only be programmed via `RPIBOOT`, the bootloader EEPROM must first be cleared using `erase_eeprom`. This causes the BCM2711 ROM to failover to `RPIBOOT` mode, which then allows this option to be set. +On BCM2712, you can alternatively force `RPIBOOT` mode by holding down the power button while simultaneously connecting a USB-C power supply. Default: `{nbsp}` diff --git a/documentation/asciidoc/computers/config_txt/common.adoc b/documentation/asciidoc/computers/config_txt/common.adoc index e040069131..442aefa5ed 100644 --- a/documentation/asciidoc/computers/config_txt/common.adoc +++ b/documentation/asciidoc/computers/config_txt/common.adoc @@ -2,19 +2,29 @@ === Common display options -==== `hdmi_enable_4kp60` (Raspberry Pi 4 only) +==== `hdmi_enable_4kp60` -By default, when connected to a 4K monitor, the Raspberry Pi 4B, 400 and CM4 will select a 30Hz refresh rate. Use this option to allow selection of 60Hz refresh rates. Raspberry Pi 4 does not support 4Kp60 output on both micro HDMI ports simultaneously. Setting `hdmi_enable_4kp60` increases power consumption and temperature. +NOTE: This option applies only to Raspberry Pi 4, Compute Module 4, Compute Module 4S, and Pi 400. + +By default, when connected to a 4K monitor, certain models select a 30Hz refresh rate. Use this option to allow selection of 60Hz refresh rates. Models impacted by this setting do _not_ support 4Kp60 output on both micro HDMI ports simultaneously. Enabling this setting increases power consumption and temperature. === Common hardware configuration options ==== `camera_auto_detect` -With this setting enabled (in Raspberry Pi OS it is enabled by default), the firmware will automatically load overlays for CSI cameras that it recognises. Set `camera_auto_detect=0` to disable the setting. +By default, Raspberry Pi OS includes a line in `/boot/firmware/config.txt` that enables this setting. + +When enabled, the firmware will automatically load overlays for recognised CSI cameras. + +To disable, set `camera_auto_detect=0`. ==== `display_auto_detect` -With this setting enabled (it is enabled by default in Raspberry Pi OS), the firmware will automatically load overlays for DSI displays that it recognises. Set `display_auto_detect=0` to disable. +Enabled by default. + +When enabled, the firmware will automatically load overlays for recognised DSI displays. + +To disable, set `display_auto_detect=0`. ==== `dtoverlay` @@ -26,14 +36,24 @@ For more details, see xref:configuration.adoc#part3.1[DTBs, overlays and config. ==== `dtparam` -Device Tree configuration files for Raspberry Pis support a number of parameters for such things as enabling I2C and SPI interfaces. Many DT overlays are configurable via the use of parameters. Both types of parameters can be supplied using the `dtparam` setting. In addition, overlay parameters can be appended to the `dtoverlay` option, separated by commas, but keep in mind the line length limit of 98 characters. +Device Tree configuration files for Raspberry Pi devices support various parameters for such things as enabling I2C and SPI interfaces. Many DT overlays are configurable via the use of parameters. Both types of parameters can be supplied using the `dtparam` setting. In addition, overlay parameters can be appended to the `dtoverlay` option, separated by commas, but keep in mind the line length limit of 98 characters. For more details, see xref:configuration.adoc#part3.1[DTBs, overlays and config.txt]. -==== `arm_boost` (Raspberry Pi 4 Only) +==== `arm_boost` + +NOTE: This option applies only to later Raspberry Pi 4B revisions which include two-phase power delivery, and all revisions of Pi 400. + +By default, Raspberry Pi OS includes a line in `/boot/firmware/config.txt` that enables this setting on supported devices. + +Some Raspberry Pi devices have a second switch-mode power supply for the SoC voltage rail. When enabled, increases the default turbo-mode clock from 1.5GHz to 1.8GHz. + +To disable, set `arm_boost=0`. + +==== `power_force_3v3_pwm` -All Raspberry Pi 400s and newer revisions of the Raspberry Pi 4B are equipped with a second switch-mode power supply for the SoC voltage rail, and this allows the default turbo-mode clock to be increased from 1.5GHz to 1.8GHz. This change is enabled by default in Raspberry Pi OS. Set `arm_boost=0` to disable. +NOTE: This option applies only to Raspberry Pi 5, Compute Module 5, and Pi 500. -==== `power_force_3v3_pwm` (Raspberry Pi 5 Only) +Forces PWM on 3.3V output from the GPIO header or CSI connector. -Forces PWM when using a 3V3 power supply. Set `power_force_3v3_pwm=0` to disable. +To disable, set `power_force_3v3_pwm=0`. diff --git a/documentation/asciidoc/computers/config_txt/conditional.adoc b/documentation/asciidoc/computers/config_txt/conditional.adoc index d5362bc710..b8ede5b39f 100644 --- a/documentation/asciidoc/computers/config_txt/conditional.adoc +++ b/documentation/asciidoc/computers/config_txt/conditional.adoc @@ -32,17 +32,32 @@ The conditional model filters apply according to the following table. | Model 4B, Pi 400, Compute Module 4, Compute Module 4S | `[pi5]` -| Raspberry Pi 5 +| Raspberry Pi 5, Compute Module 5, Pi 500 | `[pi400]` | Pi 400 (also sees `[pi4]` contents) +| `[pi500]` +| Pi 500 (also sees `[pi5]` contents) + +| `[cm1]` +| Compute Module 1 (also sees `[pi1]` contents) + +| `[cm3]` +| Compute Module 3 (also sees `[pi3]` contents) + +| `[cm3+]` +| Compute Module 3+ (also sees `[pi3+]` contents) + | `[cm4]` | Compute Module 4 (also sees `[pi4]` contents) | `[cm4s]` | Compute Module 4S (also sees `[pi4]` contents) +| `[cm5]` +| Compute Module 5 (also sees `[pi5]` contents) + | `[pi0]` | Zero, Zero W, Zero 2 W @@ -69,7 +84,13 @@ initramfs initrd.img-3.18.7-v7+ followkernel Remember to use the `[all]` filter at the end, so that any subsequent settings aren't limited to Raspberry Pi 2 hardware only. -NOTE: Some models of Raspberry Pi (Zero W, Zero 2 W, Model 3B+, Pi 400, Compute Module 4 and Compute Module 4S) see the settings for multiple filters (as listed in the table above). This means that if you want a setting to apply only to (e.g.) a Model 4B without _also_ applying that setting to a Pi 400, then the setting in the `[pi4]` section would need to be reverted by an alternate setting in a following `[pi400]` section - the ordering of such sections is significant. Alternatively, you could use a `[board-type=0x11]` filter which has a one-to-one mapping to different hardware products. +[NOTE] +==== +Some models of Raspberry Pi, including Zero, Compute Module, and Keyboard models, read settings from multiple filters. To apply a setting to only one model: + +* apply the setting to the base model (e.g. `[pi4]`), then revert the setting for all models that read the base model's filters (e.g. `[pi400]`, `[cm4]`, `[cm4s]`) +* use the `board-type` filter with a revision code to target a single model (e.g. `[board-type=0x11]`) +==== === The `[none]` filter diff --git a/documentation/asciidoc/computers/config_txt/overclocking.adoc b/documentation/asciidoc/computers/config_txt/overclocking.adoc index bf25e35040..7eeefb8e19 100644 --- a/documentation/asciidoc/computers/config_txt/overclocking.adoc +++ b/documentation/asciidoc/computers/config_txt/overclocking.adoc @@ -326,7 +326,7 @@ The minimum core frequency when the system is idle must be fast enough to suppor | 550 |=== -NOTE: There is no need to use `hdmi_enable_4kp60` on Raspberry Pi 5; it supports dual-4Kp60 displays by default. +NOTE: There is no need to use `hdmi_enable_4kp60` on Flagship models since Raspberry Pi 5, Compute Modules since CM5, and Keyboard models since Pi 500; they support dual-4Kp60 displays by default. * Overclocking requires the latest firmware release. * The latest firmware automatically scales up the voltage if the system is overclocked. Manually setting `over_voltage` disables automatic voltage scaling for overclocking. diff --git a/documentation/asciidoc/computers/config_txt/video.adoc b/documentation/asciidoc/computers/config_txt/video.adoc index b126c0ef20..eac9fba9fc 100644 --- a/documentation/asciidoc/computers/config_txt/video.adoc +++ b/documentation/asciidoc/computers/config_txt/video.adoc @@ -4,21 +4,21 @@ To control HDMI settings, use the xref:configuration.adoc#set-resolution-and-rotation[Screen Configuration utility] or xref:configuration.adoc#set-the-kms-display-mode[KMS video settings] in `cmdline.txt`. -==== HDMI Pipeline for Raspberry Pi 4 +==== HDMI Pipeline for 4-series devices -In order to support dual displays and modes up to 4Kp60, the Raspberry Pi 4 generates 2 output pixels for every clock cycle. +In order to support dual displays and modes up to 4Kp60, Raspberry Pi 4, Compute Module 4, and Pi 400 generate 2 output pixels for every clock cycle. Every HDMI mode has a list of timings that control all the parameters around sync pulse durations. These are typically defined via a pixel clock, and then a number of active pixels, a front porch, sync pulse, and back porch for each of the horizontal and vertical directions. -Running everything at 2 pixels per clock means that the Raspberry Pi 4 cannot support a timing where _any_ of the horizontal timings are not divisible by 2. The firmware and Linux kernel filter out any mode that does not fulfil this criteria. +Running everything at 2 pixels per clock means that the 4-series devices cannot support a timing where _any_ of the horizontal timings are not divisible by 2. The firmware and Linux kernel filter out any mode that does not fulfil this criteria. There is only one incompatible mode in the CEA and DMT standards: DMT mode 81, 1366x768 @ 60Hz. This mode has odd-numbered values for the horizontal sync and back porch timings and a width that indivisible by 8. -If your monitor has this resolution, Raspberry Pi 4 automatically drops down to the next mode advertised by the monitor; typically 1280x720. +If your monitor has this resolution, 4-series devices automatically drop down to the next mode advertised by the monitor; typically 1280x720. -==== HDMI Pipeline for Raspberry Pi 5 +==== HDMI Pipeline for 5-series devices -While Raspberry Pi 5 also works at 2 output pixels per clock cycle, it has special handling for odd timings and can handle these modes directly. +Flagship models since Raspberry Pi 5, Compute Module models since CM5, and Keyboard models since Pi 500 also work at 2 output pixels per clock cycle. These models have special handling for odd timings and can handle these modes directly. === Composite video mode @@ -43,11 +43,11 @@ Composite video output can be found on each model of Raspberry Pi computer: | 3.5mm AV jack |=== -NOTE: Composite video output is not available on Raspberry Pi 400. +NOTE: Composite video output is not available on Keyboard models. ==== `enable_tvout` -Set to `1` to enable composite video output and `0` to disable. On Raspberry Pi 4 and 5, composite output is only available if you set this to `1`, which also disables HDMI output. Composite output is not available on the Raspberry Pi 400. +Set to `1` to enable composite video output and `0` to disable. On Flagship models since Raspberry Pi 4, Compute Modules since CM4, and Zero models, composite output is only available if you set this to `1`, which also disables HDMI output. Composite output is not available on Keyboard models. [%header,cols="1,1"] @@ -55,14 +55,14 @@ Set to `1` to enable composite video output and `0` to disable. On Raspberry Pi |Model |Default -|Pi 4, 5 and 400 +|Flagship models since Raspberry Pi 4B, Compute Modules since CM4, Keyboard models |0 |All other models |1 |=== -On all models except Raspberry Pi 4 and 5, HDMI output needs to be disabled in order for composite output to be enabled. HDMI output is disabled when no HDMI display is connected / detected. Set `enable_tvout=0` to prevent composite being enabled when HDMI is disabled. +On supported models, you must disable HDMI output to enable composite output. HDMI output is disabled when no HDMI display is detected. Set `enable_tvout=0` to prevent composite being enabled when HDMI is disabled. To enable composite output, append `,composite` to the end of the `dtoverlay=vc4-kms-v3d` line in xref:../computers/config_txt.adoc#what-is-config-txt[`/boot/firmware/config.txt`]: diff --git a/documentation/asciidoc/computers/configuration/audio-config.adoc b/documentation/asciidoc/computers/configuration/audio-config.adoc index bd07a98f5e..0c98456e7a 100644 --- a/documentation/asciidoc/computers/configuration/audio-config.adoc +++ b/documentation/asciidoc/computers/configuration/audio-config.adoc @@ -6,33 +6,38 @@ By default, Raspberry Pi OS outputs audio to HDMI 1. If no HDMI output is availa === Change audio output -This section explains the different methods that you can use to configure audio output in Raspberry Pi OS. +Use the following methods to configure audio output in Raspberry Pi OS: -==== via the desktop volume control +[[pro-audio-profile]] +[tabs%sync] +====== +Desktop volume control:: ++ Right-click the volume icon on the system tray to open the **audio output selector**. This interface lets you choose an audio output device. Click an audio output device to switch audio output to that device. - -===== Pro Audio profile - -You may see a device profile named Pro Audio when viewing an audio device in the audio output selector. This profile exposes the maximum number of channels across every audio device, allowing you greater control over the routing of signals. Unless you require fine-tuned control over audio output, use a different device profile. - ++ +You may see a device profile named **Pro Audio** when viewing an audio device in the audio output selector. This profile exposes the maximum number of channels across every audio device, allowing you greater control over the routing of signals. Unless you require fine-tuned control over audio output, use a different device profile. ++ For more information about the Pro Audio profile, visit https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ#what-is-the-pro-audio-profile[PipeWire's FAQ]. -==== via `raspi-config` - +`raspi-config`:: ++ To change your audio output using xref:configuration.adoc#raspi-config[`raspi-config`], run the following command: - ++ [source,console] ---- $ sudo raspi-config ---- - ++ You should see a configuration screen. Complete the following steps to change your audio output: - ++ . Select `System options` and press `Enter`. - ++ . Select the `Audio` option and press `Enter`. - ++ . Select your required mode and press `Enter` to select that mode. - ++ . Press the right arrow key to exit the options list. Select `Finish` to exit the configuration tool. +====== + + diff --git a/documentation/asciidoc/computers/configuration/boot_folder.adoc b/documentation/asciidoc/computers/configuration/boot_folder.adoc index 8b33f16725..98f4c7ff99 100644 --- a/documentation/asciidoc/computers/configuration/boot_folder.adoc +++ b/documentation/asciidoc/computers/configuration/boot_folder.adoc @@ -76,21 +76,21 @@ Various xref:linux_kernel.adoc#kernel[kernel] image files that correspond to Ras | `kernel7.img` | BCM2836, BCM2837 | Pi Zero 2 W, Pi 2, Pi 3 -| Later Pi 2 uses the BCM2837 +| Later revisions of Pi 2 use BCM2837 | `kernel7l.img` | BCM2711 -| Pi 4, Pi 400, CM4, CM4S +| Pi 4, CM4, CM4S, Pi 400 | Large Physical Address Extension (LPAE) | `kernel8.img` | BCM2837, BCM2711, BCM2712 -| Pi Zero 2 W, Pi 2, Pi 3, Pi 4, Pi 400, CM4, CM4S, Pi 5 -| xref:config_txt.adoc#boot-options[64-bit kernel]. Raspberry Pi 2 with BCM2836 does not support 64-bit kernels. +| Pi Zero 2 W, Pi 2 (later revisions), Pi 3, CM3, Pi 3+, CM3+, Pi 4, CM4, CM4S, Pi 400, CM5, Pi 5, Pi 500 +| xref:config_txt.adoc#boot-options[64-bit kernel]. Earlier revisions of Raspberry Pi 2 (with BCM2836) do not support 64-bit kernels. | `kernel_2712.img` | BCM2712 -| Pi 5 +| Pi 5, CM5, Pi 500 | Pi 5-optimized xref:config_txt.adoc#boot-options[64-bit kernel]. |=== diff --git a/documentation/asciidoc/computers/configuration/configuring-networking.adoc b/documentation/asciidoc/computers/configuration/configuring-networking.adoc index af239769d4..aea9de8203 100644 --- a/documentation/asciidoc/computers/configuration/configuring-networking.adoc +++ b/documentation/asciidoc/computers/configuration/configuring-networking.adoc @@ -10,7 +10,7 @@ NOTE: Starting with Raspberry Pi OS _Bookworm_, Network Manager is the default n Access Network Manager via the network icon at the right-hand end of the menu bar. If you are using a Raspberry Pi with built-in wireless connectivity, or if a wireless dongle is plugged in, click this icon to bring up a list of available wireless networks. If you see the message 'No APs found - scanning...', wait a few seconds, and Network Manager should find your network. -NOTE: Raspberry Pi devices that support dual-band wireless (Raspberry Pi 3B+, Raspberry Pi 4, Compute Module 4, Raspberry Pi 400 and Raspberry Pi 5) automatically disable networking until a you assign a wireless LAN country. To set a wireless LAN country, open the Raspberry Pi Configuration application from the Preferences menu, select *Localisation* and select your country from the menu. +NOTE: Devices with dual-band wireless automatically disable networking until you assign a wireless LAN country. Flagship models since Raspberry Pi 3B+, Compute Modules since CM4, and Keyboard models support dual-band wireless. To set a wireless LAN country, open the Raspberry Pi Configuration application from the Preferences menu, select *Localisation* and select your country from the menu. image::images/wifi2.png[wifi2] diff --git a/documentation/asciidoc/computers/configuration/device-tree.adoc b/documentation/asciidoc/computers/configuration/device-tree.adoc index 5504bfffe6..368a373763 100644 --- a/documentation/asciidoc/computers/configuration/device-tree.adoc +++ b/documentation/asciidoc/computers/configuration/device-tree.adoc @@ -524,7 +524,11 @@ This is an extract from the current map file (see the https://github.com/raspber }; ---- -Each node has the name of an overlay that requires special handling. The properties of each node are either platform names or one of a small number of special directives. The current supported platforms are `bcm2835`, which includes all Raspberry Pis built around the BCM2835, BCM2836 and BCM2837 SoCs, `bcm2711` for Raspberry Pi 4B, 400 and CM4, and `bcm2712` for Raspberry Pi 5 and CM5. +Each node has the name of an overlay that requires special handling. The properties of each node are either platform names or one of a small number of special directives. The overlay map supports the following platform names: + +* `bcm2835` for all Raspberry Pis built around the BCM2835, BCM2836, BCM2837, and RP3A0 SoCs +* `bcm2711` for Raspberry Pi 4B, CM4, CM4S, and Pi 400 +* `bcm2712` for Raspberry Pi 5, CM5, and Pi 500 A platform name with no value (an empty property) indicates that the current overlay is compatible with the platform; for example, `uart5` is compatible with the `bcm2711` platform. A non-empty value for a platform is the name of an alternative overlay to use in place of the requested one; asking for `disable-bt` on BCM2712 results in `disable-bt-pi5` being loaded instead. Any platform not included in an overlay's node is not compatible with that overlay. Any overlay not mentioned in the map is assumed to be compatible with all platforms. @@ -837,7 +841,7 @@ The firmware uses the special https://www.kernel.org/doc/html/latest/devicetree/ `rpi-boardrev-ext`:: The extended board revision code from xref:raspberry-pi.adoc#otp-register-and-bit-definitions[OTP row 33]. -`rpi-country-code`:: The country code used used by https://github.com/raspberrypi-ui/piwiz[PiWiz]. Raspberry Pi 400 only. +`rpi-country-code`:: The country code used used by https://github.com/raspberrypi-ui/piwiz[PiWiz]. Keyboard models only. `rpi-duid`:: _(string)_ Raspberry Pi 5 only. A string representation of the QR code on the PCB. @@ -1184,7 +1188,7 @@ dtparam=i2c,i2s `dtdebug`:: If non-zero, turn on some extra logging for the firmware's device tree processing. -`enable_uart`:: Enable the primary/console xref:configuration.adoc#configure-uarts[UART] (ttyS0 on a Raspberry Pi 3, 4, 400, Zero W and Zero 2 W, ttyAMA0 otherwise - unless swapped with an overlay such as miniuart-bt). If the primary UART is ttyAMA0 then `enable_uart` defaults to 1 (enabled), otherwise it defaults to 0 (disabled). This is because it is necessary to stop the core frequency from changing which would make ttyS0 unusable, so `enable_uart=1` implies `core_freq=250` (unless `force_turbo=1`). In some cases this is a performance hit, so it is off by default. +`enable_uart`:: Enable the xref:configuration.adoc#primary-and-secondary-uart[primary/console UART]. If the primary UART is `ttyAMA0`, `enable_uart` defaults to 1 (enabled), otherwise it defaults to 0 (disabled). This stops the core frequency from changing, which would make `ttyS0` unusable. As a result, `enable_uart=1` implies `core_freq=250` (unless `force_turbo=1`). In some cases this is a performance hit, so it is off by default. `overlay_prefix`:: Specifies a subdirectory/prefix from which to load overlays - defaults to "overlays/". Note the trailing "/". If desired you can add something after the final "/" to add a prefix to each file, although this is not likely to be needed. diff --git a/documentation/asciidoc/computers/configuration/display-resolution.adoc b/documentation/asciidoc/computers/configuration/display-resolution.adoc index 294f7ad44c..0a294f5b21 100644 --- a/documentation/asciidoc/computers/configuration/display-resolution.adoc +++ b/documentation/asciidoc/computers/configuration/display-resolution.adoc @@ -8,28 +8,41 @@ With most HDMI monitors, Raspberry Pi OS uses the highest resolution and refresh The Raspberry Pi Zero, Zero W and Zero 2 W have a mini HDMI port, so you need a mini-HDMI-to-full-size-HDMI lead or adapter. -Raspberry Pi 4, Raspberry Pi 5 and Raspberry Pi 400 have two micro HDMI ports, so you need a micro-HDMI-to-full-size-HDMI lead or adapter for each display you wish to attach. Connect the cables before turning on the Raspberry Pi. +Flagship models since Raspberry Pi 4B and Keyboard models have two micro HDMI ports, so you need a micro-HDMI-to-full-size-HDMI lead or adapter for each display you wish to attach. Connect the cables before turning on the Raspberry Pi. -Raspberry Pi 4 and 400 can drive up to two displays, with a resolution up to 1080p at a 60Hz refresh rate. These devices support two 4K displays at a 30Hz refresh rate. You can also drive a single display at 4K with a 60Hz refresh rate if you connect the display to the `HDMI0` port and set the `hdmi_enable_4kp60=1` flag in xref:../computers/config_txt.adoc#what-is-config-txt[`/boot/firmware/config.txt`]. +Flagship models since Raspberry Pi 4B, Compute Modules since CM4 (except for CM4S), and Keyboard models can drive up to two displays. -Raspberry Pi 5 can drive up to two displays at 4K resolution at a 60hz refresh rate with no additional configuration. +4-series devices support resolutions up to 1080p at a 60Hz refresh rate, or two 4K displays at a 30Hz refresh rate. You can also drive a single display at 4K with a 60Hz refresh rate if you connect the display to the `HDMI0` port and set the `hdmi_enable_4kp60=1` flag in xref:../computers/config_txt.adoc#what-is-config-txt[`/boot/firmware/config.txt`]. -=== Set resolution and rotation +5-series devices support up to two displays at 4K resolution at a 60hz refresh rate with no additional configuration. -==== via the desktop +=== Set resolution and rotation On the Raspberry Pi Desktop, open the *Preferences* menu and select the **Screen Configuration** utility. You should see a graphical representation of the displays connected to the Raspberry Pi. Right click on the display you wish to modify, and select an option. Click **Apply** to and close **Screen Configuration** to save your changes. -==== via CLI +Alternatively, use the following command to open the **Screen Configuration** utility: + +[source,console] +---- +$ raindrop +---- -Use the following command to open the **Screen Configuration** utility: +[TIP] +==== +If your installation of Raspberry Pi OS doesn't already include `raindrop`, you can install it with the following command: [source,console] ---- -$ arandr +$ sudo apt install raindrop ---- -You should see a graphical representation of the displays connected to the Raspberry Pi. Right click on the display you wish to modify, and select an option. Click **Apply** to and close **Screen Configuration** to save your changes. +Older versions of Raspberry Pi OS used a different screen configuration utility named `arandr`. To uninstall `arandr`, run the following command: + +[source,console] +---- +$ sudo apt purge arandr +---- +==== === Manually set resolution and rotation diff --git a/documentation/asciidoc/computers/configuration/uart.adoc b/documentation/asciidoc/computers/configuration/uart.adoc index b54bad3769..a6026e3d55 100644 --- a/documentation/asciidoc/computers/configuration/uart.adoc +++ b/documentation/asciidoc/computers/configuration/uart.adoc @@ -225,7 +225,7 @@ For Raspberry Pi 5, `earlycon` output only appears on the 3-pin debug connector earlycon=pl011,0x107d001000,115200n8 ---- -For Raspberry Pi 4, 400 and Compute Module 4: +For Raspberry Pi 4, Compute Module 4, Compute Module 4S, and Pi 400: [source,ini] ---- @@ -233,7 +233,7 @@ earlycon=uart8250,mmio32,0xfe215040 earlycon=pl011,mmio32,0xfe201000 ---- -For Raspberry Pi 2, Pi 3 and Compute Module 3: +For Raspberry Pi 2, 3, 3+, Zero 2 W, Compute Module 3, and Compute Module 3+: [source,ini] ---- @@ -241,7 +241,7 @@ earlycon=uart8250,mmio32,0x3f215040 earlycon=pl011,mmio32,0x3f201000 ---- -For Raspberry Pi 1, Pi Zero and Compute Module 1: +For Raspberry Pi 1, Zero, Zero W, and Compute Module 1: [source,ini] ---- diff --git a/documentation/asciidoc/computers/getting-started/install.adoc b/documentation/asciidoc/computers/getting-started/install.adoc index 3cd73a23ed..e2eb01e4aa 100644 --- a/documentation/asciidoc/computers/getting-started/install.adoc +++ b/documentation/asciidoc/computers/getting-started/install.adoc @@ -124,7 +124,7 @@ Next, proceed to the xref:getting-started.adoc#configuration-on-first-boot[first Network Install enables a Raspberry Pi to install an operating system on a storage device using a version of Raspberry Pi Imager downloaded over the network. With Network Install, you can get an operating system installed on your Raspberry Pi with no separate SD card reader and no computer other than your Raspberry Pi. You can run Network Install on any compatible storage device, including SD cards and USB storage. -Network Install only runs on Raspberry Pi 4, 400, and 5. If your Raspberry Pi runs an older bootloader, you may need to xref:raspberry-pi.adoc#bootloader_update_stable[update the bootloader] to use Network Install. +Network Install only runs on Flagship models since Raspberry Pi 4B and Keyboard models. If your Raspberry Pi runs an older bootloader, you may need to xref:raspberry-pi.adoc#bootloader_update_stable[update the bootloader] to use Network Install. //// TODO: Update this video for the new Imager look & flow video::b1SYVpM9lto[youtube] diff --git a/documentation/asciidoc/computers/legacy_config_txt/pi4-hdmi.adoc b/documentation/asciidoc/computers/legacy_config_txt/pi4-hdmi.adoc index e816edcec1..62c6c8bef8 100644 --- a/documentation/asciidoc/computers/legacy_config_txt/pi4-hdmi.adoc +++ b/documentation/asciidoc/computers/legacy_config_txt/pi4-hdmi.adoc @@ -1,4 +1,5 @@ -== Legacy Raspberry Pi 4 HDMI pipeline +[[raspberry-pi-4-hdmi-pipeline]] +== Raspberry Pi 4 HDMI pipeline IMPORTANT: When using the VC4 KMS graphics driver, the complete display pipeline is managed by Linux - this includes the HDMI outputs. These settings only apply to the legacy FKMS and firmware-based graphics driver. diff --git a/documentation/asciidoc/computers/legacy_config_txt/video.adoc b/documentation/asciidoc/computers/legacy_config_txt/video.adoc index ba0c7bcf6a..fd516df93c 100644 --- a/documentation/asciidoc/computers/legacy_config_txt/video.adoc +++ b/documentation/asciidoc/computers/legacy_config_txt/video.adoc @@ -3,7 +3,7 @@ === HDMI mode -NOTE: Because Raspberry Pi 4 and Raspberry Pi 400 have two HDMI ports, some HDMI commands can be applied to either port. You can use the syntax `:`, where port is 0 or 1, to specify which port the setting should apply to. If no port is specified, the default is 0. If you specify a port number on a command that does not require a port number, the port is ignored. Further details on the syntax and alternative mechanisms can be found in the HDMI sub-section of the xref:legacy_config_txt.adoc#legacy-conditional-filters[conditionals section] of the documentation. +NOTE: For devices with multiple HDMI ports, some HDMI commands can be applied to any port. You can use the syntax `:`, where port is 0 or 1, to specify which port the setting should apply to. If no port is specified, the default is 0. If you specify a port number on a command that does not require a port number, the port is ignored. Further details on the syntax and alternative mechanisms can be found in the HDMI sub-section of the xref:legacy_config_txt.adoc#legacy-conditional-filters[conditionals section] of the documentation. ==== `hdmi_safe` @@ -1299,7 +1299,7 @@ These values are valid if `hdmi_group=2` (DMT): | 1366x768 | 60Hz | 16:9 -| xref:config_txt.adoc#hdmi-pipeline-for-raspberry-pi-4[NOT on Raspberry Pi 4] +| xref:legacy_config_txt.adoc#raspberry-pi-4-hdmi-pipeline[NOT on Raspberry Pi 4] | 82 | 1920x1080 diff --git a/documentation/asciidoc/computers/linux_kernel/building.adoc b/documentation/asciidoc/computers/linux_kernel/building.adoc index 65e741ad99..6fe3f916f8 100644 --- a/documentation/asciidoc/computers/linux_kernel/building.adoc +++ b/documentation/asciidoc/computers/linux_kernel/building.adoc @@ -66,7 +66,7 @@ To prepare the default configuration, run the appropriate commands from the tabl |=== | Architecture | Model | Command -.10+^.^| 64-bit +.12+^.^| 64-bit | Raspberry Pi 3 .9+.^| [source,console] @@ -75,24 +75,26 @@ $ cd linux $ KERNEL=kernel8 $ make bcm2711_defconfig ---- -| Raspberry Pi Compute Module 3 +| Compute Module 3 | Raspberry Pi 3+ -| Raspberry Pi Compute Module 3+ +| Compute Module 3+ | Raspberry Pi Zero 2 W | Raspberry Pi 4 -| Raspberry Pi 400 -| Raspberry Pi Compute Module 4 -| Raspberry Pi Compute Module 4S +| Pi 400 +| Compute Module 4 +| Compute Module 4S .^| Raspberry Pi 5 -.1+.^| +.3+.^| [source,console] ---- $ cd linux $ KERNEL=kernel_2712 $ make bcm2712_defconfig ---- +| Pi 500 +| Compute Module 5 .14+^.^| 32-bit | Raspberry Pi 1 @@ -103,9 +105,9 @@ $ cd linux $ KERNEL=kernel $ make bcmrpi_defconfig ---- -| Raspberry Pi Compute Module 1 -| Raspberry Pi Zero -| Raspberry Pi Zero W +| Compute Module 1 +| Zero +| Zero W | Raspberry Pi 2 @@ -117,10 +119,10 @@ $ KERNEL=kernel7 $ make bcm2709_defconfig ---- | Raspberry Pi 3 -| Raspberry Pi Compute Module 3 +| Compute Module 3 | Raspberry Pi 3+ -| Raspberry Pi Compute Module 3+ -| Raspberry Pi Zero 2 W +| Compute Module 3+ +| Zero 2 W | Raspberry Pi 4 @@ -131,14 +133,14 @@ $ cd linux $ KERNEL=kernel7l $ make bcm2711_defconfig ---- -| Raspberry Pi 400 -| Raspberry Pi Compute Module 4 -| Raspberry Pi Compute Module 4S +| Pi 400 +| Compute Module 4 +| Compute Module 4S |=== [NOTE] ==== -The 32-bit distribution of Raspberry Pi OS on a Raspberry Pi 4B, 5, 400, Compute Module 4, or Compute Module 4S uses a 32-bit userland, but a _64-bit kernel_. To build a 32-bit kernel, set `ARCH=arm`. To boot a 32-bit kernel, set `arm_64bit=0` in `config.txt`. +The 32-bit distribution of Raspberry Pi OS on 4-series devices uses a 32-bit userland, but a _64-bit kernel_. To build a 32-bit kernel, set `ARCH=arm`. To boot a 32-bit kernel, set `arm_64bit=0` in `config.txt`. ==== [[native-customisation]] diff --git a/documentation/asciidoc/computers/os/graphics-utilities.adoc b/documentation/asciidoc/computers/os/graphics-utilities.adoc index 3e02eaeb6d..b37e8ab81c 100644 --- a/documentation/asciidoc/computers/os/graphics-utilities.adoc +++ b/documentation/asciidoc/computers/os/graphics-utilities.adoc @@ -163,7 +163,7 @@ Reports on the amount of memory addressable by the Arm and the GPU. To show the ===== `codec_enabled [type]` -Reports whether the specified codec type is enabled. Possible options for type are AGIF, FLAC, H263, H264, MJPA, MJPB, MJPG, MPG2, MPG4, MVC0, PCM, THRA, VORB, VP6, VP8, WMV9, WVC1. Note that because the H.265 HW block on the Raspberry Pi 4 and 400 is not part of the VideoCore GPU, its status is not accessed via this command. +Reports whether the specified codec type is enabled. Possible options for type are AGIF, FLAC, H263, H264, MJPA, MJPB, MJPG, MPG2, MPG4, MVC0, PCM, THRA, VORB, VP6, VP8, WMV9, WVC1. Because the H.265 HW block on the Raspberry Pi 4 and Pi 400 is not part of the VideoCore GPU, its status is not accessed via this command. ===== `mem_oom` diff --git a/documentation/asciidoc/computers/os/playing-audio-and-video.adoc b/documentation/asciidoc/computers/os/playing-audio-and-video.adoc index a37cffdd90..d6db63ed50 100644 --- a/documentation/asciidoc/computers/os/playing-audio-and-video.adoc +++ b/documentation/asciidoc/computers/os/playing-audio-and-video.adoc @@ -88,11 +88,11 @@ Replace the `` placeholder with one of the following options: | `sysdefault:CARD=Headphones` | The headphone jack -| `sysdefault:CARD=vc4hdmi` | The HDMI output on a Raspberry Pi Zero, or Raspberry Pi Model 1, 2 or 3 +| `sysdefault:CARD=vc4hdmi` | The HDMI output on devices with a single HDMI port (Zero models, CM4S, Compute Modules prior to CM4, and Flagship models prior to Raspberry Pi 4) -| `sysdefault:CARD=vc4hdmi0` | The HDMI0 output on a Raspberry Pi 4, 5, 400, or Compute Module 4 +| `sysdefault:CARD=vc4hdmi0` | The HDMI0 output on Flagship models since Raspberry Pi 4B, Compute Modules since CM4, and Keyboard models -| `sysdefault:CARD=vc4hdmi1` | The HDMI1 output on a Raspberry Pi 4, 5, 400, or Compute Module 4 +| `sysdefault:CARD=vc4hdmi1` | The HDMI1 output on Flagship models since Raspberry Pi 4B, Compute Modules since CM4, and Keyboard models |=== @@ -122,9 +122,11 @@ Replace the `` placeholder with one of the following options: | `HDMI-A-1` | The HDMI output on a Raspberry Pi Zero, or Raspberry Pi Model 1, 2 or 3; *or* the HDMI0 output on a Raspberry Pi 4, 5, or 400 -| `HDMI-A-2` | The HDMI1 output on a Raspberry Pi 4, 5, or 400 +| `HDMI-A-2` | The HDMI1 output on Flagship models since Raspberry Pi 4B, Compute Modules since CM4 (including CM4S), and Keyboard models -| `DSI-1` | The Raspberry Pi Touch Display +| `DSI-1` | The Raspberry Pi Touch Display or Raspberry Pi Touch Display 2 + +| `DSI-2` | The second DSI output for models with multiple DSI ports (Flagship models since Raspberry Pi 5, and Compute Module models since CM5) |=== diff --git a/documentation/asciidoc/computers/processors/bcm2711.adoc b/documentation/asciidoc/computers/processors/bcm2711.adoc index 17fc0a0bf2..70ea47ee8b 100644 --- a/documentation/asciidoc/computers/processors/bcm2711.adoc +++ b/documentation/asciidoc/computers/processors/bcm2711.adoc @@ -1,6 +1,6 @@ == BCM2711 -This is the Broadcom chip used in the Raspberry Pi 4 Model B, the Raspberry Pi 400, and the Raspberry Pi Compute Module 4. The architecture of the BCM2711 is a considerable upgrade on that used by the SoCs in earlier Raspberry Pi models. It continues the quad-core CPU design of the BCM2837, but uses the more powerful ARM A72 core. It has a greatly improved GPU feature set with much faster input/output, due to the incorporation of a PCIe link that connects the USB 2 and USB 3 ports, and a natively attached Ethernet controller. It is also capable of addressing more memory than the SoCs used before. +This is the Broadcom chip used in the Raspberry Pi 4 Model B, Compute Module 4, and Pi 400. The architecture of the BCM2711 is a considerable upgrade on that used by the SoCs in earlier Raspberry Pi models. It continues the quad-core CPU design of the BCM2837, but uses the more powerful ARM A72 core. It has a greatly improved GPU feature set with much faster input/output, due to the incorporation of a PCIe link that connects the USB 2 and USB 3 ports, and a natively attached Ethernet controller. It is also capable of addressing more memory than the SoCs used before. The ARM cores are capable of running at up to 1.5 GHz, making the Raspberry Pi 4 about 50% faster than the Raspberry Pi 3B+. The new VideoCore VI 3D unit now runs at up to 500 MHz. The ARM cores are 64-bit, and while the VideoCore is 32-bit, there is a new Memory Management Unit, which means it can access more memory than previous versions. diff --git a/documentation/asciidoc/computers/processors/bcm2712.adoc b/documentation/asciidoc/computers/processors/bcm2712.adoc index f229d90276..cc1d56a677 100644 --- a/documentation/asciidoc/computers/processors/bcm2712.adoc +++ b/documentation/asciidoc/computers/processors/bcm2712.adoc @@ -1,6 +1,6 @@ == BCM2712 -Broadcom BCM2712 is the 16nm application processor at the heart of Raspberry Pi 5. It is the successor to the BCM2711 device used in Raspberry Pi 4, and shares many common architectural features with other devices in the BCM27xx family, used on earlier Raspberry Pi products. 4GB and 8GB Raspberry Pi 5 models use the BCM2712**C1** stepping. +Broadcom BCM2712 is the 16nm application processor used in Raspberry Pi 5, Compute Module 5, and Pi 500. It is the successor to the BCM2711 device used in Raspberry Pi 4, and shares many common architectural features with other devices in the BCM27xx family, used on earlier Raspberry Pi products. Built around a quad-core Arm Cortex-A76 CPU cluster, clocked at up to 2.4GHz, with 512KB per-core L2 caches and a 2MB shared L3 cache, it integrates an improved 12-core VideoCore VII GPU; a hardware video scaler and HDMI controller capable of driving dual 4Kp60 displays; and a Raspberry Pi-developed HEVC decoder and Image Signal Processor. A 32-bit LPDDR4X memory interface provides up to 17GB/s of memory bandwidth, while ×1 and ×4 PCI Express interfaces support high-bandwidth external peripherals; on Raspberry Pi 5 the latter is used to connect to the Raspberry Pi RP1 south bridge, which provides the bulk of the external-facing I/O functionality on the platform. @@ -24,7 +24,3 @@ Headline features include: ** H264 1080p30 encode (from ISP) ~30–40% CPU In aggregate, the new features present in BCM2712 deliver a performance uplift of 2-3× over Raspberry Pi 4 for common CPU or I/O-intensive use cases. - -=== BCM2712D0 - -The **D0** stepping of BCM2712 removes unused functionality from BCM2712C1. There is no functional difference between the C1 and D0 steppings. Physically, the packages use the same amount of space. diff --git a/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc b/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc index cca4bf0e58..31266b4c58 100644 --- a/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc @@ -2,7 +2,7 @@ The following Raspberry Pi models use an EEPROM to boot the system: -* Flagship models since Raspberry Pi 4 +* Flagship models since Raspberry Pi 4B * Compute Module models since CM4 (including CM4S) * Keyboard models since Pi 400 @@ -19,7 +19,7 @@ If an error occurs during boot, then an xref:configuration.adoc#led-warning-flas There are multiple ways to update the bootloader of your Raspberry Pi. -==== Flagship models since Raspberry Pi 4; Compute Modules since CM5; Keyboard models since Pi 400 +==== Flagship models since Raspberry Pi 4B; Compute Modules since CM5; Keyboard models since Pi 400 Raspberry Pi OS automatically updates the bootloader for important bug fixes. To manually update the bootloader or change the boot order, use xref:configuration.adoc#raspi-config[raspi-config]. diff --git a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc index 682b43641a..c69ff7830d 100644 --- a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc @@ -56,11 +56,11 @@ Default: `1` If `1` and `WAKE_ON_GPIO=0` then `sudo halt` will switch off all PMIC outputs. This is lowest possible power state for halt but may cause problems with some HATs because 5V will still be on. `GLOBAL_EN` must be shorted to ground to boot. -Raspberry Pi 400 has a dedicated power button which operates even if the processor is switched off. This behaviour is enabled by default, however, `WAKE_ON_GPIO=2` may be set to use an external GPIO power button instead of the dedicated power button. +The dedicated power button on Pi 400 operates even if the processor is switched off. This behaviour is enabled by default, however, `WAKE_ON_GPIO=2` may be set to use an external GPIO power button instead of the dedicated power button. -On Raspberry Pi 5 this places the PMIC in `STANDBY` mode where all outputs are switched off. There is no need to set `WAKE_ON_GPIO` and pressing the xref:raspberry-pi.adoc#power-button[dedicated power button] will boot the device. +On Flagship models since Raspberry Pi 5 and Keyboard models since Pi 500, this places the PMIC in `STANDBY` mode where all outputs are switched off. There is no need to set `WAKE_ON_GPIO` and pressing the xref:raspberry-pi.adoc#power-button[dedicated power button] boots the device. -Default: `1` on Compute Modules since CM5 and Keyboard models since Pi 400; otherwise `0` +Default: `1` on Compute Modules since CM5 and Keyboard models; otherwise `0` [[BOOT_ORDER]] ==== `BOOT_ORDER` @@ -398,7 +398,7 @@ This setting is ignored and network install is disabled if `DISABLE_HDMI=1` is s In order to detect the keyboard, network install must initialise the USB controller and enumerate devices. This increases boot time by approximately 1 second so it may be advantageous to disable network install in some embedded applications. -Default: `1` on Flagship models since Raspberry Pi 4 and Keyboard models since Pi 400; `0` on Compute Modules since CM4 (including CM4S). +Default: `1` on Flagship models since Raspberry Pi 4B and Keyboard models; `0` on Compute Modules since CM4 (including CM4S). [[NET_INSTALL_AT_POWER_ON]] ==== `NET_INSTALL_AT_POWER_ON` diff --git a/documentation/asciidoc/computers/raspberry-pi/frequency-management.adoc b/documentation/asciidoc/computers/raspberry-pi/frequency-management.adoc index 3fc5ceb015..cb57b7099e 100644 --- a/documentation/asciidoc/computers/raspberry-pi/frequency-management.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/frequency-management.adoc @@ -10,9 +10,9 @@ The Raspberry Pi 4 Model B continues with the same PCB technology as the Raspber === Use DVFS -NOTE: Discussion of DVFS applies to Raspberry Pi 4 Model B, Raspberry Pi 400, and Compute Module 4 only. +NOTE: Discussion of DVFS applies to 4-series devices only (Raspberry Pi 4, Compute Module 4, and Pi 400). -Raspberry Pi 4 devices implement dynamic voltage and frequency scaling (DVFS). This technique allows Raspberry Pi 4 devices to run at lower temperatures whilst still providing the same performance. +Raspberry Pi 4 devices implement dynamic voltage and frequency scaling (DVFS). This technique allows 4-series devices to run at lower temperatures whilst still providing the same performance. Various clocks (e.g. Arm, Core, V3D, ISP, H264, HEVC) inside the SoC are monitored by the firmware, and whenever they are not running at full speed, the voltage supplied to the particular part of the chip driven by the clock is reduced relative to the reduction from full speed. In effect, only enough voltage is supplied to keep the block running correctly at the specific speed at which it is running. This can result in significant reductions in power used by the SoC, and therefore in the overall heat being produced. @@ -32,7 +32,7 @@ Due to possible system stability problems involved with running an undervoltage, | scale voltage up on demand for over clocking (default). If `over_voltage` is specified in `config.txt` then dynamic voltage scaling is disabled causing the system to revert to `dvfs=2`. |=== -NOTE: This setting has been removed on Raspberry Pi 5 and is effectively always mode 3. +NOTE: This setting has been removed on 5-series devices and is effectively always mode 3. In addition, a more stepped CPU governor is also used to produce finer-grained control of ARM core frequencies, which means the DVFS is more effective. The steps are now 1500MHz, 1000MHz, 750MHz, and 600MHz. These steps can also help when the SoC is being throttled, and mean that throttling all the way back to 600MHz is much less likely, giving an overall increase in fully loaded performance. diff --git a/documentation/asciidoc/computers/raspberry-pi/gpio-on-raspberry-pi.adoc b/documentation/asciidoc/computers/raspberry-pi/gpio-on-raspberry-pi.adoc index 4c65a0a920..4c094d8dad 100644 --- a/documentation/asciidoc/computers/raspberry-pi/gpio-on-raspberry-pi.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/gpio-on-raspberry-pi.adoc @@ -174,7 +174,7 @@ The table below gives the various voltage specifications for the GPIO pins for B ^b^ Default drive strength (8mA) + ^c^ Maximum drive strength (16mA) -The table below gives the voltage specifications for the GPIO pins on BCM2711-based products (e.g. Raspberry Pi 4 and Raspberry Pi 400). For information about Compute Modules you should see the xref:compute-module.adoc#specifications[relevant datasheets]. +The table below gives the voltage specifications for the GPIO pins on BCM2711-based products (4-series devices). For information about Compute Modules you should see the xref:compute-module.adoc#specifications[relevant datasheets]. |=== | Symbol | Parameter | Conditions   | Min | Typical | Max | Unit diff --git a/documentation/asciidoc/computers/raspberry-pi/gpio-pad-controls.adoc b/documentation/asciidoc/computers/raspberry-pi/gpio-pad-controls.adoc index 9713aff422..5379d9e053 100644 --- a/documentation/asciidoc/computers/raspberry-pi/gpio-pad-controls.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/gpio-pad-controls.adoc @@ -6,7 +6,7 @@ GPIO drive strengths do not indicate a maximum current, but a maximum current un Inside the pad are a number of drivers in parallel. If the drive strength is set low (`0b000`), most of these are tri-stated so they do not add anything to the output current. If the drive strength is increased, more and more drivers are put in parallel. The diagram shows that behaviour. -WARNING: For Raspberry Pi 4, Raspberry Pi 400 and Compute Module 4 the current level is half the value shown in the diagram. +WARNING: On 4-series devices, the current level is half the value shown in the diagram. image::images/pi_gpio_drive_strength_diagram.png[GPIO drive strength diagram] diff --git a/documentation/asciidoc/computers/raspberry-pi/images/500.png b/documentation/asciidoc/computers/raspberry-pi/images/500.png new file mode 100644 index 0000000000..5e44bbb04e Binary files /dev/null and b/documentation/asciidoc/computers/raspberry-pi/images/500.png differ diff --git a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc index e2b9be2f0c..ff8f11ea66 100644 --- a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc @@ -2,7 +2,8 @@ Raspberry Pi makes computers in several different **series**: -* The *flagship* series, often referred to by the shorthand "Raspberry Pi", offers high-performance hardware, a full Linux operating system, and a variety of common ports in a form factor roughly the size of a credit card. +* The *Flagship* series, often referred to by the shorthand "Raspberry Pi", offers high-performance hardware, a full Linux operating system, and a variety of common ports in a form factor roughly the size of a credit card. +* The *Keyboard* series, offers high-performance Flagship hardware, a full Linux operating system, and a variety of common ports bundled inside a keyboard form factor. * The *Zero* series offers a full Linux operating system and essential ports at an affordable price point in a minimal form factor with low power consumption. * The *Compute Module* series, often referred to by the shorthand "CM", offers high-performance hardware and a full Linux operating system in a minimal form factor suitable for industrial and embedded applications. Compute Module models feature hardware equivalent to the corresponding flagship models, but with fewer ports and no on-board GPIO pins. Instead, users should connect Compute Modules to a separate baseboard that provides the ports and pins required for a given application. @@ -159,19 +160,6 @@ a| * microSD card slot * USB-C power (5V, 3A (15W)) ^.^a| -.Raspberry Pi 400 -image::images/400.jpg[alt="Raspberry Pi 400"] -| xref:processors.adoc#bcm2711[BCM2711] | 4GB | 40-pin GPIO header -a| -* 2× micro HDMI -* USB 2.0 -* 2× USB 3.0 -* Gigabit (1Gb/s) Ethernet RJ45 -* 2.4/5GHz dual-band 802.11ac Wi-Fi (120Mb/s) -* Bluetooth 5, Bluetooth Low Energy (BLE) -* microSD card slot -* USB-C power (5V, 3A (15W)) -^.^a| .Raspberry Pi 5 image::images/5.jpg[alt="Raspberry Pi 5"] | xref:processors.adoc#bcm2712[BCM2712] (2GB version uses xref:processors.adoc#bcm2712[BCM2712D0]) @@ -194,11 +182,46 @@ a| * 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s) * Bluetooth 5, Bluetooth Low Energy (BLE) * microSD card slot -* USB-C power (5V, 5A (25W) or 5V, 3A (15W) with a 600mA peripheral limit) +* USB-C power (5V 5A (25W), or 5V 3A (15W) with a 600mA peripheral limit) |=== For more information about the ports on the Raspberry Pi flagship series, see the xref:raspberry-pi.adoc#schematics-and-mechanical-drawings[Schematics and mechanical drawings]. +=== Keyboard series + +Keyboard series devices use model identifiers of the form ``, where `X` indicates the corresponding Flagship series device. For instance, "Raspberry Pi 500" is the keyboard version of the Raspberry Pi 5. + +[cols="7a,1,2,3,5"] +|=== +| Model | SoC | Memory | GPIO | Connectivity +^.^a| +.Raspberry Pi 400 +image::images/400.jpg[alt="Raspberry Pi 400"] +| xref:processors.adoc#bcm2711[BCM2711] | 4GB | 40-pin GPIO header +a| +* 2× micro HDMI +* USB 2.0 +* 2× USB 3.0 +* Gigabit (1Gb/s) Ethernet RJ45 +* 2.4/5GHz dual-band 802.11ac Wi-Fi (120Mb/s) +* Bluetooth 5, Bluetooth Low Energy (BLE) +* microSD card slot +* USB-C power (5V, 3A (15W)) +^.^a| +.Raspberry Pi 500 +image::images/500.png[alt="Raspberry Pi 500"] +| xref:processors.adoc#bcm2712[BCM2712] | 8GB | 40-pin GPIO header +a| +* 2× micro HDMI +* USB 2.0 +* 2× USB 3.0 +* Gigabit (1Gb/s) Ethernet RJ45 +* 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s) +* Bluetooth 5, Bluetooth Low Energy (BLE) +* microSD card slot +* USB-C power (5V 5A (25W), or 5V 3A (15W) with a 600mA peripheral limit) +|=== + === Zero series Models with the *H* suffix have header pins pre-soldered to the GPIO header. Models that lack the *H* suffix do not come with header pins attached to the GPIO header; the user must solder pins manually or attach a third-party pin kit. diff --git a/documentation/asciidoc/computers/raspberry-pi/pcie.adoc b/documentation/asciidoc/computers/raspberry-pi/pcie.adoc index 7caa71d654..834132b49e 100644 --- a/documentation/asciidoc/computers/raspberry-pi/pcie.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/pcie.adoc @@ -57,7 +57,7 @@ By default, Raspberry Pi 5 uses Gen 2.0 speeds (5 GT/s). Use one of the followin [tabs%sync] ====== -via `config.txt`:: +`config.txt`:: + To enable PCIe Gen 3.0 speeds, add the following line to `/boot/firmware/config.txt`: + @@ -68,7 +68,7 @@ dtparam=pciex1_gen=3 + Reboot your Raspberry Pi with `sudo reboot` for these settings to take effect. -via `raspi-config`:: +`raspi-config`:: + Run the following command to open the Raspberry Pi Configuration CLI: + diff --git a/documentation/asciidoc/computers/raspberry-pi/power-supplies.adoc b/documentation/asciidoc/computers/raspberry-pi/power-supplies.adoc index 12f57ec851..af3bbd6e61 100644 --- a/documentation/asciidoc/computers/raspberry-pi/power-supplies.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/power-supplies.adoc @@ -80,22 +80,27 @@ All Raspberry Pi models with a PoE-capable Ethernet jack require a HAT to draw p | 1.6A (600mA if using a 3A power supply) | 800mA -| Raspberry Pi 400 +| Pi 400 | 3.0A | 1.2A | 800mA -| Raspberry Pi Zero +| Pi 500 +| 5.0A +| 1.6A (600mA if using a 3A power supply) +| 800mA + +| Zero | 1.2A | Limited by PSU, board, and connector ratings only | 100mA -| Raspberry Pi Zero W +| Zero W | 1.2A | Limited by PSU, board, and connector ratings only. | 150mA -| Raspberry Pi Zero 2 W +| Zero 2 W | 2A | Limited by PSU, board, and connector ratings only. | 350mA diff --git a/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc b/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc index fcea562515..f871915ff6 100644 --- a/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc @@ -733,24 +733,28 @@ This outputs two null-separated string values, each containing a comma-separated Raspberry Pi models have the following device tree values: |=== -| Device Name | Make | Model | CPU Make | CPU - -| Raspberry Pi 5 | `raspberrypi` | `5-model-b` | `brcm` | `bcm2712` -| Raspberry Pi 400 | `raspberrypi` | `400` | `brcm` | `bcm2711` -| Raspberry Pi Compute Module 4 | `raspberrypi` | `4-compute-module` | `brcm` | `bcm2711` -| Raspberry Pi 4 Model B | `raspberrypi` | `4-model-b` | `brcm` | `bcm2711` -| Raspberry Pi Compute Module 3 | `raspberrypi` | `3-compute-module` | `brcm` | `bcm2837` -| Raspberry Pi 3 Model A+ | `raspberrypi` | `3-model-a-plus` | `brcm` | `bcm2837` -| Raspberry Pi 3 Model B+ | `raspberrypi` | `3-model-b-plus` | `brcm` | `bcm2837` -| Raspberry Pi 3 Model B | `raspberrypi` | `3-model-b` | `brcm` | `bcm2837` -| Raspberry Pi 2 Model B | `raspberrypi` | `2-model-b` | `brcm` | `bcm2836` -| Raspberry Pi Compute Module | `raspberrypi` | `compute-module` | `brcm` | `bcm2835` -| Raspberry Pi Model A+ | `raspberrypi` | `model-a-plus` | `brcm` | `bcm2835` -| Raspberry Pi Model B+ | `raspberrypi` | `model-b-plus` | `brcm` | `bcm2835` -| Raspberry Pi Model B Rev 2 | `raspberrypi` | `model-b-rev2` | `brcm` | `bcm2835` -| Raspberry Pi Model A | `raspberrypi` | `model-a` | `brcm` | `bcm2835` -| Raspberry Pi Model B | `raspberrypi` | `model-b` | `brcm` | `bcm2835` -| Raspberry Pi Zero 2 W | `raspberrypi` | `model-zero-2-w` | `brcm` | `bcm2837` -| Raspberry Pi Zero | `raspberrypi` | `model-zero` | `brcm` | `bcm2835` -| Raspberry Pi Zero W | `raspberrypi` | `model-zero-w` | `brcm` | `bcm2835` +| Device Name | Make | Model | CPU Make | CPU + +| Pi 500 | `raspberrypi` | `500` | `brcm` | `bcm2712` +| Compute Module 5 | `raspberrypi` | `5-compute-module` | `brcm` | `bcm2712` +| Raspberry Pi 5 | `raspberrypi` | `5-model-b` | `brcm` | `bcm2712` +| Pi 400 | `raspberrypi` | `400` | `brcm` | `bcm2711` +| Compute Module 4S | `raspberrypi` | `4s-compute-module` | `brcm` | `bcm2711` +| Compute Module 4 | `raspberrypi` | `4-compute-module` | `brcm` | `bcm2711` +| Raspberry Pi 4 Model B | `raspberrypi` | `4-model-b` | `brcm` | `bcm2711` +| Zero 2 W | `raspberrypi` | `model-zero-2-w` | `brcm` | `bcm2837` +| Compute Module 3+ | `raspberrypi` | `3-plus-compute-module` | `brcm` | `bcm2837` +| Compute Module 3 | `raspberrypi` | `3-compute-module` | `brcm` | `bcm2837` +| Raspberry Pi 3 Model A+ | `raspberrypi` | `3-model-a-plus` | `brcm` | `bcm2837` +| Raspberry Pi 3 Model B+ | `raspberrypi` | `3-model-b-plus` | `brcm` | `bcm2837` +| Raspberry Pi 3 Model B | `raspberrypi` | `3-model-b` | `brcm` | `bcm2837` +| Raspberry Pi 2 Model B | `raspberrypi` | `2-model-b` | `brcm` | `bcm2836` +| Zero W | `raspberrypi` | `model-zero-w` | `brcm` | `bcm2835` +| Zero | `raspberrypi` | `model-zero` | `brcm` | `bcm2835` +| Compute Module 1 | `raspberrypi` | `compute-module` | `brcm` | `bcm2835` +| Raspberry Pi Model A+ | `raspberrypi` | `model-a-plus` | `brcm` | `bcm2835` +| Raspberry Pi Model B+ | `raspberrypi` | `model-b-plus` | `brcm` | `bcm2835` +| Raspberry Pi Model B Rev 2 | `raspberrypi` | `model-b-rev2` | `brcm` | `bcm2835` +| Raspberry Pi Model A | `raspberrypi` | `model-a` | `brcm` | `bcm2835` +| Raspberry Pi Model B | `raspberrypi` | `model-b` | `brcm` | `bcm2835` |=== diff --git a/documentation/asciidoc/services/connect/use.adoc b/documentation/asciidoc/services/connect/use.adoc index 7b80d406a0..0a19f24c84 100644 --- a/documentation/asciidoc/services/connect/use.adoc +++ b/documentation/asciidoc/services/connect/use.adoc @@ -3,35 +3,39 @@ Now that you've installed and started Connect on your Raspberry Pi device, you must associate your device with your Connect account. -=== via the Raspberry Pi Desktop - -If you're using the Connect plugin for the menu bar, clicking "Turn On Raspberry Pi Connect" for the first time will open your browser, prompting you to sign in with your Raspberry Pi ID: - +[tabs%sync] +====== +Desktop:: ++ +If you're using the Connect plugin for the menu bar, click **Turn On Raspberry Pi Connect** for the first time to open your browser, prompting you to sign in with your Raspberry Pi ID: ++ image::images/browser-sign-in.png[width="80%"] - -Alternatively, you can choose "Sign In..." from the dropdown menu: - ++ +Alternatively, choose **Sign In...** from the dropdown menu: ++ image::images/sign-in.png[width="80%"] - ++ If you don't already have a Raspberry Pi ID, click *create one for free* to xref:id.adoc#create-a-raspberry-pi-id[create one]. -=== via the command line - +CLI:: ++ Use the following command to generate a link that will connect your device with your Connect account: - ++ [source,console] ---- $ rpi-connect signin ---- - ++ This command should output something like the following: - ++ ---- Complete sign in by visiting https://connect.raspberrypi.com/verify/XXXX-XXXX ---- - ++ Visit the verification URL on any device and sign in with your Raspberry Pi ID to link your device with your Connect account. +====== + === Finish linking your Raspberry Pi After authenticating, assign a name to your device. Choose a name that uniquely identifies the device. Click the **Create device and sign in** button to continue. diff --git a/documentation/images/full-sized/monitor.png b/documentation/images/full-sized/monitor.png new file mode 100644 index 0000000000..612a5d801c Binary files /dev/null and b/documentation/images/full-sized/monitor.png differ diff --git a/documentation/images/monitor-SMALL.png b/documentation/images/monitor-SMALL.png new file mode 100644 index 0000000000..e4c3547b3f Binary files /dev/null and b/documentation/images/monitor-SMALL.png differ diff --git a/documentation/index.json b/documentation/index.json index a929d6afcf..4b4e1833c9 100644 --- a/documentation/index.json +++ b/documentation/index.json @@ -114,6 +114,12 @@ "image": "full-sized/Touch-Display-2.png", "subpath": "touch-display-2.adoc" }, + { + "title": "Monitor", + "description": "The Raspberry Pi Monitor", + "image": "full-sized/monitor.png", + "subpath": "monitor.adoc" + }, { "title": "Camera", "description": "Raspberry Pi camera boards",