So, the Pi4 has been around for a while now, but has the Pi Foundation fixed all those nagging issues and does it live up to everyone's expectations?
For the regular viewers of my channel you will know that when I review an SBC, I don't just do the easy tests. I put it through it's paces.
OK. Maybe not that extreme.
OK, so starting from the top right and working clockwise we have:
- The old familiar 4 pin jack providing audio & composite video
- and 2 lane MIPI-CSI
- Two HDMI ports capable of 4K @ 60Hz
- USB Type-C power. Woohoo! Finally!
- 2 lane MIPI-DSI
- And the standard 40 pin Pi header. We'll check this out later.
- And finally the PoE header.
On the semi side we have;
- https://www.broadcom.com/products/ethernet-connectivity/copper-phy/gigabitphy/bcm54213pe A BCM54213 which is a dedicated GbE transceiver. This is pretty much a typical ethernet IC but does have the ability to check for cable problems.
- 01-Unboxing05-T02 Er, something, probably just a chunky diode.
- https://www.via-labs.com/product_show.php?id=48 A VL805-Q6 which is a 4 port USB hub that connects back to the main SoC via PCIe. So that's one of the main problems fixed that we've been seeing in the Pi3.
- 01-Unboxing05-T04 Another photo of something random. It's a 25MHz crystal. OK. Moving on.
- 01-Unboxing05-T05 Hmmm. I really need to remember why I took some of these photos.
- 01-Unboxing05-T06 Oh, OK. These are more than likely small MosFETs, because pin 46 of the VL805 is an output signal controlling power to the first USB port.
- 01-Unboxing05-T07 2G DDR4 RAM, but as I predicted in my April Fool's video we have a choice of 1, 2 or 4G RAM.
- 01-Unboxing05-T08 Not sure what these are, but possibly some regulators for the HDMI, considering there's a MosFET nearby. Or else China spy chips.
- https://www.raspberrypi.org/blog/pi-power-supply-chip/ And the MXL7704 that we saw introduced on the Pi3 and judging by the look of things, not much else has changed around the power side.
- 01-Unboxing05-T11 We have a jumper.
- 01-Unboxing05-T12 And we have the same WiFi & Bluetooth module, with an identical antenna design as the Pi3. So not much has changed there.
OK, so enough of the top side. On the backside we have: Hmmm. Not much going on here. There's possibly a few ESD ICs, a few regulators and a China spy chip or two. But THIS is interesting. A mysterious header. It's labelled J5 on the PCB. An SMD header of some sort with 1mm spacing. Pins 2 & 5 are connected to ground and I traced all the others right back to the SoC. Possibly some sort of JTAG port? It's certainly not used as part of the manufacturing process because the pitch is too small and it'd have pogo pin marks on the solder. If anyone has a better idea let me know in the comments below.
OK. So going back to the USB-C power for a moment. Tyler Ward wrote a pretty good article about the USB-C design on the Pi4. In summary the current design will cause problems with certain cables. In particular e-marked USB-C cables, or laptop chargers, thunderbolt cables and any 5A capable charging cable. Using any one of those cables will cause the Pi4 to not boot.
This is interesting, because the Pi Foundation have also released a micro-USB to USB-C adaptor. This allows the use of older micro-USB adaptors to be used with the new Pi4. So, I'm pretty sure they knew about this USB-C design guff. The question is, when will it be fixed? I doubt we'll see something this year, so we'll be left with this nagging issue for some time.
Device Tree Table
7 - The Pi4 seems to be made up of the BCM2838 & BCM3827.
64 - We have a new DMA controller. Probably for the DDR4 RAM. Not sure.
70 - And a third eMMC interface.
73m74 - We've dropped the USB based Ethernet interface, of course so we can reach the GbE speeds.
78 - genet is the GbE interface.
79 - Looks like a dedicated interrupt controller has been added to the SoC.
81/85/87 - A bunch of new GPIOs have sprung up.
96/101 - And I2C 0 & 1 can now be reached on gpio 46.
104-119 - 4 new I2C busses are available.
122m123 - We've dropped the old interrupt controller as we saw on line 79.
124 - The JTAG is now available on GPIO48.
128/129 - And this is the MII interface for the new GbE interface.
132 - Now this is cool. We apparently have a PCIe bus thrown in. I've discovered that this is the
135 - A new PCM on GPIO50.
136 - phy1 is part of the GbE.
140 - A new watchdog.
146/151 - Also two more PWM pins.
154-158 - Now this is interesting. The new GbE interface is based on the RGMII standard.
160 - SCB is a GPU that's probably been ripped off one of Broadcom's TV boxes.
161 - 1.8v regulator control pin for who knows what.
173/180 - Alternative GPIO pins for SPI0 & 2.
181-196 - 4 new SPI interfaces. Not sure if you can use them all at once, but I'll check that out.
217-232 - 4 new UARTs, all with full HW handshaking.
235 - v3d is the Mesa V3D graphics driver developed by Eric Anholt.
237 - vchiq?
242 - virtgpio?
244 - xhci - USB3.0
405-527 - scb looks like some sort of GPU.
Pros & Cons
Raspbian Buster is still 32bit. Pi need to come out with a 64bit version for the 2G & 4G Pi4s.
New firmware update fixes an overheating problem.
It runs hot, but only when maxxing out the CPU/VPU.
HDMI is not hot swap.
Pi4 will sometimes fail to boot if both HDMI displays are of different resolutions.
So, what do I think of the Pi4? Well, one of the biggest issues with the Pi platform is that it's starting to be it's own worst enemy. This sort of thing happens with any company with a monopoly and we've seen it happen with Microsoft, IBM and HP.
They have to one-up the previous release and that becomes harder and harder as time goes on.
However, the have certainly addressed some of the main nagging issues with the previous Pis. I/O speed is definitely a massive improvement and makes the Pi a nice little NAS setup.
And the multi-display and extra RAM will be great for those wanting to use the Pi as a desktop. Also, the extra RAM will give more breathing room to run Docker clusters.
In terms of downsides.
There's a real lack of extra GPIO features. Sure the extra I2C, SPI and UART busses are nice to have. But the Pi is lacking realtime capabilities that the BeagleBone has had for years.
A small FPGA would have been great in there, or even a small Arduino, but of course this would have raised the cost.
It would have been great to see some sort of soft power options, so you could control power to the Pi from software.
And of course the elephant in the room is the USB Type-C design flaw. It'll be interesting to see how the handle that one, but I wouldn't hold your breath.
Apart from those downsides, I still think the Pi4 is a pretty decent buy, considering the huge community support behind it.
So, yeah go and pick one up.