Raspberry Pi Keyboard Computers Overview
Raspberry Pi Keyboard Computers Overview
Features
Edit this on GitHub
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 eVciency.
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.
Mechanical keys with customisable RGB LEDs and replaceable keycaps. For more
information, see Raspberry Pi 500+ mechanical keys. For instructions, see
Customise your backlighting and Change your keycaps.
Internal 256 GB M.2 SSD, which is replaceable. This SSD comes installed with
Raspberry Pi OS. For instructions, see Replace your M.2 SSD.
More RAM (16 GB). For a comparison, see the following table.
SoC and I/O BCM2711 SoC BCM2712 SoC and BCM2712 SoC and
controller RP1 I/O controller RP1 I/O controller
Wireless Dual-band Wi-Fi and Dual-band Wi-Fi and Dual-band Wi-Fi and
connectivity BLE BLE BLE
USB ports Two USB 3.0 ports; Two USB 3.0 ports; Two USB 3.0 ports;
one USB 2.0 port one USB 2.0 port one USB 2.0 port
Storage microSD card slot microSD card slot microSD card slot
and M.2 SSD drive
micro-HDMI cable.
:
Beginner’s Guide book.
micro-HDMI cable.
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).
Getting started
To get up and running with your Raspberry Pi keyboard computer, you can follow the
instructions at 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 Set up your Raspberry Pi.
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 Change your keycaps on this page.
Replaceable M.2 SSD storage. For instructions, see Replace your M.2 SSD.
To complete this procedure, you need a cross head screwdriver, a iat head
screwdriver, and the provided plastic opening tool (spudger).
1. Unscrew the keyboard. Locate the gve screws on the bottom of the keyboard and
unscrew them using a cross head screwdriver. Keep the screws in a safe place.
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.
:
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.
4. Open the keyboard. Place the bottom of the keyboard on a iat 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 iexible cable.
:
5. Release the M.2 SSD. By hand or with a iat 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.
On this page
Documentation Features
Keyboard computer kits
Search ⌘ K
Getting started
Raspberry Pi 500+
Computers
mechanical keys
Remote access
Camera software
Keyboard computers
Features
Keyboard
computer kits
Getting started
Raspberry Pi 500+
mechanical keys
Raspberry Pi 500+
customisation
:
Advanced software
settings
Compute Module
hardware
Processors
Software sources
Legacy [Link]
options
Accessories
Microcontrollers
Services
Pico C SDK
Datasheets
k. 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 gve screws back into place with your
cross head screwdriver.
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 grmly until the keycap is fully seated and feels
secure.
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 modiged 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.
Command key. The Cmd key typically says Win on keycap sets, and third-party
keycap sets don’t include the Raspberry Pi logo.
Keycap pro7les
DSA keycaps have a iat progle and can be swapped across rows.
Cherry keycaps are generally compatible, but have different sculpted progles 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
The LEDs on the Raspberry Pi 500+ keyboard light the top half of the keycaps, which
means that fully opaque keycaps might block illumination.
The activity LED behind the power button when the Raspberry Pi 500+ keyboard is
on. This LED:
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 congguration software. For more information, see
Change preset startup animation in Advanced software settings.
Raspberry Pi 500+ supports other RGB backlighting presets, powered by Vial QMK
:
grmware. For instructions, see Choose backlight preset.
Raspberry Pi 500+ comes with seven presets, which are the saved lighting progles 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.
0 Off The default preset that only lights the power key, the startup
animation, and the Caps Lock indicator.
2 Solid Colour Solid colour backlight, which you can change using Fn + F3.
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 Reactive keyboard, where the keys light up when you press
Simple them. You can choose which colour using Fn + F3.
Backlight controls
You can customise the RGB backlighting colour (depending on the preset) and
brightness using the following keyboard shortcuts:
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.
Enable and conggure advanced LED settings for Raspberry Pi 500+. For more
information, see Advanced led settings.
Remap keys on both Raspberry Pi 500 and 500+. For more information, see Remap
keys on your keyboard.
Play a Flappy Bird-style game on Raspberry Pi 500+. For information, see Flappy
Bird game.
For more information and options beyond those described in this page, see the
README for the conggurator tool on GitHub.
Firmware setup
:
To use software-controlled lighting and to remap keys, you must grst update the
keyboard grmware and install the congguration tool:
1. Install the grmware update package. Run the following command: sudo apt
install rpi-keyboard-fw-update.
2. Update to the latest keyboard grmware update, which checks for and installs the
grmware required for advanced functionality. Run the following command: sudo
rpi-keyboard-fw-update.
3. Install the congguration 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 grmware source code in the Vial QMK repository on GitHub.
Command Description
rpi-keyboard-config info - View keyboard model, lock status, and layout diagram.
-ascii If you don’t need the layout diagram, remove --ascii
from the command.
rpi-keyboard-config list- List all available lighting effects, which can be applied
effects temporarily or to a preset.
Add other lighting effects to your Raspberry Pi 500+, temporarily or as presets. For
information, see Lighting effects.
Set a different startup animation for each preset. For information, see Change
preset startup animation.
Add speed, saturation, and hue parameters to an effect or preset. For information,
see Effect and preset parameters.
Control global hue and brightness. For information, see Global lighting controls.
Control individual LED lighting by congguring and then applying the direct effect.
For information, see Individual LED controls.
NOTE
Advanced LED settings are only available for Raspberry Pi 500+ because only this
model of keyboard computer has backlit keys.
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 congguration 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 Choose backlight preset. 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.
Command Description
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.
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 Effect
and preset parameters.
View presets
You can use the congguration 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.
Reassign presets
You can reassign presets to use different effects. For information about effects,
including how to obtain a list of available effects, see Lighting effects.
:
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
Reset presets and LED customisations.
The following example changes the Gradient Left Right (3) preset to an effect that you
specify in the quotation marks.
While reassigning a preset, you can add one or more of the following parameters:
speed, hue, or saturation. You can also set a specigc startup animation for that preset.
For information about these options, see Effect and preset parameters and Change
preset startup animation.
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 gnishes on white LEDs
and then fades into the Rainbow Beacon effect.
For each preset, you can specify a startup animation with the following command:
$ --startup-animation "name_of_animation"
START_ANIM_B_FAD Pulsing rainbow animation followed by blank LEDs fading into the
E_VAL chosen effect. This is the default startup animation.
START_ANIM_W_FAD Pulsing rainbow animation followed by white LEDs fading into the
E_SAT chosen effect.
For example, the following command would replace the startup animation for preset 3
with a pulsing rainbow animation that gnishes on white LEDs and then fades into the
preset:
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.
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 Backlight
controls.
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.
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.
Command Description
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:
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 conggurations.
Command Description
rpi-keyboard-config leds Turn off all LEDs except the power button.
clear
rpi-keyboard-config led set Specify the colour of a specigc LED, where the LED
"<row>,<column>" --colour is the row and column co-ordinates ("<row>,
<colour> <column>"). 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 your LED congguration. To use the saved
save congguration, you can then either assign the direct
effect to a preset using the instructions in Reassign
presets, or load the congguration directly using the
load command, below.
In the following example, the specigc LED referenced by the row and column co-
ordinates ("2,6") is set to green with hue-saturation-value (HSV) numbers
("85,255,255"):
The following command resets your presets to the default settings and clears your
saved LED customisations:
$ rpi-keyboard-config reset-presets
List all keycodes available for remapping. For information, see List keycodes.
Remap the keys on your keyboard. For information, see Remap keys.
Watch key presses in the congguration software. For information, see Watch key
presses.
Reset your keyboard to the default key mapping. For information, see Reset to
default keyboard layout.
The Raspberry Pi 500 and 500+ are compatible with Vial. You can use the Vial web UI
to remap your keys. For information, see Remap keys with Vial.
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:
$ rpi-keyboard-config list-keycodes
You can also list only the keycodes in a specigc category using --category. For
example, the following command lists all the keycodes for the basic category:
View keymap
Use the following command to see how keys are currently mapped on all positions on
your keyboard:
:
$ rpi-keyboard-config key get-all
Use the following command to see the keycode for a specigc key at a position that
you specify with the key’s row and column co-ordinates. Replace <row> and <column>
with the appropriate numbers:
NOTE
For example, to get the keycode for the Q key (with the row-column co-ordinates 2 2)
on your keyboard:
$ rpi-keyboard-config key 2 2
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 <row> and <column> with the appropriate
numbers, and replace <keycode> with the keycode that you want to map to the
speciged key.
NOTE
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):
You can read the state of keys to monitor key activity inside the congguration tool to
tell you which keys are pressed and released. Before you can do this, you must unlock
the keyboard.
$ rpi-keyboard-config info
To unlock your keyboard so that you can then watch key presses:
$ rpi-keyboard-config unlock
The congguration tool guides you through holding down specigc 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:
Lock your keyboard when you’re done. The following lock command doesn’t require
any congrmation; it locks the keyboard immediately.
$ rpi-keyboard-config lock
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:
The following command resets your keyboard layout to the default key mappings,
including resetting all layers:
$ rpi-keyboard-config reset-keymap
Vial works with your keyboard grmware to conggure your keyboard in real time.
2. In the window that appears, select your keyboard and click Connect.
For information about how to use Vial, see the Vial documentation.
NOTE
We recommend that you use Vial only for working with the key mapping and not
for customising the RGB LEDs.
$ 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 misconggured 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 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+:
$ rpi-keyboard-config game
The game uses your keyboard backlighting as the "screen", and the lights iash 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 iy 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.
You can view and edit the Raspberry Pi documentation source on Github. Please read our usage and contributions policy before you make a Pull
Request.
Raspberry Pi documentation is copyright © 2012-2025 Raspberry Pi Ltd and is licensed under a Creative Commons Attribution-ShareAlike 4.0
International (CC BY-SA) licence.
Some content originates from the eLinux wiki, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported licence.
The terms HDMI, HDMI High-Degnition Multimedia Interface, HDMI trade dress and the HDMI Logos are trademarks or registered trademarks of
HDMI Licensing Administrator, Inc
: