RT Cunningham

Blogging For As Long As I'm Able

My Raspberry Pi 400 Keyboard Computer

Tagged with cinnamon, laptop computer, linux, maryland, raspberry pi, trim on December 7, 2023

Raspberry Pi 400 The Raspberry Pi 400 (“Pi” for short) is a keyboard with a computer inside of it, much like the keyboard computers of the 1980s. The default operating system is one of many Linux distributions. I bought mine in July 2021, while I was in the United States, but I didn’t do anything with it until I returned to the Philippines in March 2022. There was a good computer monitor in storage at my house that didn’t have an HDMI port, so I had to buy an HDMI to VGA adapter.

The Pi was my daily driver for almost six months, until I started using my old laptop computer again. Just before I left for the United States in March 2023, I reinstalled Windows 10 on the laptop computer and gave it to a relative. Around the same time, I ordered a 14-inch IPS computer monitor from Amazon.com to be delivered to my younger son’s house in Washington State, which was waiting for me when I arrived. Unfortunately, I had to buy a micro-HDMI to mini-HDMI cable to connect to it.

When I returned to the Philippines in October 2023, the box the monitor came in had enough room to hold the Pi as well, and all the cables. While I was in the United States that time, I bought extra solid-state drives, with enclosures, and inline power switches. One switch was for the Pi and the other was for the monitor. The Pi was again my daily driver for a few months, until I bought a new laptop computer.

The Raspberry Pi 400 Computer Kit

I bought the kit from CanaKit while I was staying with my older son and his family in Maryland. I later shipped it in one of several cargo boxes to the Philippines, awaiting my arrival. The kit included the keyboard computer, the power adapter, the micro SD card with the operating system on it, a micro-HDMI to HDMI cable, a wired mouse and a user manual.

I used the micro SD card long enough to boot up and install the operating system to the external solid-state drive, and that was the last time I used the micro SD card. I installed Raspberry Pi OS multiple times on multiple solid-state drives, and what follows is a combination of all the steps I took with it. Some of the beginning steps weren’t required during subsequent installations on solid-state-drives I’d already tested.

Enabling the Trim Function

The SSD trim function (unmap) is something you don’t have to think about when your solid-state drives are internal. The operating system takes care of it automatically. With external drives running on USB ports, they need some help.

When I set it up properly for the first external SSD I used, I followed these procedures. First, I had to make sure the drive supported trim.

sudo apt install smartmontools

sudo smartctl -i /dev/sda

The results told me it supported trim.


lsblk -D

The DISC-MAX values displayed as 0, so trim was not enabled.



I needed the number pair for the ID that identified the drive enclosure (the hexadecimal numbers separated by a colon), which looked like this:

Bus 002 Device 003: ID 1f75:0621 Innostor Technology Corporation IS621 SATA Storage Controller

I had to create /etc/udev/rules.d/50-usb-ssd-trim.rules and add the following line, using that pair:

ACTION=="add|change", ATTRS{idVendor}=="1f75", ATTRS{idProduct}=="0621", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap" 

Then I rebooted to make sure it took effect. When I ran the following, it didn’t show 0 for DISC-MAX anymore.

lsblk -D

The “fstrim” command will automatically run periodically. I run it manually like this:

sudo fstrim -v /

Overclocking the CPU

Running this in the terminal showed me the clock speeds of the CPU:


The results were 1800 maximum and 600 minimum for each of the four cores. By adding the following to the /boot/config.txt file and rebooting, I increased the maximum to 2147 (but it displays as 2200 with lscpu):


Although I didn’t really need to do so, I overclocked the GPU as well, just below the arm_freq:


Changing the Desktop Environment

The Raspberry Pi OS desktop environment was called PIXEL, a modified version of LXDE. It’s one of many Linux desktop environments. I didn’t like it, so I installed the Cinnamon desktop environment. Before I did that, I changed the network configuration to use Network Manager instead of dhcpcd (the newer version of Raspberry Pi OS made Network Manager the default). I had to drop to the terminal and:

sudo raspi-config

I had to select Advanced Options, then Network config and then exit. Disconnecting from Wi-Fi and reconnecting showed me it worked.

The easiest way to install another desktop environment was to run:

sudo tasksel

From there, I could select Cinnamon. To make sure it booted up in Cinnamon the next time, I had to run this:

sudo update-alternatives --config x-session-manager

I then had to select the option for Cinnamon. When I rebooted, Cinnamon was indeed the desktop environment.

Changing the Operating System From Raspberry Pi OS

I did this with another external SSD several times, until I decided none of them were any better than Raspberry Pi OS. A new version of Raspberry Pi OS has since been released, but I’m not in a hurry to upgrade.

Now that the Raspberry Pi 5 is out, the Raspberry Pi 500 shouldn’t be too far behind. I don’t think I’ll buy one unless it ends up being measurabily better than the 400.

Image by Raspberry Pi

← Previous ArticleNext Article →