Monthly Archives: November 2019

Thermal testing Raspberry Pi 4

via Raspberry Pi

Raspberry Pi 4 just got a lot cooler! The last four months of firmware updates have taken over half a watt out of idle power and nearly a watt out of fully loaded power. For The MagPi magazine, Gareth Halfacree gets testing.

Raspberry Pi 4 Model B

Raspberry Pi 4 launched with a wealth of new features to tempt users into upgrading: a more powerful CPU and GPU, more memory, Gigabit Ethernet, and USB 3.0 support. More processing power means more electrical power, and Raspberry Pi 4 is the most power-hungry member of the family.

The launch of a new Raspberry Pi model is only the beginning of the story. Development is continuous, with new software and firmware improving each board long after it has rolled off the factory floor.

Raspberry Pi 4 updates

Raspberry Pi 4 is no exception: since launch, there has been a series of updates which have reduced its power needs and, in doing so, enabled it to run considerably cooler. These updates apply to any Raspberry Pi 4, whether you picked one up on launch day or are only just now making a purchase.

This feature takes a look at how each successive firmware release has improved Raspberry Pi 4, using a synthetic workload designed – unlike a real-world task – to make the system-on-chip (SoC) get as hot as possible in as short a time as possible.

Read on to see what wonders a simple firmware update can work.

How we tested Raspberry Pi 4 firmware revisions

To test how well each firmware revision handles the heat, a power-hungry synthetic workload was devised to represent a worst-case scenario: the stress-ng CPU stress-testing utility places all four CPU cores under heavy and continuous load. Meanwhile, the glxgears tool exercises the GPU. Both tools can be installed by typing the following at the Terminal:

sudo apt install stress-ng mesa-utils

The CPU workload can be run with the following command:

stress-ng --cpu 0 --cpu-method fft

The command will run for a full day at default settings; to cancel, press CTRL+C on the keyboard.

To run the GPU workload, type:

glxgears -fullscreen

This will display a 3D animation of moving gears, filling the entire screen. To close it, press ALT+F4 on the keyboard.

For more information on how both tools work, type:

man stress-ng
man glxgears

During the testing for this feature, both of the above workloads are run simultaneously for ten minutes. Afterwards, Raspberry Pi is allowed to cool for five minutes.

The thermal imagery was taken at idle, then again after 60 seconds of the stress-ng load alone.

Baseline test: Raspberry Pi 3B+

Already well established, Raspberry Pi 3 Model B+ was the device to beat

Before Raspberry Pi 4 came on the scene, Raspberry Pi 3 Model B+ was the must-have single-board computer. Benefiting from all the work that had gone into the earlier Raspberry Pi 3 Model B alongside improved hardware, Raspberry Pi 3B+ was – and still is – a popular device. Let’s see how well it performs before testing Raspberry Pi 4.

Power draw

An efficient processor and an improved design for the power circuitry compared to its predecessor help keep Raspberry Pi 3B+ power draw down: at idle, the board draws just 1.91W; when running the synthetic workload, that increases to 5.77W.

Thermal imaging

A thermal camera shows where the power goes. At idle, the system-on-chip is relatively cool while the combined USB and Ethernet controller to the middle-right is a noticeable hot spot; at load, measured after 60 seconds of a CPU-intensive synthetic workload, the SoC is by far the hottest component at 58.1°C.

Thermal throttling

This chart measures Raspberry Pi 3B+ CPU speed and temperature during a ten-minute power-intensive synthetic workload. The test runs on both the CPU and GPU, and is followed by a five-minute cooldown. Raspberry Pi 3B+ quickly reaches the ‘soft throttle’ point of 60°C, designed to prevent the SoC hitting the hard-throttle maximum limit of 80°C, and the CPU remains throttled at 1.2GHz for the duration of the benchmark run.

Raspberry Pi 4 Launch Firmware

The fastest Raspberry Pi ever made demanded the most power

Raspberry Pi 4 Model B launched with a range of improvements over Raspberry Pi 3B+, including a considerably more powerful CPU, a new GPU, up to four times the memory, and USB 3.0 ports. All that new hardware came at a cost: higher power draw and heat output. So let’s see how Raspberry Pi 4 performed at launch.

Power Draw

There’s no denying it, Raspberry Pi 4 was a hungry beast at launch. Even idling at the Raspbian desktop, the board draws 2.89W, hitting a peak of 7.28W under a worst-case synthetic CPU and GPU workload – a hefty increase over Raspberry Pi 3 B+.

Thermal Imaging

Thermal imaging shows that Raspberry Pi 4, using the launch-day firmware, runs hot even at idle, with hot spots at the USB controller to the middle-right and power-management circuitry to the bottom-left. Under a heavy synthetic load, the SoC hits 72.1°C by the 60-second mark.

Thermal Throttling

Raspberry Pi 4 manages to go longer than Raspberry Pi 3 B+ before the synthetic workload causes it to throttle; but throttle it does after just 65 seconds. As the workload runs, the CPU drops from 1.5GHz to a stable 1GHz, then dips as low as 750MHz towards the end.

Raspberry Pi 4 VLI Firmware

USB power management brings some relief for Raspberry Pi heat

The first major firmware update developed for Raspberry Pi 4 brought power management features to the Via Labs Inc. (VLI) USB controller. The VLI controller is responsible for handling the two USB 3.0 ports, and the firmware update allowed it to run cooler.

Power Draw

Even without anything connected to Raspberry Pi 4’s USB 3.0 ports, the VLI firmware upgrade has a noticeable impact: idle power draw has dropped to 2.62W, while the worst-case draw under a heavy synthetic workload sits at 7.01W.

Thermal Imaging

The biggest impact on heat is seen, unsurprisingly, on the VLI chip to the middle-right; the VLI firmware helps keep the SoC in the centre and the power-management circuitry at the bottom-left cooler than the launch firmware. The SoC reached 71.4°C under load – a small, but measurable, improvement.

Thermal Throttling

Enabling power management on the VLI chip has a dramatic impact on performance in the worst-case synthetic workload: the throttle point is pushed back to 77 seconds, the CPU spends more time at its full 1.5GHz speed, and it doesn’t drop to 750MHz at all. The SoC also cools marginally more rapidly at the end of the test.

Raspberry Pi 4 VLI, SDRAM firmware

With VLI tamed, it’s the memory’s turn now

The next firmware update, designed to be used alongside the VLI power management features, changes how Raspberry Pi 4’s memory – LPDDR4 SDRAM – operates. While having no impact on performance, it helps to push the power draw down still further at both idle and load.

Power Draw

As with the VLI update, the SDRAM update brings a welcome drop in power draw at both idle and load. Raspberry Pi 4 now draws 2.47W at idle and 6.79W running a worst-case synthetic load – a real improvement from the 7.28W at launch.

Thermal Imaging

Thermal imaging shows the biggest improvement yet, with both the SoC and the power-management circuitry running considerably cooler at idle after the installation of this update. After 60 seconds of load, the SoC is noticeably cooler at 68.8°C – a drop of nearly 3°C over the VLI firmware alone.

Thermal Throttling

A cooler SoC means better performance: the throttle point under the worst-case synthetic workload is pushed back to 109 seconds, after which Raspberry Pi 4 continues to bounce between full 1.5GHz and throttled 1GHz speeds for the entire ten-minute benchmark run – bringing the average speed up considerably.

Raspberry Pi 4 VLI, SDRAM, Clocking, and Load-Step Firmware

September 2019’s firmware update includes several changes, while bringing with it the VLI power management and SDRAM firmware updates. The biggest change is how the BCM2711B0 SoC on Raspberry Pi 4 increases and decreases its clock-speed in response to demand and temperature.

Power Draw

The September firmware update has incremental improvements: idle power draw is down to 2.36W and load under the worst-case synthetic workload to a peak of 6.67W, all without any reduction in raw performance or loss of functionality.

Thermal Imaging

Improved processor clocking brings a noticeable drop in idle temperature throughout the circuit board. At load, everything’s improved – the SoC peaked at 65°C after 60 seconds of the synthetic workload, while both the VLI chip and the power-management circuitry are clearly cooler than under previous firmwares.

Thermal Throttling

With this firmware, Raspberry Pi 4’s throttle point under the worst-case synthetic workload is pushed back all the way to 155 seconds – more than double the time the launch-day firmware took to hit the same point. The overall average speed is also brought up, thanks to more aggressive clocking back up to 1.5GHz.

Raspberry Pi 4 Beta Firmware

Currently in testing, this beta release is cutting-edge

Nobody at Raspberry Pi is resting on their laurels. Beta firmware is in testing and due for public release soon. It brings with it many improvements, including finer-grained control over SoC operating voltages and optimised clocking for the HDMI video state machines.

To upgrade your Raspberry Pi to the latest firmware, open a Terminal window and enter:

sudo apt update
sudo apt full-upgrade

Now restart Raspberry Pi using:

sudo shutdown - r now

Power Draw

The beta firmware decreases power draw at idle to reduce overall power usage, while tweaking the voltage of the SoC to drop power draw at load without harming performance. The result: a drop to 2.1W idle, and 6.41W at load – the best yet.

Thermal Imaging

The improvements made at idle are clear to see on thermal imaging: the majority of Raspberry Pi 4’s circuit board is below the bottom 35°C measurement point for the first time. After 60 seconds of load, there’s a smaller but still measurable improvement, with a peak measured temperature of 64.8°C.

Thermal Throttling

While Raspberry Pi 4 does still throttle with the beta firmware, thanks to the heavy demands of the synthetic workload used for testing, it delivers the best results yet: throttling occurs at the 177s mark while the new clocking controls bring the average clock speed up markedly. The firmware also allows Raspberry Pi 4 to up-clock more at idle, improving the performance of background tasks.

Keep cool with Raspberry Pi 4 orientation

Firmware upgrades offer great gains, but what about putting Raspberry Pi on its side?

While running the latest firmware will result in considerable power draw and heat management improvements, there’s a trick to unlock even greater gains: adjusting the orientation of Raspberry Pi. For this test, Raspberry Pi 4 with the beta firmware installed was stood upright with the GPIO header at the bottom and the power and HDMI ports at the top.

Thermal Throttling

Simply moving Raspberry Pi 4 into a vertical orientation has an immediate impact: the SoC idles around 2°C lower than the previous best and heats a lot more slowly – allowing it to run the synthetic workload for longer without throttling and maintain a dramatically improved average clock speed.

There are several factors at work: having the components oriented vertically improves convection, allowing the surrounding air to draw the heat away more quickly, while lifting the rear of the board from a heat-insulating desk surface dramatically increases the available surface area for cooling.

Throttle Point Timing

This chart shows how long it took to reach the throttle point under the synthetic workload. Raspberry Pi 3B+ sits at the bottom, soft-throttling after just 19 seconds. Each successive firmware update for Raspberry Pi 4, meanwhile, pushes the throttle point further and further – though the biggest impact can be achieved simply by adjusting Raspberry Pi’s orientation.

Real World Testing

Synthetic benchmarks aside, how do the boards perform with real workloads?

Looking at the previous pages, it’s hard to get a real idea of the difference in performance between Raspberry Pi 3B+ and Raspberry Pi 4. The synthetic benchmark chosen for the thermal throttle tests performs power-hungry operations which are rarely seen in real-world workloads, and repeats them over and over again with no end.

Compiling Linux

In this test, both Raspberry Pi 3B+ and Raspberry Pi 4 are given the task of compiling the Linux kernel from its source code. It’s a good example of a CPU-heavy workload which occurs in the real world, and is much more realistic than the deliberately taxing synthetic workload of earlier tests.

With this workload, Raspberry Pi 4 easily emerges the victor. Despite its CPU running only 100MHz faster than Raspberry Pi 3B+ at its full speed, it’s considerably more efficient – and, combined with the ability to run without hitting its thermal throttle point, completes the task in nearly half the time.

Kernel compile: Raspberry Pi 3B+

Raspberry Pi 3B+ throttles very early on in the benchmark compilation test and remains at a steady 1.2GHz until a brief period of cooling, as the compiler switches from a CPU-heavy workload to a storage-heavy workload, allows it to briefly spike back to its 1.4GHz default again. Compilation finished in 5097 seconds – one hour, 24 minutes, and 57 seconds.

Kernel compile: Raspberry Pi 4 model B

The difference between the synthetic and real-world workloads is clear to see: at no point during the compilation did Raspberry Pi 4 reach a high enough temperature to throttle, remaining at its full 1.5GHz throughout – bar, as with Raspberry Pi 3 B+, a brief period when a change in compiler workload allowed it to drop to its idle speeds. Compilation finished in 2660 seconds – 44 minutes and 20 seconds.

Get The MagPi magazine issue 88 now

This article is from today’s brand-new issue of The MagPi magazine, the official Raspberry Pi magazine. Buy it from all good newsagents, Raspberry Pi Press, and the Raspberry Pi Store, Cambridge.

Subscribe to pay less per issue and support our work, or download the free PDF to give it a try first.

The post Thermal testing Raspberry Pi 4 appeared first on Raspberry Pi.

ESP32 LoRa sensor monitoring with web server (Long Range Communication)

via Dangerous Prototypes

Rui Santos posted detailed instructions of how to build an ESP32 LoRa sensor monitoring with web server:

In this project, you’ll build a sensor monitoring system using a TTGO LoRa32 SX1276 OLED board that sends temperature, humidity and pressure readings via LoRa radio to an ESP32 LoRa receiver. The receiver displays the latest sensor readings on a web server.

Check out the video after the break.

Project info at randomnerdtutorials.com.

Our Black Friday/Cyber Monday sale has started!

via Pololu Blog

Our Black Friday / Cyber Monday sale is going strong, and we have been working hard to make and ship the products that people are getting great deals on. Most of the sale coupons can be used on backorders if we happen to run out of stock, but you should still get your orders in early since lead times on some popular products can get long.

Please note that our usual same-day shipping guarantee is suspended during the sale, though so far we have been able to keep up with orders as they have been coming in, and we are closed Thursday, Nov 28th (tomorrow) for Thanksgiving. Happy Thanksgiving!

Make Sure to Get Your Holiday Shipments in Time!

via SparkFun: Commerce Blog

It's Thanksgiving Eve here in the US, and that means we will be out of the office tomorrow, November 28th. Of course, after that will be Black Friday and Cyber Monday, which means a multitude of sales that we went over Monday. With the holidays rapidly approaching, we want to make sure you get your orders on time. Please refer to the shipping methods and dates by clicking the button below to get your order by Tuesday, December 24th (snowpocalypse permitting).

Ho, Ho, Ho

comments | comment feed

Bus Pirate Ultra 2.8 inch display and the danger of Taobao suppliers

via Dangerous Prototypes

We’ve been prototyping the Bus Pirate Ultra with a 240 x 320 pixel 2 inch LCD, but it’s just a bit small and hard to read from a distance. A 2.8 inch version is available that fits the full width of the Bus Pirate PCB, with the trade off of bigger pixels/lower pixel density. We bought a few displays from various “manufacturers” on Taobao and made up a daughterboard. It failed spectacularly because the datasheet was so wrong!

Anode and cathode pin locations in the “datasheet”
Anode and cathode position on the actual display

We don’t have to go beyond pin 1 to find a major and obvious error. The datasheet lists pin 1 as the LED backlight anode, and pins 2-5 as the cathode. The printing on the flex connector makes it clear that four cathodes (K1-4) join into a single trace to pin 1. A single anode (A) trace connects to four pads on the connector (pins 2-5). The backlight connections are backwards.

Coincidentally, datasheets for other similar displays (2.8 inch, 50 pin connector) match the corrected pinout. This datasheet just had it backwards. We reversed the backlight power and ground on the PCB by drilling out a trace and creating some strategic solder bridges. While the LEDs light, the display doesn’t respond to any commands so other connections could be wrong.

That’s not all. The flex cable is actually several millimeters shorter than listed in the datasheet, so it can’t reach the connector through the slot in the daughterboard.

We had similar issues with this supplier’s 2 inch display. The dimensions in the datasheet are a bit off, and their sample initialization code doesn’t work. We asked for an updated datasheet and received three different versions, none of which matched the actual display.

Their Taobao page has pictures of a factory and a nice section on after sales support. A charitable guess is that they manufacture runs of custom displays, and sell the excess on Taobao. That would explain all the different datasheets they so readily have available. We tried to get another grab-bag of PDFs for the 2.8 inch display, one of which might match the actual pinout, but at this point they got tired and ghosted us.

Will we stop buying prototyping samples on Taobao and 1688? Definitely not! It’s a great way to see what’s a cheap commodity product. This process plays out in the Shenzhen markets as well, people sell a lot of stuff without knowing exactly what it is. It’s kind of up to us to know what we’re buying, and sometimes it’s a crapshoot. When we find a sample we like, it’s time to send someone up to the factory to meet the boss, drink way too much tea, and ensure we’ll have a steady and consistent supply in the future.

#FreePCB via Twitter to 2 random RTs

via Dangerous Prototypes

Every Tuesday we give away two coupons for the free PCB drawer via Twitter. This post was announced on Twitter, and in 24 hours we’ll send coupon codes to two random retweeters. Don’t forget there’s free PCBs three times a every week:

  • Hate Twitter and Facebook? Free PCB Sunday is the classic PCB giveaway. Catch it every Sunday, right here on the blog
  • Tweet-a-PCB Tuesday. Follow us and get boards in 144 characters or less
  • Facebook PCB Friday. Free PCBs will be your friend for the weekend

Some stuff:

  • Yes, we’ll mail it anywhere in the world!
  • Check out how we mail PCBs worldwide video.
  • We’ll contact you via Twitter with a coupon code for the PCB drawer.
  • Limit one PCB per address per month please.
  • Like everything else on this site, PCBs are offered without warranty.

We try to stagger free PCB posts so every time zone has a chance to participate, but the best way to see it first is to subscribe to the RSS feed, follow us on Twitter, or like us on Facebook.