diff --git a/.gitignore b/.gitignore index 5bf83ce84..3e3542a21 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ documentation/asciidoc/pico-sdk venv .venv .env +.vscode diff --git a/documentation/asciidoc/computers/config_txt/overclocking.adoc b/documentation/asciidoc/computers/config_txt/overclocking.adoc index b76a8ac8a..df0e58f5b 100644 --- a/documentation/asciidoc/computers/config_txt/overclocking.adoc +++ b/documentation/asciidoc/computers/config_txt/overclocking.adoc @@ -15,7 +15,7 @@ WARNING: Setting any overclocking parameters to values other than those used by | Option | Description | arm_freq -| Frequency of the ARM CPU in MHz. +| Frequency of the Arm CPU in MHz. | arm_boost | Increases `arm_freq` to the highest supported frequency for the board-type and firmware. Set to `1` to enable. @@ -55,7 +55,7 @@ WARNING: Setting any overclocking parameters to values other than those used by | over_voltage_sdram_p | SDRAM phy voltage adjustment. [-16,8] equates to [0.8V,1.4V] with 0.025V steps. Not supported on Raspberry Pi 4 or later devices. - + | force_turbo | Forces turbo mode frequencies even when the ARM cores are not busy. Enabling this may set the warranty bit if `over_voltage_*` is also set. @@ -111,7 +111,7 @@ This table gives the default values for the options on various Raspberry Pi mode [cols="m,^,^,^,^,^,^,^,^,^,^"] |=== -| Option | Pi 0/W | Pi1 | Pi2 | Pi3 | Pi3A+/Pi3B+ | CM4 & Pi4B <= R1.3 | Pi4B R1.4 | Pi 400 | Pi Zero 2 W | Pi 5 +| Option | Pi Zero W | Pi 1 | Pi 2 | Pi 3 | Pi 3A+/Pi 3B+ | CM4 & Pi 4B <= R1.3 | Pi 4B R1.4 | Pi 400 | Pi Zero 2 W | Pi 5/500/500+ | arm_freq | 1000 @@ -171,7 +171,7 @@ This table gives the default values for the options on various Raspberry Pi mode | 500 | 500 | 300 -| 910 +| 960 | hevc_freq | N/A diff --git a/documentation/asciidoc/computers/getting-started/configuring.adoc b/documentation/asciidoc/computers/getting-started/configuring.adoc index 633bca35f..49d7f7d0e 100644 --- a/documentation/asciidoc/computers/getting-started/configuring.adoc +++ b/documentation/asciidoc/computers/getting-started/configuring.adoc @@ -74,6 +74,8 @@ image::images/initial-setup/connect.png[alt="The Enable Raspberry Pi Connect pag Once your Raspberry Pi has internet access, this page helps you update your operating system and software to the latest versions. During the software update process, the wizard will remove the non-default browser if you opted to uninstall it in the browser selection step. Downloading updates may take several minutes. +NOTE: If you are updating your Raspberry Pi 500+ for the first time, this can take up to half an hour. Grab a cup of coffee or go for a walk while you wait. + image::images/initial-setup/update.png[alt="You can download the latest software updates during the wizard before you boot for the first time.",width="80%"] image::images/initial-setup/download.png[alt="You can download the latest software updates during the wizard before you boot for the first time.",width="80%"] diff --git a/documentation/asciidoc/computers/getting-started/setting-up.adoc b/documentation/asciidoc/computers/getting-started/setting-up.adoc index 0a3aa35fb..f68fb8aab 100644 --- a/documentation/asciidoc/computers/getting-started/setting-up.adoc +++ b/documentation/asciidoc/computers/getting-started/setting-up.adoc @@ -26,11 +26,11 @@ You can use any high-quality power supply that provides the correct power mode. |Recommended power supply (voltage/current) |Raspberry Pi power supply -|Raspberry Pi 5 +|Raspberry Pi 5 and Raspberry Pi 500 |5V/5A, 5V/3A limits peripherals to 600mA |https://www.raspberrypi.com/products/27w-power-supply/[27W USB-C power supply] -|Raspberry Pi 4 Model B +|Raspberry Pi 4 Model B and Raspberry Pi 400 |5V/3A |https://www.raspberrypi.com/products/type-c-power-supply/[15W USB-C power supply] @@ -38,7 +38,7 @@ You can use any high-quality power supply that provides the correct power mode. |5V/2.5A |https://www.raspberrypi.com/products/micro-usb-power-supply/[12.5W Micro USB power supply] -|Raspberry Pi 2 (all models) +|Raspberry Pi 2 Model B |5V/2.5A |https://www.raspberrypi.com/products/micro-usb-power-supply/[12.5W Micro USB power supply] @@ -101,22 +101,19 @@ Raspberry Pi models have the following display connectivity: |Model |Display outputs -|Raspberry Pi 5 +|Raspberry Pi 5, Raspberry Pi 400 and Raspberry Pi 500 |2× micro HDMI -|Raspberry Pi 4 (all models) +|Raspberry Pi 4 Model B |2× micro HDMI, audio and composite out via 3.5mm http://en.wikipedia.org/wiki/Phone_connector_(audio)#TRRS_standards[TRRS] jack |Raspberry Pi 3 (all models) |HDMI, audio and composite out via 3.5mm http://en.wikipedia.org/wiki/Phone_connector_(audio)#TRRS_standards[TRRS] jack -|Raspberry Pi 2 (all models) +|Raspberry Pi 2 Model B |HDMI, audio and composite out via 3.5mm http://en.wikipedia.org/wiki/Phone_connector_(audio)#TRRS_standards[TRRS] jack -|Raspberry Pi 1 Model B+ -|HDMI, audio and composite out via 3.5mm http://en.wikipedia.org/wiki/Phone_connector_(audio)#TRRS_standards[TRRS] jack - -|Raspberry Pi 1 Model A+ +|Raspberry Pi 1 (all models) |HDMI, audio and composite out via 3.5mm http://en.wikipedia.org/wiki/Phone_connector_(audio)#TRRS_standards[TRRS] jack |Raspberry Pi Zero (all models) @@ -142,10 +139,11 @@ All variants of the Raspberry Pi 1, 2, 3, and 4 include a 3.5mm auxiliary http:/ The following Raspberry Pi models come with Wi-Fi and Bluetooth connectivity: * Flagship models since Raspberry Pi 3 Model B +* All Keyboard models * All Zero W models * All Pico W models * Compute Modules configured with wireless (available since CM4) -The "Model B" suffix indicates variants with an Ethernet port; "Model A" indicates no Ethernet port. If your Raspberry Pi doesn't have an Ethernet port, you can still connect to a wired internet connection using a USB-to-Ethernet adapter. +The "Model B" suffix indicates variants with an Ethernet port; "Model A" indicates no Ethernet port. The Keyboard models also include an Ethernet port. If your Raspberry Pi doesn't have an Ethernet port, you can still connect to a wired internet connection using a USB-to-Ethernet adapter. image::images/peripherals/cable-net.png[alt="Plugging an Ethernet cable into a Raspberry Pi.",width="80%"] diff --git a/documentation/asciidoc/computers/keyboard-computers.adoc b/documentation/asciidoc/computers/keyboard-computers.adoc new file mode 100644 index 000000000..895b1f658 --- /dev/null +++ b/documentation/asciidoc/computers/keyboard-computers.adoc @@ -0,0 +1 @@ +include::keyboard-computers/intro.adoc[] diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2-step-1.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-1.jpg new file mode 100755 index 000000000..06b2f2178 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-1.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2-step-2.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-2.jpg new file mode 100755 index 000000000..68a806c06 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-2.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2-step-3.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-3.jpg new file mode 100755 index 000000000..551d9e842 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-3.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2-step-4.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-4.jpg new file mode 100755 index 000000000..d04bad275 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-4.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2-step-5.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-5.jpg new file mode 100755 index 000000000..5863f6ab8 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-5.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2-step-6.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-6.jpg new file mode 100755 index 000000000..025262bbb Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2-step-6.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2step1.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2step1.jpg new file mode 100644 index 000000000..268aefb89 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2step1.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2step2.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2step2.jpg new file mode 100644 index 000000000..a827e0390 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2step2.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2step3.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2step3.jpg new file mode 100644 index 000000000..fe68a3042 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2step3.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2step4.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2step4.jpg new file mode 100644 index 000000000..0037242a6 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2step4.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2step5.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2step5.jpg new file mode 100644 index 000000000..37d5ae832 Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2step5.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/images/M2step6.jpg b/documentation/asciidoc/computers/keyboard-computers/images/M2step6.jpg new file mode 100644 index 000000000..73941696b Binary files /dev/null and b/documentation/asciidoc/computers/keyboard-computers/images/M2step6.jpg differ diff --git a/documentation/asciidoc/computers/keyboard-computers/intro.adoc b/documentation/asciidoc/computers/keyboard-computers/intro.adoc new file mode 100644 index 000000000..0defc274b --- /dev/null +++ b/documentation/asciidoc/computers/keyboard-computers/intro.adoc @@ -0,0 +1,734 @@ +Raspberry Pi keyboard computers are complete personal computers built into a keyboard. They include the same system-on-chip (SoC) as Raspberry Pi single-board computers (SBC). Raspberry Pi offers three keyboard computers: + +* *Raspberry Pi 400*, based on Raspberry Pi 4 (4 GB), released 2020. +* *Raspberry Pi 500*, based on Raspberry Pi 5 (8 GB), released 2024. +* *Raspberry Pi 500+*, based on Raspberry Pi 5 (16 GB), released 2025. + +Raspberry Pi keyboard computers come in different regional variants affecting keyboard layout and required power supply. + +== Features + +The features of your Raspberry Pi keyboard computer depend on the model. + +*Raspberry Pi 500* and *Raspberry Pi 500+* are faster than *Raspberry Pi 400* due to the Cortex-A76 CPU, increased RAM, and upgraded GPU. The main differences between the Raspberry Pi 400 keyboard computer and the Raspberry Pi 500 and 500+ keyboard computers are: + +* *Processor.* Raspberry Pi 400 uses Cortex-A72 at 1.8 GHz; both Raspberry Pi 500 and 500+ use Cortex-A76 at 2.4 GHz, providing higher performance and efficiency. +* *Memory (RAM).* Raspberry Pi 400 includes 4 GB of RAM; Raspberry Pi 500 includes 8 GB of RAM; Raspberry Pi 500+ includes 16 GB of RAM, providing smoother multitasking and support for more demanding applications. +* *GPU.* Raspberry Pi 400 includes VideoCore VI at 500 MHz; both Raspberry Pi 500 and 500+ include VideoCore VII at 910 MHz, providing faster graphics and improved video decoding. +* *HDR video.* All Raspberry Pi keyboard computers include two micro-HDMI ports, providing 4K displays, but Raspberry Pi 500 and 500+ also support HDR on HDMI outputs. +* *Power button.* Raspberry Pi 400 doesn't have a power button and is instead turned on and off with a combination of key presses; both Raspberry Pi 500 and 500+ do have a power button. +* *SoC.* Raspberry Pi 400 includes the Broadcom chip, BCM2711; both Raspberry Pi 500 and 500+ use the Broadcom chip, BCM2712, in combination with the RP1 I/O controller. + +Raspberry Pi 500+ offers additional features, including: + +* Mechanical keys with customisable RGB LEDs and replaceable keycaps. For more information, see <>. For instructions, see <> and <>. +* Internal 256 GB M.2 SSD, which is replaceable. This SSD comes installed with Raspberry Pi OS. For instructions, see <>. +* More RAM (16 GB). For a comparison, see the following table. + +[cols="1,1,1,1", options="header"] +|=== +| |Raspberry Pi 400 |Raspberry Pi 500 |Raspberry Pi 500+ + +| *Dimensions* +| 286 × 122 × 23 mm +| 286 × 122 × 23 mm +| 312 × 123 × 35 mm + +| *Keys* +| 78, 79, or 83 membrane keys depending on regional variant +| 78, 79, or 83 membrane keys depending on regional variant +| 84, 85, or 88 mechanical keys depending on regional variant + +| *Processor* +| Quad-core 64-bit Arm processor (Cortex-A72 at 1.8 GHz) +| Quad-core 64-bit Arm processor (Cortex-A76 at 2.4 GHz) +| Quad-core 64-bit Arm processor (Cortex-A76 at 2.4 GHz) + +| *SoC and I/O controller* +| BCM2711 SoC +| BCM2712 SoC and RP1 I/O controller +| BCM2712 SoC and RP1 I/O controller + +| *Memory (RAM)* +| 4 GB synchronous dynamic RAM (SDRAM) +| 8 GB synchronous dynamic RAM (SDRAM) +| 16 GB synchronous dynamic RAM (SDRAM) + +| *GPU* +| VideoCore VI at 500 MHz +| VideoCore VII at 910 MHz +| VideoCore VII at 910 MHz + +| *Video output* +| Two micro-HDMI ports that provide either a single 4K display at 60 Hz or two 4K displays at 30Hz +| Two micro-HDMI ports that provide 4K displays at 60 Hz plus HDR support +| Two micro-HDMI ports that provide 4K displays at 60 Hz plus HDR support + +| *Thermal control* +| Aluminium integrated heatsink +| Aluminium integrated heatsink +| Aluminium integrated heatsink + +| *Wireless connectivity* +| Dual-band Wi-Fi and BLE +| Dual-band Wi-Fi and BLE +| Dual-band Wi-Fi and BLE + +| *USB ports* +| Two USB 3.0 ports; one USB 2.0 port +| Two USB 3.0 ports; one USB 2.0 port +| Two USB 3.0 ports; one USB 2.0 port + +| *Gigabit Ethernet* +| Yes +| Yes +| Yes + +| *GPIO* +| Horizontal 40-pin GPIO header +| Horizontal 40-pin GPIO header +| Horizontal 40-pin GPIO header + +| *Storage* +| microSD card slot +| microSD card slot +| microSD card slot and M.2 SSD drive + +| *Power input* +| 5 V at 3 A (15 W) through USB-C +| 5 V at 5 A (25 W) through USB-C +| 5 V at 5 A (25 W) through USB-C + +| *Power button* +| Key combination (*Fn* + *F10*) +| Dedicated button +| Dedicated button + +| *Customisability* +| +| Key remapping +| Key remapping; RGB backlighting; ability to change keycaps +|=== + +== Keyboard computer kits + +Raspberry Pi keyboard computers are available as standalone keyboards or as part of a kit, including basic accessories to get started. + +=== Raspberry Pi 400 kit + +* Raspberry Pi 400 keyboard computer. +* 15 W Raspberry Pi USB-C power supply. +* Raspberry Pi USB mouse. +* 16 GB microSD card, pre-programmed with Raspberry Pi OS. +* micro-HDMI cable. +* _Beginner's Guide_ book. + +=== Raspberry Pi 500 kit + +* Raspberry Pi 500 keyboard computer. +* 27 W Raspberry Pi USB-C power supply. +* Raspberry Pi USB mouse. +* 32 GB A2-class microSD card, pre-programmed with Raspberry Pi OS. +* micro-HDMI cable. +* _Beginner's Guide_ book. + +=== Raspberry Pi 500+ kit + +* Raspberry Pi 500+ keyboard computer, including an SSD pre-programmed with Raspberry Pi OS. +* 27 W Raspberry Pi USB-C power supply. +* Raspberry Pi USB mouse. +* micro-HDMI cable. +* Spudger (opening tool) for access to the M.2 SSD (also provided with the standalone keyboard). +* Keycap puller for removing keycaps (also provided with the standalone keyboard). +* _Beginner's Guide_ book. + +== Getting started + +To get up and running with your Raspberry Pi keyboard computer, you can follow the instructions at xref:../computers/getting-started.adoc#setting-up-your-raspberry-pi[Getting started with your Raspberry Pi]. + +If you have a Raspberry Pi 500+ or got your 400 or 500 as part of a kit that includes a microSD card pre-programmed with Raspberry Pi OS, you can skip ahead in the instructions to xref:../computers/getting-started.adoc#set-up-your-raspberry-pi[Set up your Raspberry Pi]. + +[[mechanical-keys]] +== Raspberry Pi 500+ mechanical keys + +Each key on Raspberry Pi 500+ has its own mechanical switch underneath the keycap that registers a key press. Raspberry Pi 500+ uses Gateron KS-33 low-profile mechanical switches. By default, Gateron KS-33 switches use coloured stems to indicate switch type (clicky, tactile, or linear). Raspberry Pi 500+ uses clicky Gateron KS-33 switches with a custom grey stem. + +Keycaps attach to the cross-shaped stem on top of the Gateron switches. These switches have Cherry MX-compatible, cross-shaped stems, which is the industry standard. For guidance and instructions on removing and replacing keycaps on your Raspberry Pi 500+, see <> on this page. + +== Raspberry Pi 500+ customisation + +Raspberry Pi 500+ is the most recent keyboard computer. It offers the following customisation options: + +* Replaceable M.2 SSD storage. For instructions, see <>. +* Keycap set changes. For instructions, see <>. +* Backlighting presets, colours, and brightness. For instructions, see <>. + +For more advanced users, Raspberry Pi 500+ also allows: + +* LED configuration beyond the built-in presets. +* On-the-fly key remapping. + +For more information, see <>. + +[[replace-m2]] +=== Replace your M.2 SSD + +You can expand storage capacity by replacing the M.2 SSD in your Raspberry Pi 500+. The Raspberry Pi 500+ supports SSDs that use the M.2 M key edge connector in the form factors 2230, 2242, 2260, and 2280. + +To complete this procedure, you need a cross head screwdriver, a flat head screwdriver, and the provided plastic opening tool (spudger). + +1. *Unscrew the keyboard.* Locate the five screws on the bottom of the keyboard and unscrew them using a cross head screwdriver. Keep the screws in a safe place. ++ +image::images/M2-step-1.jpg[alt="Unscrew keyboard"] + +2. *Loosen the top of the keyboard from the bottom of the keyboard.* Position the spudger into the indentation at the front of the keyboard and then angle the spudger upwards to start splitting the keyboard. ++ +image::images/M2-step-2.jpg[alt="Spudger"] + +3. *Detach the top of the keyboard from the bottom of the keyboard.* Wedge and swipe the spudger along the opening groove at the front of the keyboard to detach the top of the keyboard from the bottom. ++ +image::images/M2-step-3.jpg[alt="Slide spudger along groove"] + +4. *Open the keyboard.* Place the bottom of the keyboard on a flat surface and fold (don't lift) the top of the keyboard over to lay it face down on the same surface. Be careful not to pull the top and bottom parts away from each other entirely because they're attached with a flexible cable. ++ +image::images/M2-step-4.jpg[alt="Fold open the keyboard"] + +5. *Release the M.2 SSD.* By hand or with a flat head screwdriver, turn the screw on the right side of the M.2 SSD anticlockwise to loosen it. Remove the screw and keep it in a safe place. The M.2 SSD springs up when you remove the screw. ++ +image::images/M2-step-5.jpg[alt="Fold open the keyboard"] + +6. *Pull out the M.2 SSD.* Pull the M.2 SSD away from and then out of the keyboard. ++ +image::images/M2-step-6.jpg[alt="Pull out M.2 SSD"] + +7. *Add a new M.2 SSD.* Insert another M.2 SSD by sliding it into the slot at the left side. The SSD card fits in only one orientation. Hold the newly inserted M.2 SSD down and replace the screw on the right side of it, turning the screw clockwise to tighten. +8. *Close the keyboard.* Fold the top of the keyboard back onto the bottom of the keyboard and click it back into place. +9. *Screw the keyboard shut.* Place and turn the five screws back into place with your cross head screwdriver. + +[[replace-keycaps]] +=== Change your keycaps + +You can swap out the default keycaps on your Raspberry Pi 500+ for custom sets. Because the Gateron KS-33 switches on Raspberry Pi 500+ use the industry standard Cherry MX stem shape, most third-party keycaps that are designed for Cherry MX are compatible. Avoid taller profiles that could hit the keyboard frame or produce too much noise. For more guidance on choosing alternative keycaps, see <>, <>, and <> in this section. + +To remove a keycap: + +1. Insert the prongs of the keycap puller on opposite sides of a keycap that you want to remove or replace. Allow the prongs to fall below the keycap. +2. Press the sides of the prongs to grip the keycap, ensuring equal pressure on both sides. +3. Gently pull the keycap straight up off of the keyboard. Avoid pulling at an angle. + +NOTE: You can also remove keycaps to allow you to clean underneath them. + +You can now replace the keycap with another one, or reinstall the same keycap in its original place: + +1. Align the keycap by lining up its cross-shaped stem underneath it with the cross-shaped stem on the corresponding switch. +2. Press the keycap down gently but firmly until the keycap is fully seated and feels secure. + +[[layout]] +==== Keyboard layout + +Keycaps are available in various languages, with US layouts being the most widely available, followed by UK layouts. Other languages can be harder to source. + +The Raspberry Pi 500+ keyboard has a modified 75% layout, which means that some keys are non-standard and might not have matching keycaps in typical sets: + +* *Power key.* The power key in the top-right corner of the keyboard might not be included in other keycap sets. +* *Lighting labels.* The lighting labels on the *F4*, *F5*, and *F6* keys of Raspberry Pi 500+ are non-standard. +* *Volume labels.* The volume labels on the *F10*, *F11*, and *F12* keys of Raspberry Pi 500+ are non-standard. +* *System Request key.* The *SysRq* key on Raspberry Pi 500+ is non-standard. +* *Insert key.* The *Ins* key on Raspberry Pi 500+ is non-standard. +* *Command key.* The *Cmd* key typically says *Win* on keycap sets, and third-party keycap sets don't include the Raspberry Pi logo. + +[[profiles]] +==== Keycap profiles + +The low-profile keycaps included on Raspberry Pi 500+ perform like traditional mechanical keys while also keeping the keyboard compact. We recommend *DSA* or *Cherry* profiles for replacement keycaps: + +* *DSA* keycaps have a flat profile and can be swapped across rows. +* *Cherry* keycaps are generally compatible, but have different sculpted profiles for ergonomics. This means that each row can have a slightly different height or angle. For a consistent feel, check row alignment. + +NOTE: *XDA*, *OEM*, and *SA* keycaps aren't recommended because they're taller, and can therefore produce more noise or come into contact with the keyboard frame. + +[[lighting]] +==== Lighting + +The LEDs on the Raspberry Pi 500+ keyboard light the top half of the keycaps, which means that fully opaque keycaps might block illumination. + +[[backlighting]] +=== Customise your backlighting + +Raspberry Pi 500+ has most backlighting turned off by default. The only lighting that's enabled by default includes: + +* The activity LED behind the power button when the Raspberry Pi 500+ keyboard is on. This LED: + - Is red when Raspberry Pi 500+ is receiving power but is turned off. + - Is green when Raspberry Pi 500+ is turned on. + - Blinks with SD card activity. +* The rainbow lighting animation that travels through the keys when you start up the Raspberry Pi 500+ keyboard. Advanced users can turn this off for particular backlighting presets using the configuration software. For more information, see <> in <>. +* The Caps Lock indicator that lights up when active. + +Raspberry Pi 500+ supports other RGB backlighting presets, powered by https://github.com/raspberrypi/vial-qmk[Vial QMK firmware]. For instructions, see <>. + +[[choose-presets]] +==== Choose backlight preset + +Raspberry Pi 500+ comes with seven presets, which are the saved lighting profiles on your Raspberry Pi 500+ keyboard. To cycle forwards through these presets, press *Fn* + *F4* on the keyboard; to cycle backwards through these presets, press *Fn* + *Shift* + *F4* on the keyboard. + +[cols="1,5,16", options="header"] +|=== + +| |Preset name |Description + +| *0* +| *Off* +| The default preset that only lights the power key, the startup animation, and the Caps Lock indicator. + +| *1* +| *Solid Colour White* +| Solid white backlight. + +| *2* +| *Solid Colour* +| Solid colour backlight, which you can change using *Fn* + *F3*. + +| *3* +| *Gradient Left Right* +| Fixed rainbow backlight. + +| *4* +| *Cycle Pinwheel* +| Animated rainbow backlight, where the keys cycle through different colours in a rainbow pattern across the keyboard. + +| *5* +| *Typing Heatmap* +| The more you press a key, the closer to red it gets and the more the keys around it light up. + +| *6* +| *Solid Reactive Simple* +| Reactive keyboard, where the keys light up when you press them. You can choose which colour using *Fn* + *F3*. +|=== + +[[backlight-controls]] +==== Backlight controls + +You can customise the RGB backlighting colour (depending on the preset) and brightness using the following keyboard shortcuts: + +* *Change colour.* Press *Fn* + *F3* to cycle forwards through 16 backlight colours; press *Fn* + *Shift* + *F3* to cycle backwards through the colours. +* *Adjust brightness.* Press *Fn* + *F5* to reduce the brightness; press *Fn* + *F6* to increase the brightness. + +NOTE: The *Shift* key on your keyboard either cycles backwards through available options, or inverts the key function. For example, *Fn* + *Shift* + *F5* increases the brightness instead of decreasing it. + +[[advanced]] +== Advanced software settings + +Raspberry Pi offers firmware that controls the built-in keyboard on Raspberry Pi 500 and 500+. With this tool, you can: + +* Enable and configure advanced LED settings for Raspberry Pi 500+. For more information, see <>. +* Remap keys on both Raspberry Pi 500 and 500+. For more information, see <>. +* Play a Flappy Bird-style game on Raspberry Pi 500+. For information, see <>. + + +For more information and options beyond those described in this page, see the https://github.com/raspberrypi/rpi-keyboard-config/blob/main/README.md[README for the configurator tool] on GitHub. + +=== Firmware setup + +To use software-controlled lighting and to remap keys, you must first update the keyboard firmware and install the configuration tool: + +. Install the firmware update package. Run the following command: `sudo apt install rpi-keyboard-fw-update`. +. Update to the latest keyboard firmware update, which checks for and installs the firmware required for advanced functionality. Run the following command: `sudo rpi-keyboard-fw-update`. +. Install the configuration tool, which allows you to adjust LEDs and remap keys. Run the following command: `sudo apt install rpi-keyboard-config`. + +You can see the keyboard firmware source code in the https://github.com/raspberrypi/vial-qmk[Vial QMK] repository on GitHub. + +=== Basic information commands + +Use the following commands as appropriate to view the current state of your keyboard computer before customising its lighting or remapping its keys. + +[cols="3,5", options="header"] +|=== +|Command|Description + +| `rpi-keyboard-config info --ascii`|View keyboard model, lock status, and layout diagram. If you don't need the layout diagram, remove `--ascii` from the command. + +| `rpi-keyboard-config help`|List all available commands with brief descriptions. + +| `rpi-keyboard-config list-effects`|List all available lighting effects, which can be applied temporarily or to a preset. + +|`rpi-keyboard-config preset get`|List all current presets, numbered 0 to 6. + +|=== + +[[advanced-led]] +=== Advanced LED settings + +Advanced users can customise Raspberry Pi 500+ backlighting beyond the basic presets. Specifically, the `rpi-keyboard-config` software allows you to: + +* Add other lighting effects to your Raspberry Pi 500+, temporarily or as presets. For information, see <>. +* Set a different startup animation for each preset. For information, see <>. +* Add speed, saturation, and hue parameters to an effect or preset. For information, see <>. +* Control global hue and brightness. For information, see <>. +* Control individual LED lighting by configuring and then applying the `direct` effect. For information, see <>. + +NOTE: Advanced LED settings are only available for Raspberry Pi 500+ because only this model of keyboard computer has backlit keys. + +[[effects]] +==== Lighting effects + +You can control Raspberry Pi 500+ backlighting through various effects and parameters. With the exception of the power button, which is unaffected by any effect, keyboard lighting effects are controlled through the configuration software. With this software, you can: + +* Temporarily apply an effect to the keyboard until you shut down and restart the keyboard, or until you start to cycle through the presets again. Cycling through the presets continues from the last preset before you applied a temporary effect. +* Assign an effect to one of the seven keyboard presets. The default presets are listed in <>. You can also add parameters and startup animations to presets. + +Use the following commands to choose, apply, and view a temporary effect on your keyboard. + +[cols="2,3", options="header"] +|=== +|Command|Description + +| `rpi-keyboard-config list-effects`|List available lighting effects. + +| `rpi-keyboard-config effect "effect-name"`|Temporarily apply an effect, replacing `effect-name` with the name of the effect, as listed in the output of the previous command. + +| `rpi-keyboard-config effect`|View the currently active effect. + +|=== + +You can also adjust the following parameters for an effect: speed, saturation, and hue. For example, the following command changes the speed of the `"Cycle Spiral"` effect to 42. + +[source,console] +---- +$ rpi-keyboard-config effect "Cycle Spiral" --speed 42 +---- + +Any parameter you add must be a number between 0 and 255. For more information about these parameters, including when they are and aren't useful to add, see <>. + +[[view-presets]] +==== View presets + +You can use the configuration software to check which preset you're on, move between them, or see details about each one. Each preset has an index number between 0 and 6, representing the seven available slots. + +[cols="1,1,1", options="header"] +|=== +|Command|Description|Example (assuming default presets) + +| `rpi-keyboard-config preset index`|Show the index of the current preset.|If you're currently on the *Gradient Left Right* preset, this command tells you that you're on preset 3. + +| `rpi-keyboard-config preset index X`|Skip to a different position in the preset cycle, where `X` is the index of the preset (a number between `0` and `6`).|The following command takes you to the *Typing Heatmap* preset: +`rpi-keyboard-config preset index 5`. + +| `rpi-keyboard-config preset get`|List all current presets.|This command lists the seven presets, numbered 0 to 6. Default presets are summarised in <>. + +| `rpi-keyboard-config preset get X`|Show details about a specific preset, where `X` is the index of the preset (a number between `0` and `6`). |The following command tells you that preset 5 is the *Typing Heatmap* preset: +`rpi-keyboard-config preset get 5`. + +|=== + +[[reassign]] +==== Reassign presets + +You can reassign presets to use different effects. For information about effects, including how to obtain a list of available effects, see <>. + +NOTE: Changes you make to presets persist every time you restart your Raspberry Pi 500+. You can reset your presets to default at any time using the instructions in <>. + +The following example changes the *Gradient Left Right* (`3`) preset to an effect that you specify in the quotation marks. + +[source,console] +---- +$ rpi-keyboard-config preset set 3 "effect-name" +---- + +While reassigning a preset, you can add one or more of the following parameters: speed, hue, or saturation. You can also set a specific startup animation for that preset. For information about these options, see <> and <>. + +For example, the following command replaces the default *Gradient Left Right* preset with the *Rainbow Beacon* effect at a speed of 140. It would also replace the default startup animation for that preset so that the startup animation finishes on white LEDs and then fades into the *Rainbow Beacon* effect. + +[source,console] +---- +$ rpi-keyboard-config preset set 3 "Rainbow Beacon" --speed 140 --startup-animation "START_ANIM_W_FADE_SAT" +---- + +[[startup]] +==== Change preset startup animation + +For each preset, you can specify a startup animation with the following command: + +[source,console] +---- +$ --startup-animation "name_of_animation" +---- + +Replace `name_of_animation` with one of the following five possible startup animations: + +[cols="1,3", options="header"] +|=== +|Startup animation name|Description + +|`START_ANIM_NONE`|No startup animation. + +|`START_ANIM_B_NO_FADE`|Pulsing rainbow animation followed by blank LEDs and then immediately into the chosen effect. + +|`START_ANIM_B_FADE_VAL`|Pulsing rainbow animation followed by blank LEDs fading into the chosen effect. This is the *default* startup animation. + +|`START_ANIM_W_NO_FADE`|Pulsing rainbow animation followed by white LEDs and then immediately into the chosen effect. + +|`START_ANIM_W_FADE_SAT`|Pulsing rainbow animation followed by white LEDs fading into the chosen effect. + +|=== + +For example, the following command would replace the startup animation for preset 3 with a pulsing rainbow animation that finishes on white LEDs and then fades into the preset: + +[source,console] +---- +$ rpi-keyboard-config preset set 3 --startup-animation "START_ANIM_W_FADE_SAT" +---- + +[[parameters]] +==== Effect and preset parameters + +You can add the following speed, saturation, and hue parameters to any effect or preset: + +* *Speed.* To set the speed, add `--speed X` to the command, where `X` is a number between 0 and 255. If you don't add the speed parameter, the default speed is 128. +* *Saturation.* To set the saturation, add `--sat X` to the command, where `X` is a number between 0 and 255. If you don't add the saturation parameter, the default is 255 (maximum saturation). +* *Hue.* To set the hue, add `--hue X` to the command, where `X` is a number between 0 and 255. If you don't set a hue, the default is to use the global hue of the keyboard, which is set with *Fn + F3* on the keyboard. For more information, see <>. + +Some effects and presets are unaffected by some parameters. For example, a solid colour is a static effect and so isn't affected by a speed change. + +[[global-lighting]] +==== Global lighting controls + +Hue and brightness are managed on a range of 0 to 255. You can view and set the hue and brightness of your Raspberry Pi 500+ by adding `hue` and `brightness` to the `rpi-keyboard-config` command. + +[cols="2,3", options="header"] +|=== +|Command|Description + +| `rpi-keyboard-config hue`|Show the current global hue (colour) of your Raspberry Pi 500+. + +| `rpi-keyboard-config hue X`|Set the global hue, where `X` is a number between 0 and 255. + +| `rpi-keyboard-config brightness`|Show the current lighting brightness of your Raspberry Pi 500+. + +| `rpi-keyboard-config brightness X`|Set the lighting brightness, where `X` is a number between 0 and 255. +|=== + +[[direct]] +==== Individual LED controls + +You can customise the backlighting of individual LEDs on your Raspberry Pi 500+. This is useful for precise visual tweaks and for creating unique backlight patterns. + +All the individual LED customisations that you can make are applied to an effect called `direct`. You then apply the `direct` effect either: + +* Temporarily using the instructions in <>. +* By assigning it to a preset using the instructions on <>. + +If the `direct` effect is not already applied by one of the preceding methods, it is automatically temporarily applied when running any of the individual LED customisations. + +The following table lists commands to set LED colours (globally or for each LED), and save and load LED configurations. + +[cols="2,3", options="header"] +|=== +|Command|Description + +| `rpi-keyboard-config leds clear`|Turn off all LEDs except the power button. + +| `rpi-keyboard-config leds set --colour `|Specify the colour of all the LEDs. Replace `` with either with the common colour name (for example, `red`), HSV numbers ranging from 0 to 255 in quotation marks (for example, `"0,255,255"`), or RGB numbers in quotation marks (for example, `"rgb(255,0,0)"`). + +| `rpi-keyboard-config led set "," --colour `|Specify the colour of a specific LED, where the LED is the row and column co-ordinates (`","`). You can check the LED row and column co-ordinates, as well as what each of the keys is currently set to, with the following command: `rpi-keyboard-config info --ascii`. + +|`rpi-keyboard-config leds save`|Save your LED configuration. To use the saved configuration, you can then either assign the `direct` effect to a preset using the instructions in <>, or load the configuration directly using the `load` command, below. + +|`rpi-keyboard-config leds load`|Temporarily apply the `direct` effect to load the saved LED configuration. This is useful if you haven't assigned the `direct` effect to a preset. + +|=== + +In the following example, the specific LED referenced by the row and column co-ordinates (`"2,6"`) is set to green with hue-saturation-value (HSV) numbers (`"85,255,255"`): + +[source,console] +---- +$ rpi-keyboard-config led set "2,6" --colour "85,255,255" +---- + +[[reset-presets]] +==== Reset presets and LED customisations + +The following command resets your presets to the default settings and clears your saved LED customisations: + +[source,console] +---- +$ rpi-keyboard-config reset-presets +---- + +[[remapping]] +=== Remap keys on your keyboard + +Advanced users can remap the keys on both a Raspberry Pi 500 and 500+, allowing you to customise your keyboard layout to match your workflow or gaming needs. + +Use the `rpi-keyboard-config` software to: + +* List all keycodes available for remapping. For information, see <>. +* Check the current keymap. For information, see <>. +* Remap the keys on your keyboard. For information, see <>. +* Watch key presses in the configuration software. For information, see <>. +* Edit up to four key-mapping layers. For information, see <>. +* Reset your keyboard to the default key mapping. For information, see <>. + +The Raspberry Pi 500 and 500+ are compatible with https://get.vial.today/[Vial]. You can use the Vial web UI to remap your keys. For information, see <>. + +[[keycodes]] +==== List keycodes + +To remap your keyboard, you need to know the keycodes for the keys you want to assign on your Raspberry Pi 500 or 500+. The following command lists all possible keycodes: + +[source,console] +---- +$ rpi-keyboard-config list-keycodes +---- + +You can also list only the keycodes in a specific category using `--category`. For example, the following command lists all the keycodes for the `basic` category: + +[source,console] +---- +$ rpi-keyboard-config list-keycodes --category basic +---- + +[[keymap]] +==== View keymap + +Use the following command to see how keys are currently mapped on all positions on your keyboard: + +[source,console] +---- +$ rpi-keyboard-config key get-all +---- + +Use the following command to see the keycode for a specific key at a position that you specify with the key's row and column co-ordinates. Replace `` and `` with the appropriate numbers: + +[source,console] +---- +$ rpi-keyboard-config key get +---- + +NOTE: You can check a key's row-column co-ordinates using `rpi-keyboard-config info --ascii`. This provides a layout diagram of the keyboard. + +For example, to get the keycode for the *Q* key (with the row-column co-ordinates `2 2`) on your keyboard: + +[source,console] +---- +$ rpi-keyboard-config key 2 2 +---- + +[[remap]] +==== Remap keys + +Use the following command to set a different keycode at a position that you specify with the key's row and column. Replace `` and `` with the appropriate numbers, and replace `` with the keycode that you want to map to the specified key. + +[source,console] +---- +$ rpi-keyboard-config key set +---- + +NOTE: You can check a key's row-column co-ordinates using `rpi-keyboard-config info --ascii`. You can check a key's keycode using `rpi-keyboard-config list-keycodes`. + +For example, if you wanted to remap *Q* (with the row-column co-ordinates `2 2`) on your keyboard as *R* (with the keycode `KC_R`): + +[source,console] +---- +$ rpi-keyboard-config key set 2 2 KC_R +---- + +[[watch]] +==== Watch key presses + +You can read the state of keys to monitor key activity inside the configuration tool to tell you which keys are pressed and released. Before you can do this, you must unlock the keyboard. + +To check the lock status of your keyboard: + +[source,console] +---- +$ rpi-keyboard-config info +---- + +To unlock your keyboard so that you can then watch key presses: + +[source,console] +---- +$ rpi-keyboard-config unlock +---- + +The configuration tool guides you through holding down specific keys until a countdown completes. By default, the keys are *Enter* + *Escape*, which light up in red to guide you. If you've remapped these keys, the unlock sequence uses the physical positions of those keys, not their new labels; the command tells you which remapped keys to press for your setup. + +When the keyboard is unlocked, you can monitor key activity with the following command: + +[source,console] +---- +$ rpi-keyboard-config key watch +---- + +This prints to the terminal whenever a key is pressed or released. For LED feedback, the keys on the keyboard also light up red as you press them. To remove the light-up functionality while watching key presses, add `--no-leds` to the above command: + +[source,console] +---- +$ rpi-keyboard-config key watch --no-leds +---- + +Lock your keyboard when you're done. The following `lock` command doesn't require any confirmation; it locks the keyboard immediately. + +[source,console] +---- +$ rpi-keyboard-config lock +---- + +[[layers]] +==== Manage layers + +You can set different key mappings on different layers. There are four layers that you can edit, numbered 0–3; the default layer is 0. By default, the *Fn* key changes the keyboard from layer 0 to layer 1. You can add `--layer` to any of the following commands, as appropriate: + +* `rpi-keyboard-config key get-all` +* `rpi-keyboard-config key get` +* `rpi-keyboard-config key set` + +[[reset-keymap]] +==== Reset to default keyboard layout + +The following command resets your keyboard layout to the default key mappings, including resetting all layers: + +[source,console] +---- +$ rpi-keyboard-config reset-keymap +---- + +[[vial]] +==== Remap keys with Vial + +Vial works with your keyboard firmware to configure your keyboard in real time. + +. On your Raspberry Pi 500 or 500+, go to https://vial.rocks/[Vial web interface]. +. In the window that appears, select your keyboard and click **Connect**. +. Use the Vial web interface to change your key mappings. + +For information about how to use Vial, see the https://get.vial.today/[Vial documentation]. + +NOTE: We recommend that you use Vial only for working with the key mapping and not for customising the RGB LEDs. + +=== Return to default settings + +Your software-controlled preferences are saved in flash memory and persist after reboot and firmware updates. To reset your backlight settings and keyboard layout, wipe the flash area that they're stored in with the following command: + +[source,console] +---- +$ sudo rpi-keyboard-fw-update -w -i +---- + +This clears all customisations and restores the keyboard to default backlighting and key mapping. + +If the keyboard layout has been misconfigured to the extent that input on the Raspberry Pi 500+ is no longer possible, you can still complete a reset to default settings by connecting an external USB keyboard to one of the available USB ports and entering the command from that device instead. + +[[flappy-bird]] +=== Flappy Bird game + +For a bit of fun, the following command allows you to use the keyboard backlighting to play a basic Flappy Bird-style game on Raspberry Pi 500+: + +[source,console] +---- +$ rpi-keyboard-config game +---- + +The game uses your keyboard backlighting as the "screen", and the lights flash in patterns to represent the bird and pipes. Your goal is to keep the bird from hitting pipes, similar to the original Flappy Bird. Press the space bar to fly over pipes (lit-up LEDs). Your "bird" continues to drop until you press the space bar. Your score is determined by the number of pipes you've successfully passed, which is indicated by the number of purple LEDs along the top of the keyboard. + +To exit the game, press *Q* on your keyboard. \ No newline at end of file diff --git a/documentation/asciidoc/computers/processors/bcm2712.adoc b/documentation/asciidoc/computers/processors/bcm2712.adoc index 66d86f307..54f69f283 100644 --- a/documentation/asciidoc/computers/processors/bcm2712.adoc +++ b/documentation/asciidoc/computers/processors/bcm2712.adoc @@ -15,7 +15,7 @@ Headline features include: * Improved HVS and display pipeline ** Dual 4Kp60 support * VideoCore V3D VII -** ~2-2.5× faster (more hardware, 1GHz versus 600MHz on Pi 4) +** ~2-2.5× faster (more hardware, 960MHz versus 500MHz on Pi 4) ** OpenGL ES 3.1, Vulkan 1.3 * 4Kp60 HEVC hardware decode ** Other CODECs run in software diff --git a/documentation/asciidoc/computers/raspberry-pi/images/500plus.png b/documentation/asciidoc/computers/raspberry-pi/images/500plus.png new file mode 100644 index 000000000..4a8d2c0f2 Binary files /dev/null and b/documentation/asciidoc/computers/raspberry-pi/images/500plus.png differ diff --git a/documentation/asciidoc/computers/raspberry-pi/images/500plusfront.png b/documentation/asciidoc/computers/raspberry-pi/images/500plusfront.png new file mode 100644 index 000000000..9a7bd7400 Binary files /dev/null and b/documentation/asciidoc/computers/raspberry-pi/images/500plusfront.png differ diff --git a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc index 168c673f7..de3d1cffb 100644 --- a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc @@ -2,14 +2,14 @@ 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 *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. +* **<>.** The flagship Raspberry Pi series 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. +* **<>.** Raspberry Pi keyboard computers combine SBC hardware, a full Linux operating system, and common ports inside a compact keyboard case. +* **<>.** Small and affordable models in a minimal form factor that provide a full Linux operating system and essential ports with low power consumption. +* **<>.** Boards designed for embedded and industrial applications that provide the same hardware as flagship SBCs but in a smaller form factor with no on-board connectors. Instead, they connect to a separate baseboard that supplies the necessary ports and pins. +* **<>.** Small and versatile boards that don't run Linux. Instead of removable storage, programs are flashed directly onto on-board memory. Pico microcontrollers are ideal for real-time control and lightweight embedded projects. -Additionally, Raspberry Pi makes the *Pico* series of tiny, versatile https://en.wikipedia.org/wiki/Microcontroller[microcontroller] boards. Pico models do not run Linux or allow for removable storage, but instead allow programming by flashing a binary onto on-board flash storage. - -=== Flagship series +[[flagship-series]] +=== Flagship single-board computer (SBC) series *Model B* indicates the presence of an Ethernet port. *Model A* indicates a lower-cost model in a smaller form factor with no Ethernet port, reduced RAM, and fewer USB ports to limit board height. @@ -23,104 +23,104 @@ Additionally, Raspberry Pi makes the *Pico* series of tiny, versatile https://en image::images/model-b.jpg[alt="Raspberry Pi Model B"] | xref:processors.adoc#bcm2835[BCM2835] a| -256MB +256 MB -512MB | 26-pin GPIO header +512 MB | 26-pin GPIO header a| * HDMI -* 2× USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm audio jack +* 2 × USB 2.0 +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm audio jack * RCA composite video -* 100Mb/s Ethernet RJ45 +* 100 Mb/s Ethernet RJ45 * SD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi Model A image::images/model-a.jpg[alt="Raspberry Pi Model A",width="80%"] -| xref:processors.adoc#bcm2835[BCM2835] | 256MB | 26-pin GPIO header +| xref:processors.adoc#bcm2835[BCM2835] | 256 MB | 26-pin GPIO header a| * HDMI * USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm audio jack +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm audio jack * RCA composite video * SD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi Model B+ image::images/model-b-plus.jpg[alt="Raspberry Pi Model B+"] -| xref:processors.adoc#bcm2835[BCM2835] | 512MB | 40-pin GPIO header +| xref:processors.adoc#bcm2835[BCM2835] | 512 MB | 40-pin GPIO header a| * HDMI -* 4× USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm AV jack -* 100Mb/s Ethernet RJ45 +* 4 × USB 2.0 +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm AV jack +* 100 Mb/s Ethernet RJ45 * microSD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi Model A+ image::images/model-a-plus.jpg[alt="Raspberry Pi Model A+"] | xref:processors.adoc#bcm2835[BCM2835] a| -256MB +256 MB -512MB | 40-pin GPIO header +512 MB | 40-pin GPIO header a| * HDMI * USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port * 3.5mm AV jack * microSD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi 2 Model B image::images/2-model-b.jpg[alt="Raspberry Pi 2 Model B"] | xref:processors.adoc#bcm2836[BCM2836] (in version 1.2, switched to xref:processors.adoc#bcm2837[BCM2837]) | 1 GB | 40-pin GPIO header a| * HDMI -* 4× USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm AV jack -* 100Mb/s Ethernet RJ45 +* 4 × USB 2.0 +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm AV jack +* 100 Mb/s Ethernet RJ45 * microSD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi 3 Model B image::images/3-model-b.jpg[alt="Raspberry Pi 3 Model B"] | xref:processors.adoc#bcm2837[BCM2837] | 1 GB | 40-pin GPIO header a| * HDMI -* 4× USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm AV jack -* 100Mb/s Ethernet RJ45 -* 2.4GHz single-band 802.11n Wi-Fi (35Mb/s) +* 4 × USB 2.0 +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm AV jack +* 100 Mb/s Ethernet RJ45 +* 2.4 Ghz single-band 802.11n Wi-Fi (35 Mb/s) * Bluetooth 4.1, Bluetooth Low Energy (BLE) * microSD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi 3 Model B+ image::images/3-model-b-plus.jpg[alt="Raspberry Pi 3 Model B+"] -| xref:processors.adoc#bcm2837b0[BCM2837b0] | 1GB | 40-pin GPIO header +| xref:processors.adoc#bcm2837b0[BCM2837b0] | 1 GB | 40-pin GPIO header a| * HDMI -* 4× USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm AV jack -* 300Mb/s Ethernet RJ45 with PoE support -* 2.4/5GHz dual-band 802.11ac Wi-Fi (100Mb/s) +* 4 × USB 2.0 +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm AV jack +* 300 Mb/s Ethernet RJ45 with PoE support +* 2.4/5 GHz dual-band 802.11ac Wi-Fi (100 Mb/s) * Bluetooth 4.2, Bluetooth Low Energy (BLE) * microSD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi 3 Model A+ image::images/3-model-a-plus.jpg[alt="Raspberry Pi 3 Model A+"] @@ -128,70 +128,71 @@ image::images/3-model-a-plus.jpg[alt="Raspberry Pi 3 Model A+"] a| * HDMI * USB 2.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm AV jack -* 2.4/5GHz dual-band 802.11ac Wi-Fi (100Mb/s) +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm AV jack +* 2.4/5 Ghz dual-band 802.11ac Wi-Fi (100 Mb/s) * Bluetooth 4.2, Bluetooth Low Energy (BLE) * microSD card slot -* micro USB power +* micro-USB power ^.^a| .Raspberry Pi 4 Model B image::images/4-model-b.jpg[alt="Raspberry Pi 4 Model B"] | xref:processors.adoc#bcm2711[BCM2711] a| -1GB +1 GB -2GB +2 GB -4GB +4 GB -8GB | 40-pin GPIO header +8 GB | 40-pin GPIO header a| -* 2× micro HDMI -* 2× USB 2.0 -* 2× USB 3.0 -* standard 15-pin, 1.0mm pitch, 16mm width, CSI (camera) port -* standard 15-pin, 1.0mm pitch, 16mm width, DSI (display) port -* 3.5mm AV jack -* Gigabit (1Gb/s) Ethernet RJ45 with PoE+ support -* 2.4/5GHz dual-band 802.11ac Wi-Fi (120Mb/s) +* 2 × micro-HDMI +* 2 × USB 2.0 +* 2 × USB 3.0 +* standard 15-pin, 1.0 mm pitch, 16 mm width, CSI (camera) port +* standard 15-pin, 1.0 mm pitch, 16 mm width, DSI (display) port +* 3.5 mm AV jack +* Gigabit (1 Gb/s) Ethernet RJ45 with PoE+ support +* 2.4/5 GHz dual-band 802.11ac Wi-Fi (120 Mb/s) * Bluetooth 5, Bluetooth Low Energy (BLE) * microSD card slot -* USB-C power (5V 3A (15W)) +* USB-C power; 5 V at 3 A (15W) ^.^a| .Raspberry Pi 5 image::images/5.jpg[alt="Raspberry Pi 5"] | xref:processors.adoc#bcm2712[BCM2712] a| -2GB +2 GB -4GB +4 GB -8GB +8 GB -16GB | 40-pin GPIO header +16 GB | 40-pin GPIO header a| -* 2× micro HDMI -* 2× USB 2.0 -* 2× USB 3.0 -* 2× mini 22-pin, 0.5mm (fine) pitch, 11.5mm width, combined CSI (camera)/DSI (display) ports +* 2 × micro-HDMI +* 2 × USB 2.0 +* 2 × USB 3.0 +* 2 × mini 22-pin, 0.5 mm (fine) pitch, 11.5 mm width, combined CSI (camera)/DSI (display) ports * single-lane https://datasheets.raspberrypi.com/pcie/pcie-connector-standard.pdf[PCIe FFC connector] * https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf[UART connector] * RTC battery connector * xref:raspberry-pi.adoc#raspberry-pi-5-fan-connector-pinout[four-pin JST-SH PWM fan connector] -* Gigabit (1Gb/s) Ethernet RJ45 with PoE+ support -* 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s) +* Gigabit (1 Gb/s) Ethernet RJ45 with PoE+ support +* 2.4/5 GHz dual-band 802.11ac Wi-Fi 5 (300 Mb/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; 5 V at 5 A (25W); or 5 V at 3 A (15 W) with a 600 mA 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-computers]] +=== Keyboard computer (X00) 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. +Keyboard series devices use model identifiers of the form ``, where `X` indicates the corresponding flagship single-board computer (SBC) series device. For example, Raspberry Pi 400 is the keyboard version of Raspberry Pi 4. For more detailed information about Raspberry Pi keyboard computers, see xref:keyboard-computers.adoc[Keyboard computers]. [cols="6a,2,2,3,5"] |=== @@ -200,44 +201,57 @@ Keyboard series devices use model identifiers of the form ``, where `X` ind ^.^a| .Raspberry Pi 400 image::images/400.jpg[alt="Raspberry Pi 400"] -| xref:processors.adoc#bcm2711[BCM2711] | 4GB | 40-pin GPIO header +| xref:processors.adoc#bcm2711[BCM2711] | 4 GB | 40-pin GPIO header a| -* 2× micro HDMI +* 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) +* 2 × USB 3.0 +* Gigabit (1 Gb/s) Ethernet RJ45 +* 2.4/5 GHz dual-band 802.11ac Wi-Fi (120 Mb/s) * Bluetooth 5, Bluetooth Low Energy (BLE) * microSD card slot -* USB-C power (5V 3A (15W)) +* USB-C power; 5 V at 3 A (15W) ^.^a| .Raspberry Pi 500 image::images/500.png[alt="Raspberry Pi 500"] -| xref:processors.adoc#bcm2712[BCM2712] | 8GB | 40-pin GPIO header +| xref:processors.adoc#bcm2712[BCM2712] | 8 GB | 40-pin GPIO header a| -* 2× micro HDMI +* 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) +* 2 × USB 3.0 +* Gigabit (1 Gb/s) Ethernet RJ45 +* 2.4/5 GHz dual-band 802.11ac Wi-Fi 5 (300 Mb/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; 5 V at 5 A (25W); or 5 V at 3 A (15W) with a 600 mA peripheral limit +^.^a| +.Raspberry Pi 500+ +image::images/500plus.png[alt="Raspberry Pi 500+"] +| xref:processors.adoc#bcm2712[BCM2712] | 16 GB | 40-pin GPIO header +a| +* 2 × micro-HDMI +* USB 2.0 +* 2 × USB 3.0 +* Gigabit (1 Gb/s) Ethernet RJ45 +* 2.4/5 GHz dual-band 802.11ac Wi-Fi 5 (300 Mb/s) +* Bluetooth 5, Bluetooth Low Energy (BLE) +* microSD card slot +* Internal M.2 SSD (256 GB) +* USB-C power; 5 V at 5 A (25W) |=== +[[zero-series]] === 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. +Models with the *H* suffix have header pins pre-soldered to the GPIO header. Models that lack the *H* suffix don't come with header pins attached to the GPIO header; the user must solder pins manually or attach a third-party pin kit. All Zero models have the following connectivity: -* a microSD card slot -* a mini HDMI port -* 2× micro USB ports (one for input power, one for external devices) +* A microSD card slot +* A mini HDMI port +* 2 × micro-USB ports (one for input power, one for external devices) -Since version 1.3 of the original Zero, all Zero models also include: - -* a mini 22-pin, 0.5mm (fine) pitch, 11.5mm width, CSI (camera) port +Since version 1.3 of the original Zero, all Zero models also include a mini 22-pin, 0.5 mm (fine) pitch, 11.5 mm width, CSI (camera) port. [cols="3a,1,1,1,2"] |=== @@ -246,39 +260,42 @@ Since version 1.3 of the original Zero, all Zero models also include: ^.^a| .Raspberry Pi Zero image::images/zero.jpg[alt="Raspberry Pi Zero"] -| xref:processors.adoc#bcm2835[BCM2835] | 512MB | 40-pin GPIO header (unpopulated) ^| none +| xref:processors.adoc#bcm2835[BCM2835] | 512 MB | 40-pin GPIO header (unpopulated) ^| none ^.^a| .Raspberry Pi Zero W image::images/zero-w.jpg[alt="Raspberry Pi Zero W"] -| xref:processors.adoc#bcm2835[BCM2835] | 512MB | 40-pin GPIO header (unpopulated) +| xref:processors.adoc#bcm2835[BCM2835] | 512 MB | 40-pin GPIO header (unpopulated) a| -* 2.4GHz single-band 802.11n Wi-Fi (35Mb/s) +* 2.4 GHz single-band 802.11n Wi-Fi (35 Mb/s) * Bluetooth 4.0, Bluetooth Low Energy (BLE) ^.^a| .Raspberry Pi Zero WH image::images/zero-wh.jpg[alt="Raspberry Pi Zero WH"] -| xref:processors.adoc#bcm2835[BCM2835] | 512MB | 40-pin GPIO header +| xref:processors.adoc#bcm2835[BCM2835] | 512 MB | 40-pin GPIO header a| -* 2.4GHz single-band 802.11n Wi-Fi (35Mb/s) +* 2.4 GHz single-band 802.11n Wi-Fi (35 Mb/s) * Bluetooth 4.0, Bluetooth Low Energy (BLE) ^.^a| .Raspberry Pi Zero 2 W image::images/zero-2-w.jpg[alt="Raspberry Pi Zero 2 W"] -| xref:processors.adoc#rp3a0[RP3A0] | 512MB | 40-pin GPIO header (unpopulated) +| xref:processors.adoc#rp3a0[RP3A0] | 512 MB | 40-pin GPIO header (unpopulated) a| -* 2.4GHz single-band 802.11n Wi-Fi (35Mb/s) +* 2.4 GHz single-band 802.11n Wi-Fi (35 Mb/s) * Bluetooth 4.2, Bluetooth Low Energy (BLE) ^.^a| .Raspberry Pi Zero 2 WH image::images/zero-2-wh.png[alt="Raspberry Pi Zero 2 WH"] -| xref:processors.adoc#rp3a0[RP3A0] | 512MB | 40-pin GPIO header +| xref:processors.adoc#rp3a0[RP3A0] | 512 MB | 40-pin GPIO header a| -* 2.4GHz single-band 802.11n Wi-Fi (35Mb/s) +* 2.4 GHz single-band 802.11n Wi-Fi (35 Mb/s) * Bluetooth 4.2, Bluetooth Low Energy (BLE) |=== +[[compute-module-series]] === Compute Module series +For more detailed information about the Raspberry Pi Compute Module hardware, see xref:compute-module.adoc[Compute Module hardware]. + [cols="3a,1,1,1,1,2"] |=== | Model | SoC | Memory | Storage | Form factor | Wireless Connectivity @@ -286,72 +303,72 @@ a| ^.^a| .Raspberry Pi Compute Module 1 image::images/compute-module-1.jpg[alt="Raspberry Pi Compute Module 1"] -| xref:processors.adoc#bcm2835[BCM2835] | 512MB -| 4GB | DDR2 SO-DIMM ^| none +| xref:processors.adoc#bcm2835[BCM2835] | 512 MB +| 4 GB | DDR2 SO-DIMM ^| none ^.^a| .Raspberry Pi Compute Module 3 image::images/compute-module-3.jpg[alt="Raspberry Pi Compute Module 3"] -| xref:processors.adoc#bcm2837[BCM2837] | 1GB +| xref:processors.adoc#bcm2837[BCM2837] | 1 GB a| -0GB (Lite) +0 GB (Lite) -4GB | DDR2 SO-DIMM ^| none +4 GB | DDR2 SO-DIMM ^| none ^.^a| .Raspberry Pi Compute Module 3+ image::images/compute-module-3-plus.jpg[alt="Raspberry Pi Compute Module 3+"] -| xref:processors.adoc#bcm2837b0[BCM2837b0] | 1GB +| xref:processors.adoc#bcm2837b0[BCM2837b0] | 1 GB a| -0GB (Lite) +0 GB (Lite) -8GB +8 GB -16GB +16 GB -32GB | DDR2 SO-DIMM ^| none +32 GB | DDR2 SO-DIMM ^| none ^.^a| .Raspberry Pi Compute Module 4S image::images/compute-module-4s.jpg[alt="Raspberry Pi Compute Module 4S"] | xref:processors.adoc#bcm2711[BCM2711] a| -1GB +1 GB -2GB +2 GB -4GB +4 GB -8GB +8 GB a| -0GB (Lite) +0 GB (Lite) -8GB +8 GB -16GB +16 GB -32GB | DDR2 SO-DIMM ^| none +32 GB | DDR2 SO-DIMM ^| none ^.^a| .Raspberry Pi Compute Module 4 image::images/compute-module-4.jpg[alt="Raspberry Pi Compute Module 4"] | xref:processors.adoc#bcm2711[BCM2711] a| -1GB +1 GB -2GB +2 GB -4GB +4 GB -8GB +8 GB a| -0GB (Lite) +0 GB (Lite) -8GB +8 GB -16GB +16 GB -32GB +32 GB | dual 100-pin high density connectors a| optional: -* 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s) +* 2.4/5 GHz dual-band 802.11ac Wi-Fi 5 (300 Mb/s) * Bluetooth 5, Bluetooth Low Energy (BLE) ^.^a| @@ -359,30 +376,31 @@ a| optional: image::images/compute-module-5.png[alt="Raspberry Pi Compute Module 5"] | xref:processors.adoc#bcm2712[BCM2712] a| -2GB +2 GB -4GB +4 GB -8GB +8 GB + +16 GB a| -0GB (Lite) +0 GB (Lite) -16GB +16 GB -32GB +32 GB -64GB +64 GB | dual 100-pin high density connectors a| optional: -* 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s) +* 2.4/5 GHz dual-band 802.11ac Wi-Fi 5 (300 Mb/s) * Bluetooth 5, Bluetooth Low Energy (BLE) |=== NOTE: Compute Modules that use the physical DDR2 SO-DIMM form factor are *not* compatible with DDR2 SO-DIMM electrical specifications. -For more information about Raspberry Pi Compute Modules, see xref:../computers/compute-module.adoc[the Compute Module documentation]. - +[[pico-series]] === Pico microcontrollers 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. @@ -394,34 +412,34 @@ Models with the *H* suffix have header pins pre-soldered to the GPIO header. Mod | .Raspberry Pi Pico image::images/pico.png[alt="Raspberry Pi Pico"] -| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264KB | 2MB | two 20-pin GPIO headers (unpopulated) ^| none +| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264 KB | 2 MB | two 20-pin GPIO headers (unpopulated) ^| none | .Raspberry Pi Pico H image::images/pico-h.png[alt="Raspberry Pi Pico H"] -| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264KB | 2MB | two 20-pin GPIO headers ^| none +| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264 KB | 2 MB | two 20-pin GPIO headers ^| none | .Raspberry Pi Pico W image::images/pico-w.png[alt="Raspberry Pi Pico W"] -| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264KB | 2MB | two 20-pin GPIO headers (unpopulated) +| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264 KB | 2 MB | two 20-pin GPIO headers (unpopulated) a| -* 2.4GHz single-band 802.11n Wi-Fi (10Mb/s) +* 2.4 GHz single-band 802.11n Wi-Fi (10 Mb/s) * Bluetooth 5.2, Bluetooth Low Energy (BLE) | .Raspberry Pi Pico WH image::images/pico-wh.png[alt="Raspberry Pi Pico WH"] -| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264KB | 2MB | two 20-pin GPIO headers +| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264 KB | 2 MB | two 20-pin GPIO headers a| -* 2.4GHz single-band 802.11n Wi-Fi (10Mb/s) +* 2.4 GHz single-band 802.11n Wi-Fi (10 Mb/s) * Bluetooth 5.2, Bluetooth Low Energy (BLE) | .Raspberry Pi Pico 2 image::images/pico-2.png[alt="Raspberry Pi Pico 2"] -| xref:../microcontrollers/silicon.adoc#rp2350[RP2350] | 520KB | 4MB | two 20-pin GPIO headers (unpopulated) ^| none +| xref:../microcontrollers/silicon.adoc#rp2350[RP2350] | 520 KB | 4 MB | two 20-pin GPIO headers (unpopulated) ^| none | .Raspberry Pi Pico 2 W image::images/pico-2-w.png[alt="Raspberry Pi Pico 2 W"] -| xref:../microcontrollers/silicon.adoc#rp2350[RP2350] | 520KB | 4MB | two 20-pin GPIO headers (unpopulated) a| -* 2.4GHz single-band 802.11n Wi-Fi (10Mb/s) +| xref:../microcontrollers/silicon.adoc#rp2350[RP2350] | 520 KB | 4 MB | two 20-pin GPIO headers (unpopulated) a| +* 2.4 GHz single-band 802.11n Wi-Fi (10 Mb/s) * Bluetooth 5.2, Bluetooth Low Energy (BLE) |=== diff --git a/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc b/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc index c960c6707..e75cef87d 100644 --- a/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/revision-codes.adoc @@ -352,7 +352,7 @@ NOQuuuWuFMMMCCCCPPPPTTTTTTTTRRRR | | -| 0x19: 500 +| 0x19: 500/500+ | | @@ -694,6 +694,12 @@ NOTE: This list is not exhaustive - there may be codes in use that are not in th | 8GB | Sony UK +| e04190 +| 500+ +| 1.0 +| 16GB +| Sony UK + | b041a0 | CM5 Lite | 1.0 @@ -770,7 +776,7 @@ import subprocess cmd = "cat /proc/cpuinfo | awk '/Revision/ {print $3}'" revcode = subprocess.check_output(cmd, shell=True) -code = int(revcode, 16) +code = int(revcode, 16) new = (code >> 23) & 0x1 model = (code >> 4) & 0xff mem = (code >> 20) & 0x7 @@ -819,22 +825,22 @@ Raspberry Pi models have the following device tree values: |=== | Device Name | Make | Model | CPU Make | CPU -| Pi 500 | `raspberrypi` | `500` | `brcm` | `bcm2712` +| Raspberry Pi 500 /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` +| Raspberry 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` +| Raspberry Pi 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` +| Raspberry Pi Zero W | `raspberrypi` | `model-zero-w` | `brcm` | `bcm2835` +| Raspberry Pi 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` diff --git a/documentation/images/full-sized/keyboard-computers.png b/documentation/images/full-sized/keyboard-computers.png new file mode 100644 index 000000000..36973962d Binary files /dev/null and b/documentation/images/full-sized/keyboard-computers.png differ diff --git a/documentation/images/keyboard-computers-SMALL.png b/documentation/images/keyboard-computers-SMALL.png new file mode 100644 index 000000000..97a0cd796 Binary files /dev/null and b/documentation/images/keyboard-computers-SMALL.png differ diff --git a/documentation/index.json b/documentation/index.json index f81870af5..c08809794 100644 --- a/documentation/index.json +++ b/documentation/index.json @@ -60,11 +60,17 @@ "subpath": "ai.adoc" }, { - "title": "Raspberry Pi hardware", - "description": "Technical information about Raspberry Pi hardware", + "title": "Raspberry Pi computer hardware", + "description": "Technical information about Raspberry Pi computer hardware", "image": "full-sized/Raspberry-Pi-Hardware.png", "subpath": "raspberry-pi.adoc" }, + { + "title": "Keyboard computers", + "description": "Technical information about Raspberry Pi keyboard computers", + "image": "full-sized/keyboard-computers.png", + "subpath": "keyboard-computers.adoc" + }, { "title": "Compute Module hardware", "description": "Technical information about Raspberry Pi Compute Module hardware", @@ -266,4 +272,4 @@ "directory": "pico-sdk" } ] -} +} \ No newline at end of file