Turning a Raspberry Pi computer into an air monitoring station with a few add-ons
Pimoroni’s Enviro+ Raspberry Pi hat lets you start to measure the quality of air around your home.
In my previous two posts I looked at the Raspberry Pi 4 hardware and at the procedure for installing and booting the new Raspbian Buster Operating System on the Pi 4. With those basic steps out of the way, now it’s time to look at both the hardware and software in more detail.
The first thing I want to mention is that when I wrote the previous post about Raspbian, I had not noticed that there is an updated version of Raspbian Buster (2019-07-10) available. This version was released sort of quietly (without the usual blog post announcing and explaining it), although there are release notes for it if you are interested. This release is extremely good news, because it fixes some of the biggest problems that I mentioned in my previous post:
- The repository configuration has been updated, so it doesn’t get the fatal error during Raspbian updates
- Wolfram/Mathematica (12.0.1) is included in the “full” distribution image
- Failing to recover from screen blanking (or suspend, whatever it was) seems to be fixed.
Second, I also mentioned yesterday that the micro-HDMI to HDMI adapter is so large that it would not be possible to use two of them at the same time. Here is a picture that shows what I mean. So if you would like to use two displays on your RPi 4, make sure you that get the correct cables to connect them.
Now, moving on to the new information. As those who have seen the Raspberry Pi 4 announcement or who have looked at the propaganda page know, one of the biggest announcements with this new model is that it is available with up to 4GB of memory. But they have tried very hard to remain true to their original commitment of a $35 price tag. You can get (suggested price shown in dollars, real price in Switzerland.
But there is even more good news on the memory; they have also changed to DDR4 memory for the RPi 4 (from DDR2 in previous models), so the system should be faster overall as a result of this.
Another potential speed improvement has been made on the USB ports; previous models had only USB 2.0 ports, while this new model has two USB 2.0 and two USB 3.0 ports, all with Type A connectors. Based on the history of previous Raspberry Pi models, a lot of people might be skeptical of the USB 3 performance, so I made a crude test using a USB 3 stick and the “dd” command. When plugged into a USB 2 port, I got a bit less than 40MB/sec read rate, and on a USB 3 port I got about 186MB/sec read. The same stick plugged into a USB 3 port on my Acer All-In-One desktop system gives 188MB/sec read.
The Bluetooth stack has been updated from 4.1 to 5, and I was hopeful that would also fix a long-standing problem I have had with connecting a Logitech M720 mouse, but alas that still doesn’t work. The same symptom as before: it sees the mouse advertising for a connection, but when I click “Pair” it just never completes the setup. This only happens with “advanced” Bluetooth devices, such as the Logitech M720, MX Anwhere 2 and MX Vertical; all of the older bluetooth mice, trackballs and such that I have around here pair with Raspbian just fine.
Oh my, one new bit of information, it appears that my latest attempt to pair with the MX Anywhere 2S caused the Raspbian Bluetooth daemon to crash. Sigh.
There have been a few useful changes made to the Raspbian desktop panel which might be particularly interesting to those who are interested in CPU performance. The CPU Usage Monitor has been removed from the panel by default, but you can easily add it again by right-clicking on the panel and choosing “Add/Remove Panel Items”. While you’re in there you will also see that a new CPU Temperature Monitor plugin has been added. (By the way, the RPi 4 I have seems to run at about 66 degrees under light load, and about 76 degrees under heavy load)
The other big change in this release is in video support. When Raspbian Buster is booted in a Pi 4, is uses a new Mesa V3D graphic driver, while all previous Raspberry Pi models will still use the legacy graphic driver. The most obviouis consequence of this change is the ability to connect two displays (via the two micro-HDMI plugs on the Pi 4), and the new Screen Configuration utility that shows up in the Preferences menu.
If you look more closely you will see that several options have changed in the Raspberry Pi Configuration dialog – when running on a Pi 4, the Resolution, Overscan and Pixel Doubling options are gone, and a new Composite Video enable/disable option has been added. I haven’t had the hardware (cable/adapter) or time to connect two displays to the RPi 4 yet, so I am still looking forward to that.
Finally, just a few words about performance. I haven’t been using the Pi 4 long enough to have a lot of detail, but so far I would say that it clearly “feels” faster, but it hasn’t blown me away with the performance improvement. I was initially surprised that the boot time is not significantly better than previous models, but then I realized that this is probably determined more by the speed of the micro-SD card than it is by the CPU or memory speed. Applications open and run more comfortably than they did on previous models, especially larger applications such as Libre Office.
The one place that I really do see a very substantial improvement is web browsing and web apps running in Chromium. The browser itself starts up much faster, and screen display and updates are much faster and smoother. The old procedure of “start Chromium, and go get a cup of coffee while it loads” is no longer valid, and once it is running screen content updates are much better. Even on a Pi3B+, you could often watch as Chromium updated, displaying and moving objects around the screen into their final position, and that doesn’t happen on the Pi 4. Perhaps the best illustration of this improvement is that fact that on all of my previous Raspberry Pi systems, I always installed the Midori browser because I didn’t want to wait on Chromium, but from what I have seen so far on the Raspberry Pi 4, I won’t be doing that.
I will come back to this topic when I have been working with it a bit longer, and I have the necessary hardware to try out the dual display capability. Until then, I will summarize by saying that the Raspberry Pi 4 is a very solid and very welcome addition, and the developers have done their usual good job of improving the system while still retaining complete backward compatibility with the previous models. Now, I wonder how long it will be before there is a Raspberry Pi Zero 4?