The Raspberry Pi 500 Keyboard PC has just been launched alongside the 15.6-inch Raspberry Pi Monitor, and I received samples a few days ago for testing. I’ve had some time to play with both products, so in this review, I will unbox the kit I received and report on my experience with the Keyboard PC and the monitor.
Unboxing
I received two packages. The first package contained the Raspberry Pi Monitor, while the second package had the Raspberry Pi 500 (UK layout), a 27V USB-C power adapter, and a micro HDMI to HDMI cable. So, while it’s not a complete Raspberry Pi 500 desktop kit without a mouse and a beginner’s manual, it’s close enough.
Let’s start with the Keyboard PC. The bottom of the packaging has some specifications and the keyboard layout logo, which in this case is “UK”.
The package only contains the Keyboard PC. This is the top view of the 79-key UK layout. Users can already purchase models with a US layout, and models with German, Spanish, French, Italian, Nordic, and Japanese layouts will be available soon. We’re left out here as there is no Thai keyboard layout for the Raspberry Pi 500. If your language isn’t included, I recommend using the US layout, which I will explain later.
There isn’t much to see on the bottom except for some ventilation holes similar to those on the Raspberry Pi 400.
All ports are located on the rear panel. From left to right, they are: one USB 2.0 port, two USB 3.0 ports, a microSD card slot that accommodates a 32GB microSD card, a USB-C port for power, two micro HDMI 2.0 ports, a 40-pin GPIO header, a Gigabit Ethernet port, and a port similar to a Kensington lock slot. It has the same ports as the Raspberry Pi 400, but the arrangement is quite different; for example, the 40-pin GPIO header is located on the left side of the Pi 400.
Speaking of the 40-pin GPIO header, it is protected by a rubber cover as most users won’t be operating it, and to prevent dust from entering.
I tried to remove it with my fingers but was unsuccessful, so I ultimately used a pen to pry the rubber cover off.
Let’s switch to the Raspberry Pi Monitor.
The back has a stand with a 180° hinge. I really like it because it’s sturdy and can stand upright, making it easy to use the HDMI, audio, and USB-C ports. The handle also makes the monitor easy to carry. In this respect, it is much better than other portable monitors I have used, such as the CrowView laptop monitor with a fragile standard or the CrowVi USB-C and HDMI portable monitor with a fabric stand…
There are three ports on the back: a 3.5mm audio jack, a USB-C power port, and an HDMI input port. I wish the Raspberry Pi hardware could support USB-C video so that power and display could be handled via a single cable. This would make the desktop tidier, and users could carry fewer cables in their bags, which I greatly appreciate when I travel and have to move my devices every few days…
We also find brightness and volume buttons, a power button, and VESA mounting threads on the back of the monitor.
During testing, I didn’t need to use the power button because the display would automatically turn on when the Raspberry Pi 500 was powered, and it would go into sleep mode when the Keyboard PC was turned off.
First Boot of Raspberry Pi 500
I connected the provided micro HDMI to HDMI and USB-C cables to the Raspberry Monitor for video and power transmission, and added an RF adapter for a mouse and the 27W USB-C power adapter to get started with the Raspberry Pi 500 Keyboard PC. Another thing I appreciate about the Raspberry Pi Monitor is the curved design at the bottom, which allows cables to pass through from below. For other portable monitors, I have to arrange the cables on the side of the monitor or place the monitor on top, which makes it slightly tilted…
However, the first boot didn’t go completely as planned. I expected the Raspberry Pi OS to boot up immediately, but the bootloader asked me if I wanted to press SHIFT for a network installation.
This only works for Ethernet, so I went in, connected the Ethernet cable, and completed the installation process until I realized there was no storage space, and then I embarrassingly covered my face. The microSD card was there but wasn’t fully inserted into the slot. I must have accidentally pulled it out while holding the Keyboard PC.
So I pushed the microSD card back in place and went back outside to continue the review of the Raspberry Pi 500 and Pi Monitor. This time I saw the Raspberry Pi OS setup wizard.
I first selected Thailand as the country since that’s where I reside, then moved to the next step, but it did select the Thai keyboard layout with no apparent way to change it. So I went back and chose “Thailand” and “Use English Keyboard.” This wasn’t an ideal choice because I have a UK keyboard, which is why I recommend purchasing the Raspberry Pi 500 with a US keyboard layout if there are no models with your country’s default layout.
The system took a while to detect the wireless network, but eventually, I was able to connect to my 5 GHz WiFi access point and complete the installation with a valid internet connection.
Using and Testing the Raspberry Pi Monitor
When I first installed the hardware, I did what most users would do: installed everything without reading the user manual. Since the monitor was set up outdoors, I wanted to crank the brightness to maximum but couldn’t get beyond 60%, as shown below.
This is because when the monitor is powered by the USB port of the Raspberry Pi hardware, the brightness is limited to 60% and the volume to 50%. Once I powered the monitor with my own USB-C power adapter, I was able to increase the brightness (and volume) to 100%. This is also an easy fix that could be addressed in future Raspberry Pi SBCs through the USB-C port.
Since the Raspberry Monitor supports audio with two speakers and a 3.5mm audio jack, I played a YouTube video in Firefox and routed the audio from the HDMI input to the built-in speakers.
While it works, the sound quality leaves much to be desired, or in technical terms, the built-in speakers are terrible, and most people wouldn’t want to use them to listen to music or watch videos unless there’s no other choice. So I switched to a pair of cheap USB-powered speakers connected to the 3.5mm audio jack on the monitor, and the sound quality was much better. The switching between HDMI and 3.5mm audio input is automatic.
Considering some of the new Raspberry Pi products that have been recently launched, I wouldn’t be surprised to see Raspberry Pi-branded speakers in 2025!
System Information, Performance, and Cooling of Raspberry Pi 500
Now let’s focus on the Raspberry Pi 500 testing while keeping in mind that from a practical perspective, it’s just a Raspberry Pi 5 8GB in a different form factor, missing some interfaces like MIPI DSI and CSI or PCIe FPC connectors.
The output of inxi is basically the same as what I got for the Raspberry Pi 5, except for the machine type (Raspberry Pi 500 Rev 1) being different and some software updates since November 2023:
pi@raspberrypi:~ $ sudo inxi -Fc0System: Host: raspberrypi Kernel: 6.6.62+rpt-rpi-2712 arch: aarch64 bits: 64 Console: pty pts/1 Distro: Debian GNU/Linux 12 (bookworm)Machine: Type: ARM System: Raspberry Pi 500 Rev 1.0 details: N/A rev: d04190 serial: 504d8064e8d72e87CPU: Info: quad core model: N/A variant: cortex-a76 bits: 64 type: MCP cache: L2: 2 MiB Speed (MHz): avg: 2400 min/max: 1500/2400 cores: 1: 2400 2: 2400 3: 2400 4: 2400Graphics: Device-1: bcm2712-hdmi0 driver: vc4_hdmi v: N/A Device-2: bcm2712-hdmi1 driver: vc4_hdmi v: N/A Display: wayland server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 compositor: LabWC driver: gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec tty: 80x24 resolution: 1920x1080 API: EGL/GBM Message: No known Wayland EGL/GBM data sources.Audio: Device-1: bcm2712-hdmi0 driver: vc4_hdmi Device-2: bcm2712-hdmi1 driver: vc4_hdmi API: ALSA v: k6.6.62+rpt-rpi-2712 status: kernel-apiNetwork: Device-1: Raspberry Pi RP1 PCIe 2.0 South Bridge driver: rp1 IF: wlan0 state: up mac: 2c:cf:67:b3:d4:5e IF-ID-1: eth0 state: down mac: 2c:cf:67:b3:d4:5dBluetooth: Device-1: bcm7271-uart driver: bcm7271_uart Report: hciconfig ID: hci0 state: up address: 2C:CF:67:B3:D4:5F bt-v: 3.0 Device-2: bcm7271-uart driver: N/ADrives: Local Storage: total: 29.54 GiB used: 5.5 GiB (18.6%) ID-1: /dev/mmcblk0 type: Removable model: USD00 size: 29.54 GiBPartition: ID-1: / size: 28.51 GiB used: 5.43 GiB (19.0%) fs: ext4 dev: /dev/mmcblk0p2Swap: ID-1: swap-1 type: file size: 200 MiB used: 0 KiB (0.0%) file: /var/swapSensors: System Temperatures: cpu: 58.4 C mobo: N/A Fan Speeds (RPM): N/AInfo: Processes: 205 Uptime: 1h 12m Memory: 7.87 GiB used: 1.98 GiB (25.2%) gpu: 8 MiB Init: systemd target: graphical (5) Shell: Sudo inxi: 3.3.26
pi@raspberrypi:~ $ sudo ./sbc-bench.sh -rStarting to examine hardware/software for review purposes... sbc-bench v0.9.68 Installing needed tools: apt-get -f -qq -y install sysstat lshw links mmc-utils smartmontools stress-ng. Something went wrong: locale: Cannot set LC_ALL to default locale: No such file or directory Trying to continue, tinymembench, ramlat, mhz, cpufetch, cpuminer. Done.Checking cpufreq OPP. Done.Executing tinymembench. Done.Executing RAM latency tester. Done.Executing OpenSSL benchmark. Done.Executing 7-zip benchmark. Done.Throttling test: heating up the device, 5 more minutes to wait. Done.Checking cpufreq OPP again. Done (11 minutes elapsed). Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * No swapping * Background activity (%system) OK * No throttling Full results uploaded to https://0x0.st/XhKJ.txt # Raspberry Pi 500 Rev 1.0 Tested with sbc-bench v0.9.68 on Sun, 08 Dec 2024 15:16:06 +0700. Full info: [https://0x0.st/XhKJ.txt://0x0.st/XhKJ.txt](http: ### General information: Information courtesy of cpufetch: SoC: Broadcom BCM2712 Technology: 16nm Microarchitecture: Cortex-A76 Max Frequency: 2.400 GHz Cores: 4 cores Features: NEON,SHA1,SHA2,AES,CRC32 BCM2712, Kernel: aarch64, Userland: arm64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 1500 2400 Cortex-A76 / r4p1 1 0 0 1500 2400 Cortex-A76 / r4p1 2 0 0 1500 2400 Cortex-A76 / r4p1 3 0 0 1500 2400 Cortex-A76 / r4p1 8048 KB available RAM ### Governors/policies (performance vs. idle consumption): Original governor settings: cpufreq-policy0: ondemand / 2400 MHz (conservative ondemand userspace powersave performance schedutil / 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400) Tuned governor settings: cpufreq-policy0: performance / 2400 MHz Status of performance related policies found below /sys: /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave ### Clockspeeds (idle vs. heated up): Before at 48.5°C: cpu0 (Cortex-A76): OPP: 2400, ThreadX: 2400, Measured: 2399 After at 69.4°C: cpu0 (Cortex-A76): OPP: 2400, ThreadX: 2400, Measured: 2399 ### Performance baseline * memcpy: 5513.9 MB/s, memchr: 14182.5 MB/s, memset: 12165.9 MB/s * 16M latency: 118.7 115.2 118.8 114.0 120.3 119.2 141.6 136.1 * 128M latency: 134.7 133.6 134.9 145.3 134.7 133.3 134.1 135.3 * 7-zip MIPS (3 consecutive runs): 11026, 11076, 11049 (11050 avg), single-threaded: 3194 * `aes-256-cbc 540376.57k 1003829.97k 1256061.61k 1332919.64k 1365464.41k 1367818.24k` * `aes-256-cbc 540550.66k 1003636.95k 1255956.22k 1332815.87k 1364972.89k 1368140.46k` ### PCIe and storage devices: * Raspberry RP1 PCIe 2.0 South Bridge: Speed 5GT/s, Width x4, driver in use: rp1, * 29.5GB "Longsys USD00" UHS SDR104 SD card as /dev/mmcblk0: date 08/2024, manfid/oemid: 0x0000ad/0x4c53, hw/fw rev: 0x1/0x0 ### Swap configuration: * /var/swap on /dev/mmcblk0p2: 200.0M (0K used) on ultra slow SD card storage ### Software versions: * Debian GNU/Linux 12 (bookworm) * Build scripts: http://archive.raspberrypi.com/debian/://archive.ras * Compiler: /usr/bin/gcc (Debian 12.2.0-14) 12.2.0 / aarch64-linux-gnu * OpenSSL 3.0.15, built on 3 Sep 2024 (Library: OpenSSL 3.0.15 3 Sep 2024) * ThreadX: 26826259 / 2024/09/23 14:02:56 ### Kernel info: * `/proc/cmdline: reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave smsc95xx.macaddr=2C:CF:67:B3:D4:5D vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000 console=ttyAMA10,115200 console=tty1 root=PARTUUID=78cae15a-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=TH` * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl * Vulnerability Spectre v1: Mitigation; __user pointer sanitization * Vulnerability Spectre v2: Mitigation; CSV2, BHB * Kernel 6.6.62+rpt-rpi-2712 / CONFIG_HZ=250 All known settings adjusted for performance. Device now ready for benchmarking.Once finished stop with [ctrl]-[c] to get info about throttling, frequency capand too high background activity all potentially invalidating benchmark scores.All changes with storage and PCIe devices as well as suspicious dmesg contentswill be reported too. Time fake/real load %cpu %sys %usr %nice %io %irq Temp VCore PMIC DC(V)15:16:07: 2400/2400MHz 3.51 10% 0% 9% 0% 0% 0% 61.7°C 0.8773V 2.8W 5.13V
The Raspberry Pi 500 delivers an average of 11,050 MIPS with 7-zip, with a maximum CPU temperature of 66.1°C, and CPUminer at 69.4°C, so even with an ambient temperature of around 32°C, the cooling performance is excellent. For reference, the Raspberry Pi 5 achieved 10,930 MIPS, with the CPU temperature also reaching the same 66.1°C when using an active cooler. The Raspberry Pi 500 has no fan, so larger devices help a lot with cooling… In any case, all of this means I expect the Raspberry Pi 500 to perform optimally even in hot summer conditions.
Disassembly of Raspberry Pi 500
Let’s conclude this year’s work with the disassembly of the Raspberry Pi 500. Its mechanical design is the same as the Raspberry Pi 400, so there are no screws holding the two plastic parts of the Keyboard PC together. I used a small plastic tool to open the case, but an old credit card can also do the trick.
A large metal plate cools the Broadcom BCM2712 SoC, and its design is similar to that of the Pi 400. But one thing that quickly caught my attention was the ability to add an M.2 SSD to the Raspberry Pi 500. Oh, wait… the M.2 slot isn’t soldered… so while you can do this, you need to do some soldering work first…
Let’s disconnect the keyboard flat cable and loosen four screws to remove the metal plate for a better view of the Raspberry Pi 500 motherboard.
It turns out that the M.2 NVMe SSD isn’t the only feature that the Raspberry Pi 500 might support, as the motherboard is also designed with PoE circuitry (on the left, uninstalled) and battery support (bottom right). Thus, these are either just abandoned ideas, or some future models of the Raspberry Pi 500 may integrate M.2 NVMe SSD along with battery or PoE support.
Compared to the Raspberry Pi 400, one major difference is that the company has been busy making its own chips since 2020. Therefore, the Holtek HT45R0072 8-bit MCU is now replaced by the Raspberry Pi RP2040 for keyboard control, using the Raspberry Pi RP1 South Bridge instead of the VL805 PCIe to USB controller, and we also find the Raspberry Pi brand (not design) RPI-RM0 wireless module based on the Infineon CYW43455 chipset.
Other chips include the Broadcom BCM54213PE Gigabit Ethernet PHY, 8GB Micro LPDDR4x chip, and Renesas DA9091 PMIC, all of which can also be found in the Raspberry Pi 5. A change compared to the Pi 5 is the use of a low-profile RJ45 connector and the BOURNS SM51625L GbE transformer instead of the RJ45 socket with an integrated transformer.
I eventually took the circuit board out of the plastic housing and inspected its bottom.
There’s not much to see here besides a lot of small passive components.
Conclusion
The Raspberry Pi 500 is a great upgrade from the Raspberry Pi 400, featuring a faster processor (2 to 3 times) and double the memory, making it more suitable as a desktop replacement. Our testing shows that the cooling performance is excellent, and the Raspberry Pi 500 can perform optimally even in hot conditions.
It uses the same ports as the Raspberry Pi 400, but I wish they would make slight modifications to the design to allow for the insertion of an M.2 SSD for storage, for example, through a cover on the bottom, but this would increase the height of the design, which they might consider not worth it. Alternatively, they could expose the PCIe FPC connector for people to connect Raspberry Pi HAT+ with PCIe.
The Raspberry Pi Monitor is a decent first attempt. I like its handle because it is sturdier and more convenient to use than other portable monitor solutions I have tried, and the opening at the bottom facilitates cable management. The screen itself is acceptable, but the audio quality from the speakers is quite poor and may need improvement. I hope the monitor also has a USB-C input port that supports video input and power.