Guest Post: Bryan Crotaz, Silver Curve
You may have read about the Raspberry Pi 4 in the news. It’s big news for the whole world, from children’s code clubs, to office desktop use, to industrial applications such as digital signage.
At Silver Curve, we adore the Raspberry Pi Foundation and the Pi micro computer. I only got into technology through access to programmable computers as a child. It’s great to see children of today learning that if you have a computer that is open to being told what to do, the world is your mollusc of choice.
We’ve been using the Pi since the very first board release in 2012. I was talking to Eben about using it for signage within a couple of days of the first glimpse on BBC News in 2011. I’d been looking for 10 years for a low cost high performance platform for signage, and while at AMX I was developing ideas for feather light player hardware. The Pi went miles beyond my wildest dreams of what was possible at that price point, thanks to both the founders’ deep links into Broadcom and their sheer chutzpah.
I remember saying at that first meeting that Eben and his team had changed the world of computing – this tiny device was perfect for children, as intended, but was also wonderful for all sorts of industrial applications, and especially digital signage. It had more processing power and GPIO ports than a good automation controller, and at less than 10% of the price.
Since then, at Silver Curve, we have used the Pi both for graphics and automation. We built a player engine for for a client that performed as well as a PC platform, and did some behind the scenes work with other software and hardware vendors.
Even on the Pi 1 we were able to get perfect back to back HD video playback, and multiple layers of super smooth 3D animation in HD.
We use the Pi 1, 2, and 3 for automation – any equipment controlled over RS232 or GPIO gets a dedicated Pi to control it, running our Hermes on-premise IoT product to link them over the network. We could do it all from one Pi, but the hardware is so cheap, there’s no reason to take risks with resilience. This way if anything dies, we only lose one function, not everything.
If you’re watching the Cricket World Cup from Lord’s, this is how the video chain from the OB trucks and our scoreboard graphics to the scoreboards is managed from several web interfaces.
The other advantage of the Pi is that the firmware is open source, so it’s had all its bugs fixed. We haven’t had to reboot the OS in years of running. It’s stable, and it just works.
The problem we saw with Pi in the AV arena was that it was seen by many in the industry in the early years as a hobbyist device, unsuitable for professional use. I had great difficulty persuading most industry players to take it seriously five years ago, even though we had a working player in 2012 and a prototype OPS player the year after. This all changed when NEC took the leap to include the Pi Compute Module in their professional screens. I saw a step change in the reaction to talking about the Pi in the industry after that.
Raspberry Pi Foundation now sells over 100,000 devices per week, over 6 million a year, at minimal profit margins, which they can afford as they’re a charity. The profit they make from your order goes into children’s computing education programs, training the staff you will need in 5-15 years from now.
“Raspberry Pi 4 is the first product we’ve produced that is subjectively equivalent to a PC for most users and use cases. We believe that the extra processing power, video decode capability and GPU throughput of the new product make it a high-performance, cost-effective fit for a wide range of digital signage applications,” says Eben Upton, Raspberry Pi Foundation co-founder.
This week, the Foundation launched the Pi4. And when I read the specs, my jaw hit the table. It’s an incredible piece of work from the team there to build something this good for the same good old $35 price point. This is a board that Intel needs to be worried about. It’s fast enough to be a good desktop machine, and a great signage box.
The specifications can be a little confusing for the non technical reader, so let’s explore them in real world terms, compared to the previous model, the Pi3.
The Pi4 is a little more power hungry than its predecessors, but still much much cheaper to run than the PC equivalent.
The Pi3 equivalent runs at around 6.5W and the Pi4 runs at around 7.5W. Obviously if you add peripherals like cameras then this power will increase.
The key real world measurements when considering power are heat output and cost. The Pi4 will put out about 15-20% more heat than the Pi3, so be a little more careful with ventilation. As for cost, a good guideline is £1, $1 or €2 per Watt, if running 24/7 for a year. This is accurate within 10% in Europe and the US. So the Pi4 will cost under $10 or £10 per year to run, compared with $100 for a small PC.
There is a Power over Ethernet add-on board which is available in the UK for £15.
The power connector has been upgraded to USB-C in order to deliver the current the board needs with USB peripherals attached. This would ordinarily be a cost problem, as USB-C chargers are not cheap. So the Foundation has built their own, which retails for just £8 in the UK. Alternatively they have created an adapter from MicroUSB which is available at the frankly ridiculous price of £1. Their engineering and purchasing teams all need a knighthood for what they’ve achieved here.
The Pi3 has 1GB of LPDDR2 memory
The Pi4 has 1,2 or 4GB of LPDDR4 memory (2GB is $10 extra, or 4GB is $20 extra)
You can run a custom efficient graphics engine in 1GB of RAM (we split it 50-50 between computing and graphics/video). But if you’re trying to run HTML5, the extra RAM will be very useful.
According to my insiders, we have about 3x as much memory bandwidth in the new device. That’s really important. Think about fading between two HD images. That means to draw one pixel, you have to read the pixel from both source images, do the maths, and write it to the output frame. If you’re simultaneously scaling the input images (they might not be exactly the right size) then you need to read 4 pixels from each input image and do some more maths to scale them before writing that output pixel.
The limitation you hit first is how fast you can read and write the pixels to and from memory – essentially the maths part is free of charge. Increasing frame rate or pixel count will have a multiplying effect on the memory bandwidth you need. Going from HD to 4K means 4x as many pixels being read and written, so 4x the required bandwidth. Going from 30fps to 60fps doubles the bandwidth required. Dual screens will double it again.
The Pi4 can do about 9.6GB/s between CPU and memory, compared to about 3.2GB/s on the Pi3, so you can get about 3x the graphics performance. You could use that for 3x as many pixels per second, or 3x as many layers for example.
Cost versus grunt
In tests by other reviewers, the Pi4 has been compared in performance to a 12 year old Intel Core2. That’s not at all bad for a sub-£50 board (by the time you’ve added a case). Remember that that’s just the compute power – it’s also got a very powerful graphics processor to help out.
A modern AMD Ryzen desktop PC is about 6x faster than the Pi4. To put that in context, a PC based on that CPU costs 8-10x as much as a Pi4. So the bang for your buck with a Pi4 is really rather excellent.
The previous Pi models had a single full size HDMI capable of 1080p60. The Pi4 has two micro HDMI connectors. You can get the following combinations out of them:
- One display at up to 4K 60fps
- Two displays at up to 4K 30fps
- One display at 4K 60fps and one at full HD 60fps
This last configuration isn’t guaranteed to be supported in future, so use at your own peril.
Being micro connectors, be careful not to be too rough with them.
There’s enough CPU power to decode a video stream in software, but that’s a very inefficient way to do it. The GPU has a hardware decoder capable of:
- h.265 decode up to 4Kp60
- h.264 decode at 1080p60
- h.264 encode at 1080p30
If you want to decode anything else, especially with DRM, you’ll need to do it in software. Others are already blogging about how to do this.
In our experience, if you write your own low-level code, you can get multiple lower resolution videos out of these decoders. Total pixels per second appeared in previous models to be the limitation. Note: doing this is definitely non-trivial. Don’t do it if you like getting eight hours of sleep a night.
The chip supports OpenGL ES 3.2, but this release of firmware only supports 3.0. I’m told by my insiders that the core gives a roughly 2x performance gain over the previous OpenGL ES 2 core. Expect to see firmware updates to enable 3.2 later.
The OpenGL driver used to sit on the GPU. Now it’s been brought up to the CPU layer, which enables windowed software to access it. So you’re able to run WebGL in a browser, or build 3D applications running on the desktop. For signage, you’d be better off not loading the desktop, building your application on bare linux, and taking exclusive control of the 3D engine.
The Pi4 runs about 10 degrees hotter than a Pi3, so you will definitely need a heatsink and some free air, but you probably won’t need a fan. One of the great advantages of a Pi is the lack of moving parts for long-term reliability, so I go for a bigger heatsink rather than a fan every time.
- Pi3: 4xUSB2 Pi4: 2xUSB2, 2xUSB3
- Pi3: Wifi a/c, Bluetooth 4.2 Pi4: Wifi a/c, Bluetooth 5
- Pi3: 100Mb ethernet with 40Mb actual speed Pi4: 1Gb ethernet
The Pi3 had a single USB port internally which was shared between all the USB ports and the ethernet. So if you were using a webcam, USB disk, and trying to stream video all at the same time, it would struggle.
The Pi4 has a new CPU with multiple connections, so the ports no longer share one bus. This means they’re not competing for bandwidth. I would expect a USB3 webcam, USB3 disk and video streaming over the network to work really well, all at the same time.
It should be possible to use USB3 capture devices to combine live video and graphics. We’ll be investigating this for our sports scoreboard projects.
In benchmarks I’ve seen from other reviewers, the new USB3 ports run almost 10x as fast as the old USB2 ports.
The original Pis all had a single hardware serial port (UART in tech speak). The Pi4 now has 4 serial ports, of which 3 are shared with other IO services, so need to be enabled in the boot setup. This gives the option to control multiple serial devices.
Bluetooth 5.0 Low Energy is included in the Pi4 and has theoretically the following benefits over Bluetooth 4.2 LE modes:
- 4x range (240m, up from 60m)
- 2x speed (2Mb/s, up from 1Mb/s)
- 8x message capacity
The real world performance will differ depending on your environment and how you mount it. Note that the range is in free air – walls, metal surfaces etc will lessen this.
This is great if you want to use a Pi as a beacon, although it’s unlikely that this use case would have given you problems on the Pi3. If you’re looking for more than 60m of range, it’s likely that having multiple zones would have been useful to segregate your devices.
There’s even enough bandwidth to be able to stream medium quality video over bluetooth if you fancy getting clever with code. Many online streaming services run at less than 2Mb/s.