There is a new board in town, the Raspberry Pi 4.
It is a quad core A72 based board. Keep in mind that the A72 is a much faster core, but does not have the heat reduction design of the A73. When in doubt, the A73 will always be a better choice; but so far it is only in higher end SBCs. (Single Board Computers). For the A72, heat management will matter.
It also comes in your choice of 1 GB, 2 GB, or 4 GB of memory. My experience on the Pi M3 has shown it is workable with just 1 GB, but once you run a browser and start opening tabs, you will roll memory to swap space pretty quick and find yourself using at least 1.5 GB of total space. I’d set my lower bound for the Pi M4 at 2 GB and would really really prefer the 4 GB board. Over time, operating systems just get fatter and browsers get fatter at an even greater rate. Even if you are happy with 2 GB today, in a year or two it will start to be “small”. Yes, this isn’t Pi M4 specific, just general observation, but it does hold.
The addition of USB 3.0 ports is very welcome, but more welcome is the upgrade to the internal data paths to allow full speed on the USB ports (and, one presumes, on the Gigabit Ethernet too… but testing both at full load at the same time would be enlightening on just how much they improved things.)
Also in the “mixed bag” department is the move from micro-USB for power to USB-C for power. It is a larger connector so (at last…) you can push enough power through it to run some added USB devices. No longer will I need to buy a $25 USB powered hub just to plug a USB hard disk into my $35 Raspberry Pi… HOWEVER, this also means that if, like me, you have a half dozen “Raspberry Pi Power Supplies”, they are all useless for this board. You get to buy “yet another incompatible power supply”… Ya-I-PSU…
Similarly, your HDMI cable is wasted. You need to go get a Micro-HDMI cable (or an adapter). But, you do get dual monitor support.
The Raspberry Pi Foundation folks continue to produce Raspbian as 32 bit mode only, so IF you run the most supported and likely to work for everything software, you are also throwing away 1/2 your word size, math precision, use of GPU for math in sysbench benchmarks, and more. IF you are into HPC (High Performance Computing) on your SBC you will want to run one of the other OS (Operating System) versions like Armbian ( I tend to run Armbian with a Devuan “uplift” until a direct Devuan is available for various SBCs). Folks not bothered by SystemD and wanting near 100% binary compatibility with the rest of their Raspberry Pi collection all the way back to the Pi M2 and zero will enjoy Raspbian. (Me, not so much…) How soon will the non-Raspbian OSs be available for the Pi M4? One hopes not too long… You might even be able to run some of the Pi M3 versions. Maybe.
Overall the form factor is very much like the Pi M3 (modulo the changes of the connectors…) so while it will look almost the same, you will need a new, different, case with the “right cutouts for the new connectors”.
So, for someone just buying their first SBC, it isn’t a problem to get the right PSU and the right HDMI cables and the right case and… For folks with 3 or 4 Pi M3s thinking of just doing a board swap in one of their cases, um, no, you can’t do that…
Will I buy one? Certainly. Only question is when, really. It ought to be about 3 x the speed of the Pi M3 (per a video below) and that makes it a very acceptable desktop. I’d expect the experience to be very similar to my other A72 and A73 based boards. (While they are hex core, typical experience is dominated by use of one or 2 of the faster cores at any one time). That’s a big win for not much money, and without the software being as much an issue as it is on, for example, the RockPro64.
But I’m not going to buy one really soon. It usually takes a few months for the first batch shipped to find “quirks” and then either a hardware rev, or firmware upgrade, or software patch to be done to work past those. Then it also usually takes a few months after the first ship for the “other” OS makers to get a port done. It is just a whole lot more “comfortable” to buy one about 4 to 6 months after first shipment. Call it “this Christmas” (hint hint ;-)
Were I the sort to be using Raspbian, I’d say more like one month. Just enough time for the Early Adopters to get their orders filled, the worst bugs found and stamped out, and any horrible issues found and fixed (though I don’t expect any horribles – the Pi Foundation is pretty good in that regard).
Realize this is also conditioned on the fact that I already have 3 very fast SBCs. I mostly use the Odroid XU4 as it just works. 8 fast cores, but 32 bit. The 32 bit means fewer software issues, but also not as fast on math intensive things. I also have an Odroid N2 that’s the fastest, but it is having HDMI issues. (First it looks like it blew out the HDMI to DVI adapter or the DVI connection on my monitor so I’m down to using it on a PC with serial connector; then yesterday it showed the boot process, but will not drive the TV HDMI for a desktop so some debugging needed). At present I’m less than thrilled with the Odroid N2… Finally, the RockPro64 is nice and fast. Just don’t expect the software to be very “robust”… OK for general things, but “has issues” when you head off the mainline use cases. Still, that’s more than enough “fast SBCs” to keep my desktop need for speed fed.
For anyone with only Raspberry Pi M3 speed on their desktop and having occasional “gritted teeth go make coffee” moments as it takes a long time getting something done: buying a Pi M4 now is likely a very good idea. It will run a lot faster and is unlikely to have many significant bugs / issues; and those will be fixed very fast given the size of the community. Do pop for some extra memory, though. AND make sure you buy a BIG heat sink. Not the dinky 2 cm x 2 cm size, but something more like an inch on a side and extending beyond the edges of the chip.
OK, here’s some video reviews. First off, “Gary Explains”. He spends the first 5 minutes giving an intro to what an SBC is and who Pi are, so you can skip that if you are bored easily. At about 14 minutes he covers the OS being 32 bit; then at 15 minutes mentions the heating issues. It is refreshing to see someone actually paying attention to heat management. (Unfortunately, he doesn’t point out to just add a big heat sink… nor does he run a CPU clock monitor and show the speed loss when it gets hot…) Note that when he talks about 4K video “not working” that is most likely a result of the Raspbian 32 bit OS rather than the hardware. 17 minutes:
Here’s a 9 minute video on the RockPro64 also from Gary Explains. He finds the same software limitations issue I found. Gives you an idea of how it is likely to compare to the Pi M4 experience.
Here’s “Explaining Computers” on the Raspberry Pi Model 4. It is interesting as he reviews the “Raspberry Pi 4 Desktop Kit”. It includes a Raspberry Pi Foundation mouse, keyboard, case, PSU, and 2 HDMI cables.
It looks like a very nice and affordable (about $100) entry level desktop for anyone looking for a “everything included” kit. My only complaint is the lack of any heat sink, and that the case does not allow ventilation. This kit WILL heat limit more or less every time to you do much CPU work. Think videos or computer models or compiling programs. Or graphics image editing. Or… Personally, I’d not buy it just because I could not live with that much RED on my desktop… but it’s a nice idea. (IF they had one with heat sink, ventilated case, and in something from the blue, gray, purple family of colors, or even white; I’d likely have ordered one already ;-)
So it looks to me like with the Raspberry Pi Model 4, it has reach the level of performance where it is a reasonable desktop for daily use, and without too many caveats about limits. The extensive user community and support means a lot less grumbling and fussing compared to the competitor offerings and a much more mature Operating System.
The only real downsides are the perpetual lack of any care for heat management, and the usual “cheaping it a bit” you get from the Pi folks. Yes, they fixed some of their prior “cheap decisions” (like the internal limit on bus speeds making USB / Ethernet slower than spec and the too small power connector) but still, it’s an A72, not the better A73, and at a slightly lower clock speed than others offer. I suspect this is due to them getting a steep discount on CPUs that Broadcom finds a bit too slow (failed fast spec test but otherwise fine) for their commercial products. (That is a common thing in the semiconductor business. You build a chip and in testing sort them into speed groups based on how fast the individual chip can run.)
So those complaints are pretty minor, really. Far far less of an issue than the software issues I’ve had on other fancy fast boards, or the video issues I’m still fussing with on the Odroid N2. Compared to the $60 to $90 price points on the alternative fast boards, the Pi is a heck of a bargain and with much better software available. So yeah, I’m buying at least one, and likely more of them over time. I’m just going to wait for the dust to settle before I buy one as I’m already very well supplied with SBCs.
Of course, if anyone wants me to do some in depth testing and benchmarking, just drop some moolah in the paypal account and include a note about the Pi M4 and I’ll buy one and give it a good grilling ;-)
It is disappointing RPi group doesn’t take advantage of the 64 bit address width. I wonder if the board would be significantly different or is it that the development effort to use other chips is too much for them?
… if the board would be significantly LARGER , not different. Sheesh!
EM – on the noise issue, there are fans now that are supposed to be really quiet. Here’s one …
I’ve never met a fan that is truly silent. Some are quiet, as in laptops, but in the still of the night they are still annoying. Fine for use in a coffee house or with the TV on though…
Given the choice, I’ll take “Silent With Metal” any day. A big chunk of aluminum is pretty cheap…
Per 32 vs 64 bit:
That is NOT a hardware issue. The Board is fully 64 bit. I run 64 bit Devuan on my Pi M3.
It is a SOFTWARE choice in Raspbian. This lets them run the same binaries on all the Pi boards (other than the very first batch that’s v6 instruction set…). So, for example, I can compile some big fat slow to compile program on my Pi Model 4, then move the binary to an old Pi Model 2 and run it. As long as both are running Raspbian.
Another example: I can set up a compute cluster using ALL my Pi M2, M3, and any new M4 boards and run a distributed workload across the cluster in a homogeneous fashion, all running v7 instruction set.
So there is good reasons for doing that.
It is also the case that “what the word length giveth, the byte packing and unpacking taketh away”…
For a whole lot of classes of problem, moving from a 32 bit word to a 64 bit word doesn’t gain you much, if anything. Text manipulation, for example. Also, you can pack 32 bit programs into 1/2 the memory of the same program in 64 bit instructions. So IF you want better memory usage and do a lot of text based things, like browsing, it can be better to run 32 bit mode. (For these reasons and more the ARM instruction set has included various “thumb” instructions of short length since at least v6, and generally allow you to run the prior V-level or two instructions. So a v7 program (32 bit) can run on a v8 machine (64 bit). In fact, I wrote up in an article here about building a v8 kernel / v7 userland hybrid system on my Pi M3).
So it’s no slam at all on the hardware. When I get one, I’ll be running Armbian (probably uplifted to Devuan if no issue surfaces) in 64 bit mode. IF I ever wanted to be more memory efficient or IF I ever wanted to make a cluster of all my M2, M3, and M4 boards (and a few others…); I’d do it all in v7 mode so they all could play well together as 32 bit machines.
BTW, this is also why you don’t see any 128 bit machines on the horizon. The 64 bit word length is only marginally better than 32 bit on a mixed workload and no improvement (or detriment) on others. At 128 bit, more detriment shows up than gain…
Realistically, 64 bit is only of big value in high precision math where the “double precision” math in 64 bit is one instruction while the 32 bit has to do several to get the added digits in the result. That’s why the Odroid XU4 is sucky on the Sysbench Benchmarks but feels just as fast or faster than things that rated 10 x as fast on Sysbench, when used for typical browser and text like things. Sysbench is all about very long precision math, that for 64 bit OS gets sent to the GPU and vastly accelerated for Sysbench.
The “Explaining Computers” guy even has a video where he compares the performance in Sysbench and says “that can’t be right” when, IIRC, a Rock64 beats the XU4. The Rock64 was running Debian so Sysbench used the NEON instruction in the GPU and got a huge boost, while the XU4 was running only in the CPU and doing 32 bit math in several iterations per result. His Sysbench results were right, but VERY misleading as to the normal user experience. (Oh, and his boards running Ubuntu are also slower than the Debian. IIRC Ubuntu does not implement the SIMD instructions where base Debian does).
I think it’s this one:
There are 2 things that are regularly screwed up by product reviewers for computers.
1) Heat Management. Usually never looked at at all. Rarely done with different levels of heat sink to show optimal size for heat removal at continuous full load. (Or even just making sure there is enough heat sink on the board to not have it heat limit and reduce clock speed. Often not even monitoring clock speed during benchmarks.)
2) WHAT MATH is used in benchmarks. Is it using Software Floating Point (armel), 32 Bit Hardware Floating Point (armhf), 64 Bit Hardware Floating Point (arm64) or GPU based Floating Point (NEON)? Ignore that and you have an order of magnitude (or 2) uncertainty in what you are doing…
(More than you would ever want to know about ARM floating point choices:
Unfortunately, almost nobody but hard core geeks pays attention to that. Even “modest geeks” like Mr. Explaining Computers can be caught if they don’t pay attention to it. So he was running a Double Precision benchmark on a Rock64 in NEON capable arm64 build and compared it to an XU4 running armhf code and was unable to understand why the XU4 “lost” and the Rock64 “won”.
LOTS of OS builds will “cheat” on this point. For example, pretty much every BSD I’ve looked at runs generic v7 (armhf) code and does not use NEON or even arm64. One of them (NetBSD?) even runs v6 code! On a v8 machine that can do NEON SIMD math(!) (Single Instruction Multiple Data – basically the vector math like my old Cray did, using the GPU for lots of parallel speed).
Why? It takes work to convert working v7 (armel or amrhf) code to v8 (arm64) code and use that nice fat 64 bit ALU (Arithmetic Logic Unit). Run armel and you don’t use the ALU at all, math done by lots of software iterations in the CPU. Converting 32 bit ALU code to 64 bit ALU code also takes some work. So instead folks just compile what already works and ship it. After all, 90%+ of the folks using the product will have no clue you are not using 1/2 their hardware… Then moving from ALU to SIMD like processing in the GPU (Graphics Processing Unit) using NEON instructions; well that’s a whole ‘nother kettle of fish in terms of work to get it right and prove it in QA.
So, from the POV of the folks at Raspbian: Leave it 32 bit (V7 / armhf) and it still works just fine, with hardly any added work needed, on the 64 bit hardware. Most everybody won’t even notice anyway, and your binaries can be run on any of the recent hardware so nobody is going to call up asking why it won’t. Only hard core geeks will notice, and only folks doing a lot of intensive high precision math will care (and they ought to use Big Iron anyway)… That’s the attitude I see, anyway…
Me? I run v8 / arm64 OS builds that understand NEON (Debian / Armbian / Devuan) wherever possible.
Why? I’m a hard core geek type who does high precision math a lot…
I know, you were wondering about hardware and I went off on My Software Rant about instruction sets ;-)
More than you wanted to know, but there it is….
EM – the explanation(s) is/are appreciated ;)
I think for most users, the only real advantage to 64 bit is the ability to directly address very large memory or similar and related problems like very large images or high bit depth colors.
And that is why I’m VERY happy with my Odroid XU4. Even though it is “only” a 32 bit machine.
With 8 cores, and 4 of them very fast, it just blows through most stuff at a very nice comfortable clip. Then, with 2 GB of memory but only stuffing it with 32 bit instructions, it’s like I’ve got a 3 GB+ machine compared to the 64 bit hardware (in terms of when it rolls something to swap).
I do explore using v8 / arm64 hardware for math stuff (so far not impressed with the parallel performance of various software though…) and like it for any time I’m playing with that kind of thing, and I’m especially interested in getting functional NEON on math heavy programs.
But when it’s time to launch a browser while running a video while having 6 panels open to monitor other boards and systems while…. That’s when I’m happiest running the XU4.
So far, the v8 / arm64 Hot Boards have all disappointing to some degree or another. Almost entirely from the software being dodgy. Only the Pi M3 has not disappointed, but then it isn’t all that fast… Just fast enough, barely. So when it isn’t enough, I reach for the XU4 and not the RockPro64 or the N2.
Oh Well, it is what it is…
I did a quick survey of the 5 resellers listed on the Pi site as selling the Pi M4. One had the 1 GB version in stock. Another had the 2 GB version (as, IIRC did a another but with a future ship date). None had the 4 GB version available yet.
It looked like from the “future shipping” dates that they expected 4 GB inventory available about August.
Works for me, as I’m in no hurry…
The question of 32 bit vers 64 bit is still before us. So far I lean toward 64, but barely. While 64 bit promises better numerical precision and greater depth of image details, both valuable attributes, 32 bit just seems to work better in the real world. It will be interesting to see what a 4GB- RasbPi 4 will do. Maybe with that 4GB memory, USB3, the Pi4 will have the balance needed to get the most out of this form factor. A heat sink BIG enough to transfer the energy from CPU to the ambient is a far better solution then a fan, if the enclosure is designed for the needed convection. A saving in the energy needed to run the fan as well as elimination of another noise source.
We now have the ability to design and create any mount or enclosure needed by way of 3D printing and Acad. Changes in the IO sockets and their placement necessitate new enclosure designs…pg
You know I bet you could make a very serviceable heat sink out of a small stack of pennies and perhaps some solder. No waiting for delivery and very cheap.
Stack them like slightly off set poker chips to create fins.
Pennies are now a copper wash over zinc. Not the best heat conductor.
Probably more effective to just get some aluminum bar stock and cut some fins in it….
For that matter, my junk pile PCs have heat sinks… just cut to fit.
Not like I’m going to use that old 486 again :-)
Zinc thermal conductivity is just a bit over 1/2 that of aluminum
Copper – – – – – – – 413
silver – – – – – – – – 403
aluminum – — – – 237
zinc – – – – – – – – – 123
steel – – – – – – – – – 54
lead – – – – – – – – – 36.6
Thermal Conductivity – k – (W/m K)
Not terrific but certainly usable, especially given how easy it is to acquire in usable quantity.
Larry – may be some problems with the thermal conductivity data. AFAIK, Silver conducts heat better than Copper, and the Wiki data at https://en.wikipedia.org/wiki/List_of_thermal_conductivities gives Silver at 300K as 427 W/m K and Copper as 398 W/m K. Both pure, and alloys are a bit less conductive. Zinc at around 116 W/m K.
Maybe the best way to get a good heat-sink would be to use a heat-pipe, evaporating some fluid at the hot side and condensing it in the bit with the air-vanes, with the condensed fluid dribbling back down to the bottom to get boiled again. Heat gets carried much faster in the moving mass of vapour than it does by conduction alone. Should be possible using water as the heat-transfer fluid, and just needs all the air to be taken out so we’re dealing with simply water and water-vapour, and at room-temperature the pressure would be around 0.03bar.
I got a 1 inch square fan for the RPi3. Even that small, it does make some noise, but not a lot.
I just checked and those numbers are as posted in the link. Silver is more electrically conductive than copper but looks like copper does better (not by much) on thermal conductivity.
One of my “hot buttons” is fan noise, so I’m strongly biased.
There are stick on heat sinks for the Pi M3 that are still relatively small, yet quite enough to cool them even at full load. For $8 you can get a set better than the one I have (that works well enough until the office air temp is over 80F and all 4 cores are at 100% … ). This set is enough for 5 Pis. (15 pieces. The one on the memory is copper, the CPU and little one are aluminum).
So for about $1.60 / Pi you can get “almost always enough” and silent.
But if you need more, for $5 you can double the height of the CPU heat sink:
Or, for about $1.80 / CPU, you can get a very nice all copper bigger heat sink (in a pack of 10):
Or my favorite, for $6 for a pack of 5 (or $1.20 each) a one inch by one inch by 10 mm aluminum heat sink that’s way overkill:
So at the point where, for under $2 / board, I can have zero heat issues with zero electricity and zero fan and zero noise and no mechanical parts to fail and nearly no labor to install: Why do anything else?
It is just incredibly easy to stick a chunk of metal on the chip and be done.
IMHO, a fan is an admission of engineering failure. We can run hundreds of watts of high end stereo gear without fans. So running a 5 W computer without a fan is trivial in comparison.
Larry – nitpicking here, but on your link look at the temperatures at which the thermal conductivity was measured. Choice of 0 or 327 degrees C and I’d interpolate to get a good estimate. They don’t state purity there, and Sterling Silver isn’t as good as Copper, but pure Silver is better. Nitpicking, but useful to know.
I think there is an existence proof of the limit case. The Odroid company does a very good job of matching heat sink size to heat produced. The XU4Q (Q for Quiet… the one I have) has no fan. The heat sink on it is enough that you get something like 92% of the same total computes when pegged 100% as you do with the one with a fan (meaning that other than deliberate brutal heat churning benchmarks, it’s ‘enough heatsink’).
So that heat sink is aluminum and it is 1 1/2 inches square by 1 inch tall. That’s enough for an octo-core CPU running at a bit under 2 GHz. In other words, about 4 x Pi heat load. (It uses a 12 V mondo Amps power supply…)
So that’s your limit case. Divide that size by 2 to 4 and that’s about the max needed for the Pi M3. Here’s an image:
I’ve done the heat tests on it and it doesn’t heat limit unless you go out of your way to load up all the cores at once for a few minutes.
My point is just that a fairly small chunk of aluminum at about $2 TO $5, is just dandy for cooling a Pi M3 even in summer in a hot room. Heck, the dinky “chip sized” (1/2 inch x 1/2 inch x 3/8 inch) on a side in a poorly ventilating case works up to about 80 F ambient, and then only heat limits on pegging all 4 cores for over 20 seconds or so. (I generally only see it on video playback or when the browser decides to do a lot of open loop during spell checking).
It is just an incredibly easy to solve problem.
So yes, a stack of pennies would work Just Fine. But I’d rather drop $5 on Amazon on my next order and not spend my time soldering pennies together ;-)
(The stack of pennies would look cool though ;-)
I haven’t tried maxing out my RPi3 with the fan, so I don’t know if it will allow it to max 100%. But eventually I plan to make it a DNS server and possibly install squid, so it wouldn’t even get close to max, I think.
I’ve run DNS and squid on a Pi Model B+ and not used most of its single 700 MHz core…
Surprised me a lot, but it just isn’t much load.
“Pennies are now a copper wash over zinc.” You’re lucky. All British coins up to the 10p are now magnetic. On the plus side, they cost less than buying washers of the same size, even after the wear’n’tear on the drill ;-)
Back in 1985 I had an 8-bit development system for Motorola MC68(7)05P series MPUs. With 128 Bytes of RAM and 2,048 Bytes of UVROM one could do amazing things as long as you were happy writing programs in machine language (thanks to a fine 6805 cross assembler provided by Avocet).
Then I got too busy to keep up with the technology. At last I have time to spare again so I am thinking about building a home brew security system. Presumably all of the boards discussed would be capable of handling that kind of task so I am wondering if anyone on this blog has built one? How well did it work? Was it useful or was it for entertainment value only?
One of THE big advantages the Raspberry Pi has is a large ‘community”. Odds are, whatever you want to do, someone has already done it, or close:
There might well be something for the other boards if you search on their name. It is also the case that, being Linux, a project on the Pi is likely software compatible. There might be changes in the GPIO pins used, but many are “GPIO Compatible” with the Pi too.
Thanks for those links. Clearly I have some studying to do!