Using a Raspberry Pi 400 as a desktop computer

Recently, the Raspberry Pi foundation launched the Raspberry Pi 400, a keyboard with a build in Raspberry Pi 4. It features a CPU very similar to the Raspberry Pi 4, 4GB RAM and it’s priced 15$ higher then the comparable Raspberry Pi.

As it’s all nicely stuck in a keyboard, it looks like it’s meant to be used as a desktop computer, more then a Raspberry Pi 4 at least. I ordered one and decided to use it as my desktop computer for a week to see how it fares.

As I got the personal computer kit, I also got the mouse, power supply and such included. I did use a bigger 64GB microSD card as 16GB is quite small for desktop use in my opinion.

Getting up and running went pretty smoothly. Loading Raspberry Pi OS on the MicroSD card went without any issues and after connecting my 2 screens and audio via a USB sound card I was ready to go. So let’s look at what went well, what went bad and what went, well, weird.

What went well

As the Raspberry Pi is based on the ARM architecture, programs need to be compiled for it. A compiled program for x86 will not work on a Rpi. Luckily, most programs I use are available. Kicad, for PCB design, Eclipse and IntelliJ for editing code and the ARM Cortex-M and Rust compiler work without any problems. My previous blog about the 6502 was finished on the Rpi, and the tools for the 6502 worked perfect on the Rpi. Generally, open source programs all seem to run on the Rpi.

In terms of usability, coding and compiling is of course slower then a desktop system, but usable for smaller projects. Luckily embedded software tends to be on the smaller side compile wise. I also wanted to see how FPGA development went. One of the advantages of open source FPGA tools like Yosys is that it should run on more systems then vendor tools like Quartus or Vivado. I did not find any pre-compiled binaries for ARM, but compiling these tools on the Rpi worked as expected. The lower speed of the Rpi does show as compiling took several hours but hey, programming an FPGA with a Rpi is kinda awesome.

With 4GB ram, some light multitasking also worked alright. The Rpi 4 and 400 with more RAM is a lot nicer for such a thing than the older Rpi’s with 1GB of RAM. Another positive of the Rpi 400 is the cooling. Even overclocked to 2.1Ghz (from 1.8Ghz stock) the device does not get above 60 degrees, and the keyboard does not get noticeably warm like some laptops do.

What went less nicely

Sadly, some things did not work as expected, or just not at all. I personally quite like the STM32CubeMX tool to generate a project for the STM32 series of micro-controllers. This tool sadly did not run. I also ran into issues with Redshift, a tool to turn the screen more red in the evenings to have less blue light. This tool did run, but no difference could be seen. Spotify and Discord both lack an ARM binary, but with some hacks the web versions did run, more on that in a bit.

Another complaint is more of a physical one. The Raspberry Pi 400 is really lightweight. That might sounds like a positive, but with all the cables plugged in the back, the Rpi kind of moves to a position based on the cable tension. If it was a bit heavier, this might be less of an issue. Some rubber material on the bottom to keep it from sliding could also help.

Of course, this is still a low power device, with performance to match. Especially web has gotten big, Youtube, Spotify or Discord and other big websites are slow and sluggish on the Rpi. A discord voice call causes 70% load on all CPU cores for example. Watching Youtube while coding and chatting is not going to be a fun experience.

What went weird

A few things did not go bad per se, just, weird. I mentioned Discord and Spotify working, but that is only the case when spoofing the user agent of the Chromium web browser to make websites think it’s Chrome.

Chromium also at times just gives up and displays an “Aw snap” error. Refreshing the page tends to fix it. Other browsers seem to be less supported, so sticking to Chromium seems to be the best choice.

The keyboard is not too bad considering the price. One weird thing I do not like however is the half sized keys for ] and #. I wish the whole device was just a tad wider to fit a more normal keyboard.

Conclusion

All in all, the Raspberry Pi 400 makes a surprisingly usable desktop. Considering that the Raspberry Pi 400 is 15 euro’s more then the comparable Raspberry Pi 4, it seems like a no brainer when you plan to use it for desktop use. For integrating or headless use, the Raspberry Pi 4 still makes a lot more sense.

If you want to use a Raspberry as a desktop and you plan on using the Raspberry part like the 40 pin extension connector, it’s a great choice. However, if you need an affordable computer for everyday use, I think a second hand laptop makes more sense. With that you get a screen and portability and most likely more performance.

When I am finished typing this blog I am happy to go back to my regular machine, but it was an interesting experience non the less. If you liked this blog, please consider buying me a coffee.


So, what do you think ?