My Raspberry Pi Desktop

2020-09-02

I use a Raspberry Pi 4 as my personal daily driver and it’s pretty great. I know these types of devices tend to be used for smaller pet-projects or fun experiments, but I thought I would share my experience using one as my main computer. Hopefully this can be a solid guide to help others who might be interested in creating a similar setup.

My desktop Pi working away on a regular morning:

Table of Contents

  1. My Use Case
  2. The Hardware
  3. The Software
  4. Performance & Stats

I’m a web designer and developer by trade. Therefore, I require a decent amount of functionality from my computer - more than just simple web browsing and document editing. When I first set out testing if the RPi4 could become my main device, I was surprised at how capable the hardware / software was at running all my required applications. My workload comprises of:

Basic stuff, but I was originally doubtful of the RPi4 to be able to handle it all smoothly. I’m happy to say I was wrong.

The following hardware list is what I use specifically for my intended use case. I’m also a sucker for having cool looking SBC builds. By no means is this the “best setup” for everyone - I’m sure other combinations of gear might better suit your own personal needs.

Note: products in the hardware section are Amazon affiliate links

The 32-bit version of Raspberry Pi OS (‘Debian Buster’ at the time of writing) is my OS of choice. Stable, reliable, and officially supported by the RPi community. It does the job.

The Pi has been overclocked to 2GHz in order to squeeze just a little extra out of the hardware. This has caused zero issues.

I’m also booting directly from the mSATA SSD (via USB booting) instead of relying on a slower microSD card. You can find tons of tutorials online on how to do the same, but I would recommend this one: How to Boot Raspberry Pi 4 From a USB SSD or Flash Drive

After that, I simply installed my required apps / configs (where applicable):

What my plain desktop looks like:

Using this build day-to-day, I can honestly say I don’t hit any hiccups or lag at all. Multiple applications and WordPress instances are running in the background, while 10-15 tabs are open in the Chromium browser. The little Pi just chugs along without breaking a sweat.

My average CPU temperature sits around 51° (with heatsinks & fan active) while CPU usage never really cranks past 90% during even “intensive” processes.

Since actual data speaks louder than anecdotal chit-chat, I performed a very simple read/write test on my mSATA SSD.

First, clear the cache to avoid conflicting data:

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

Write

Write script run:

dd if=/dev/zero of=~/test.tmp bs=500K count=1024

Write output:

524288000 bytes (524 MB, 500 MiB) copied, 1.95478 s, 268 MB/s

Read

Read script:

dd if=~/test.tmp of=/dev/null bs=500K count=1024

Read output:

524288000 bytes (524 MB, 500 MiB) copied, 0.770993 s, 680 MB/s

This gives a total read/write value of: 268 MB / 680 MB per second. Compare that to average microSD card speeds floating around 22 MB / 170MB per second and you can see (and feel) the massive speed difference. Things are just snappier.

Note: Obviously extremely high-end (read: expensive) microSD cards might hit read/write speeds similar to that of an SSD. The issue is that you are more likely to corrupt or reach end-of-life with a microSD card - hence why I don’t recommend them.

Final Thoughts

I love that I can use a fairly cheap Raspberry Pi 4 as my main, personal desktop. Of course, some people might roll their eyes at this build and say, “why not just get a cheaper, more powerful laptop off eBay?”. To that I would respond: you’re missing the point.

It was fun to put together this simple desktop. The fact that it runs fast and stable enough to be my daily driver is a great bonus. If this build interests you at all, I highly recommend giving it a go.