The New Raspberry Pi 400 Beats Its Predecessor in Energetic Efficiency

Comparing the performance of Raspberry Pi 400 vs. model 4B by monitoring the CPU temperature in real time

Bernardo R. Japón
Dec 30, 2020 · 8 min read
Raspberry Pi 400 connections

This practical demonstration is based on the article part 4: Monitoring Raspberry Pi 4 performance in real time, the last of the mini-book titled Hands on Development with Raspberry Pi 4. This serie covers the (part 1), (part 2), deploying Theia IDE using Docker (part 3) and (part 4 mentioned above).

The goal of this article is to describe a quick hands on exercise to acquire the insight of how much less heating the Raspberry Pi 400 is compared to its predecessor, the RPi4 model B. And for that we will use all what we learn in the four articles of the mentioned serie.

Quick overview of the Raspberry Pi 400

The new model of Raspberry Pi was born from the fusion between Raspberry Pi keyboard and the most recent model 4B of this popular board. What the Raspberry Pi Foundation has done is to put a Raspberry Pi 4 inside the casing of the Pi keyboard.

From outside it seems just a keyboard, except when you look at the back side and find the typical connections that you can see in any Pi board: the slot for the microSD card, one USB-C power input, two microHDMI ports, two USB 3.0 ports, one USB 2.0 port, the RJ45 ethernet connection and the 40 interface GPIOs.

This simple upgrade has made Raspberry Pi finally become an off the shelf computer suited for working in common office tasks. It’s like pushing it out from the geek world and make it reach the general public, becoming a low cost portable computer to be used for web navigation, e-mail and document editing.

But what’s there’s inside is not just the tiny Pi 4, but an upgraded version, i.e. Pi 400 board, that adds the following improvements over its predecesor:

  • Clock speed increases up at 1.8 GHz, vs. 1.5 GHz of the former Pi 4. In some Phoronix benchmarks Pi 400 has shown to be 18% faster thanks to this improvement.
  • The 400 is more energetic efficient than Pi 4B because it has been found that it doesn’t overheat when overcloking to 2.147 GHz. This efficiency applies also to the normal clock speed, and it means a longer life for the board.

In summary the thermal performance has improved overall, and this is what we want to check with the experimental setup that supports the quantative results of this article. Additionally, in the annex we will give you the details so that you can reproduce it with your own board.

In the case you are interested in knowing more in depth the Raspberry Pi 400 hardware, you can read this excelent article by Jeff Geerling, showing several images of what you can see if you open the casing of the keyboard.

Now it’s time to go to the test and measure the CPU temperature of both models under the same physical enviroment and software load.

What factors influence the CPU temperature?

First of all let us enumerate the main factors that affects the heating of the board:

  • Air temperature. This is the more relevant aspect since it establishes the theoretical minimum temperature in the case of an ideal fan cooling system, i.e. you could never cool down the board below the air temperature (unless you use liquid cooling).
  • CPU thermal dissipation, that is a function of the CPU SoC () design and the software processes running in the board. We will let the Pi reaching the permanent regime after starting the operating system, i.e. Ubuntu Mate 20.04, without any specific software task running.
  • Raspberry Pi enclosure. The more closed the case, the more difficult to reduce the board heating, and hence the CPU temperature will be higher.
  • Cooling system. It will typically be a small fan on top of the board. If so, we call this kind of heat dissipation system as forced cooling. The alternative is pasive cooling, where the air moves freely around the board, without forcing a current like with the fan. Hence, this last case has lower dissipation capability.

For the Pi4 model B we have a typical open case with a fan externally operated at 5V. The actual one used in our test setup is shown in the next figure:

RPi 4B enclosure (open case) with forced cooling (fan on top operated at 5V).

For the Raspberry Pi 400 the enclosure is the keyboard case itself. Be aware of the fact that the Pi is inside a closed case, so its capability for dissipating heat will be lower than that of Pi 4B enclosure.

RPi 400 embedded within the keyboard case (closed enclosure) operating with passive cooling.

For our tests these will be the boundary conditions:

  • Air temperature, 22°C at the time of the test.
  • Physical characteristics of the CPU and enclosure, as per the images above.
  • Forced cooling (fan) vs. passive cooling (no fan) for the RPi 4B.
  • RPi 400 will operate with passive cooling in all cases.

Controlling these features we will be able to attribute CPU temperature differences to the physical characteristics of each board, and thus we will conclude which one is better from the point of the view of self-heating. The lowers self-heating, the lower power consumption (better energetic efficiency) and the longer life for the CPU itself.

Cooling performance comparison

In this section we provide the results of the experiments. For the reader interested in reproducing these results with his own Pi, you have the detailed steps in the annex at the end of the article.

First, let’s see how the temperature evolves in RPi 4:

  • When running with passive cooling the CPU temperature is about 62º.
  • Switching on the fan (forced cooling) the temperature reduces up to 46ºC.

Hence we can see how important is the cooling system for the board, accounting for 16ºC reduction.

CPU temperature curve for Raspberry Pi 4 in two conditions: [1] Passive cooling (averaging 62ºC), and [2] fan cooling (averaging 46ºC)

If we wait some time so that the system achieves the permanent regime we can find that the CPU temperature stabilizes at that value. Check this fact in the following figure:

Raspberry Pi 4 in the long term

But the most surprising thing appears when running the test for the RPi 400, for which we only have passive cooling. The average temperature is 34ºC , that means 12ºC lower than RPi 4B with forced cooling. This reveals how much effort the Raspberry Pi foundation has made in the chip design to solve the overheating problem we found both in RPi 3, and even more in RPi 4.

CPU temperature curve for Raspberry Pi 400, only passive cooling (averaging 34ºC)

Let’s recap and provide the conclusions from these results:

  • Comparing the two boards in the same conditions (passive cooling), the CPU of the Raspberry Pi 400 is permanently at 34 ºC in average, while Raspberry Pi 4 is above 60ºC, i.e. more that 25ºC respect to the improved 400.
  • In the best scenario, i.e. Raspberry Pi 4 with forced cooling, its CPU temperature is still 12ºC above the one of Raspberry Pi 400 (46ºC of the RPi 4B vs. 34ºC of the Pi 400).

The last part of the article provides the steps so that you can reproduce the test with your own board.

Annex: Replicate the results with your Raspberry Pi

First we will provide the details for the configuration of the hardware, then the software to run in both boards.

Raspberry Pi 400 demonstration setup

The Pi 400 board is embedded inside the keyboard case. Hence we have no particular hardware setup, everything comes packaged as is. Since there is no fan it works under passive cooling conditions.

Raspberry Pi 400 setup inside the Pi keyboard

For the Pi 4B there is some work to do: Select an enclosure and include a fan. Find the details in the next paragraph.

Raspberry Pi 4B demonstration setup

The Pi 4B is integrated with a SSD disk that runs the operating system. The details for making this setup are given in the first article of the serie that we mentioned at the beginning of the article, Part 1: Getting the most from Raspberry Pi 4

Raspberry Pi 4B prior to insert it in the open enclosure

Next we introduce the hardware in one of the many commercially available enclosures. In our case we selected one that comes with a fan integrated on the top face. This provides the forced cooling when powering the fan, and passive cooling if switched off.

RPi 4B enclosure (open case) with forced cooling (fan on top operated at 5V).

Once the hardware is in place and both Raspberry Pi’s are running under Ubuntu Mate 20.04, we can proceed to install and run the software that will provide the temperature measurements.

Installing the software in the boards

We will use the TICK stack, the measuring system described in the article Monitoring Raspberry Pi 4 performance in real time(part 4 of the serie mentioned at the beginning of the article).

Make sure you have installed Docker and Docker Compose in both borads. If not the case, please refer to Part 2: Installing Docker in Raspberry Pi 4 for detailed instruction. Then clone the code in the Raspberry Pi to a folder called CPU_temp:

$ git clone -b rpi4 https://github.com/therobotacademy/InfluxBD-Telegraf-Chronograph.git CPU_temp

This is the same repository mentioned in that article Monitoring Raspberry Pi 4 performance in real time. The only difference is that we are cloning the rpi4 branch, that contains the Telegraf configuration to acquire the CPU temperature.

Change to the folder of the repository, and type in the following command in order to deploy the Docker stack of containers:

$ cd TIC
$ docker-compose up -d

Once all services are running load the visualization tool (Chronograf) by visiting the URL http://RPi4_IP:8888.

Following the instructions in the referenced article Part 4: Monitoring Raspberry Pi 4 performance in real time, upload the file that contains the temperature dashboard definition, located at ./dashboards/Temperature_vs_CPU_load.json of the repository.

That’s all, you can now watch the nice graph that we showed in the results section. Before concluding the article, be aware of how we are recording the CPU temperature in the InfluxDB database. For that purpose we only need to add the line [[inputs.temp]] at the end of the section of the Telegraf configuration file, i.e. This line is the call to the Telegraf temp plugin, whose definition you can find at https://github.com/influxdata/telegraf/blob/release-1.16/plugins/inputs/temp

For upcoming articles regarding IoT projects, applications’ deployment using Docker, and work with Kubernetes in Raspberry Pi stay tuned to my Medium.com channel.

The Startup

Get smarter at building your thing. Join The Startup’s +792K followers.

Sign up for Top 10 Stories

By The Startup

Get smarter at building your thing. Subscribe to receive The Startup's top 10 most read stories — delivered straight into your inbox, once a week. Take a look.

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Bernardo R. Japón

Written by

Software Engineer spreading cutting edge technologies. Psychologist applying the current knowledge of the human brain to power intelligent robots & IoT devices

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +792K followers.

Bernardo R. Japón

Written by

Software Engineer spreading cutting edge technologies. Psychologist applying the current knowledge of the human brain to power intelligent robots & IoT devices

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +792K followers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store