Skip to content

Commit

Permalink
Merge pull request #3957 from raspberrypi/five-hundy-and-monny-boi
Browse files Browse the repository at this point in the history
Pi 500 and Monitor
  • Loading branch information
nathan-contino authored Dec 9, 2024
2 parents 6537bc7 + 9bb792a commit 96264f7
Show file tree
Hide file tree
Showing 73 changed files with 433 additions and 199 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ 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.

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
Expand All @@ -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.
====
Original file line number Diff line number Diff line change
Expand Up @@ -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%"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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?

Expand Down
4 changes: 2 additions & 2 deletions documentation/asciidoc/accessories/display/display_intro.adoc
Original file line number Diff line number Diff line change
@@ -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:

Expand Down
1 change: 1 addition & 0 deletions documentation/asciidoc/accessories/monitor.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include::monitor/monitor_intro.adoc[]
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
119 changes: 119 additions & 0 deletions documentation/asciidoc/accessories/monitor/monitor_intro.adoc
Original file line number Diff line number Diff line change
@@ -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%"]
Original file line number Diff line number Diff line change
Expand Up @@ -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):

Expand Down
45 changes: 25 additions & 20 deletions documentation/asciidoc/computers/camera/rpicam_still.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<username>` 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/<username>/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 `<username>` placeholder with the username of your primary user account:

+
----
* * * * * /home/<username>/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

Expand Down
29 changes: 16 additions & 13 deletions documentation/asciidoc/computers/config_txt/boot.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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`

Expand All @@ -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.
Expand All @@ -42,17 +41,18 @@ 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
* Compute Module 3+
* 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`

Expand Down Expand Up @@ -109,11 +109,12 @@ See also <<overlay_prefix,`overlay_prefix`>> 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`
Expand Down Expand Up @@ -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`
Expand All @@ -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}`

Expand Down
Loading

0 comments on commit 96264f7

Please sign in to comment.