The folks at Raspberry Pi are riding on a bit of a wave at the moment, with the launch of the Pi 5 with its PCIe and RP1 peripheral chip, the huge success of the RP2040 microcontroller, and the supply chain issues that dogged the Pi 4 and Compute Module 4 during and after the pandemic finally working themselves out. But as always there are plenty of would-be competitors snapping at their heels, so [Jeff Geerling] has posed the question of what it takes to make a Raspberry Pi killer. He’s in a good position to do this, as he’s amassed an impressive collection of every competing Compute Module board.
It’s a well-observed analysis of the world of small Linux SBCs, on hardware, software, community, and price, and we find ourselves pretty much in agreement with it. The Pi hardware has quirks and is rarely the best on paper when compared to the competition, but they win hands-down on distribution support and community. In a sense what you really buy when you get a PI is this, because Raspberry Pi OS will run on it for the reasonable future. Rival makers would do well to read his piece, because we sense that if one of them tried to give the Pi a run for its money away from the hardware it would make for a much better SBC ecosystem. Take a look at his Compute Module comparison below the break.
Modularity is a fun topic for us. There’s something satisfying about seeing a complex system split into parts and these parts made replaceable. We often want some parts of our devices swapped, after all – for repair or upgrade purposes, and often, it’s just fun to scour eBay for laptop parts, equipping your Thinkpad with the combination of parts that fits you best. Having always been fascinated by modularity, I believe that hackers deserve to know what’s been happening on the CPU module front over the past decade.
We’ve gotten used to swapping components in desktop PCs, given their unparalleled modularity, and it’s big news when someone tries to split a yet-monolithic concept like a phone or a laptop into modules. Sometimes, the CPU itself is put into a module. From the grandiose idea of Project Ara, to Intel’s Compute Card, to Framework laptop’s standardized motherboards, companies have been trying to capitalize on what CPU module standardization can bring them.
There’s some hobbyist-driven and hobbyist-friendly modular standards, too – the kind you can already use to wrangle a powerful layout-demanding CPU and RAM combo and place it on your simple self-designed board. I’d like to tell you about a few notable modular CPU concepts – their ideas, complexities, constraints and stories. As you work on that one ambitious project of yours – you know, the one, – it’s likely you will benefit a lot from such a standard. Or, perhaps, you’ll find it necessary to design the next standard for others to use – after all, we all know there’s never too few standards! Continue reading “Future Brings CPU Modules, And The Future Is Now”→
[Jeff] demonstrates how easy it is to get two CM4 modules to synchronize to within a few tens of nanoseconds in the video below the break. That alone can be very useful on many projects. But if you want really stable and absolute time, you need a stratum 1 external source. These time servers, called grandmasters in PTP nomenclature, have traditionally been specialized pieces of kit costing tens of thousands of dollars, using precision oscillators for stability and RF signals from stratum 0 devices like navigation satellites or terrestrial broadcast stations to get absolute time. But as Lasse Johnsen, who worked on the kernel updates remarks in the video:
In 2022 these purpose-built grandmaster clocks from the traditional vendors are about as relevant as the appliance web servers like the Raq and Qube were back in 1998.
It is now possible to build your own low-cost stratum 1 time server in your lab from open source projects. Two examples shown in the video. The Open Time Server project’s Timecard uses a GNSS satellite receiver and a Microchip MAC-SA5X Rubidium oscillator. If that’s overkill for your projects or budget, the Time4Pi CM4 hat is about to be release for under $200. If accurate time keeping is your thing, the technology is now within reach of the average home lab. You can also add PTP to a non-CM4 Raspberry Pi — check out the Real-Time HAT that we covered last year.
[Zak Kemble] likes to build things, and for several years has been pining over various Raspberry Pi products with an eye on putting them into service as a router. Sadly, none of them so far provided what he was looking for with regard to the raw throughput of the Gigabit Ethernet ports. His hopes were renewed when the Compute Module 4 came on scene, and [Zak] set out to turn the CM4 module into a full Gigabit Ethernet router. The project is documented on his excellent website, and sources are provided via a link to GitHub.
Of course the Compute Module 4 is just a module- it’s designed to be built into another product, and this is one of the many things differentiating it from a traditional Raspberry Pi. [Zak] designed a simple two layer PCB that breaks out the CM4’s main features. But a router with just one Ethernet port, even if it’s GbE, isn’t really a router. [Zak] added a Realtek RTL8111HS GbE controller to the PCIe bus, ensuring that he’d be able to get the full bandwidth of the device.
The list of fancy addons is fairly long, but it includes such neat hacks as the ability to power other network devices by passing through the 12 V power supply, having a poweroff button and a hard reset button, and even including an environmental sensor (although he doesn’t go into why… but why not, right?).
Testing the RouterPi uncovered some performance bottlenecks that were solved with some clever tweaks to the software that assigned different ports an tasks to different CPU cores. Overall, it’s a great looking device and has been successfully server [Zak] as a router, a DNS resolver, and more- what more can you ask for from an experimental project?
We know that readers are familiar with the global chip shortage and its effects on product availability. The Raspberry Pi folks haven’t escaped its shadow, for even though they’ve managed to preserve availability of their RP2040 microcontroller, it’s fair to say that some of their flagship Linux-capable boards have been hard to find. All of this has had an unlikely effect in the form of a new Raspberry Pi, but unexpectedly it’s one which few end users are likely to get their hands on.
The Raspberry Pi Compute Module has been part of the range since the early days, and in its earlier versions took a SODIMM form factor. The last SODIMM Compute Module had a Pi 3 processor, and this unexpected new model is reported as having a very similar hardware specification but featuring the Pi 4 processor. It seems that the chip shortage has affected supplies of the earlier SoC, and to keep their many industrial customers for the SODIMM Compute Modules in business they’ve had to produce this upgrade. As yet it’s not surfaced for sale on its own and there’s a possibility it will stay only in the realm of industrial boards, but as the story develops there’s a Raspberry Pi forum topic about it for the latest and you can find the pertinent info in the video below the break.
If we wanted to point to an epoch-making moment for our community, we’d take you back to February 29th, 2012. It was that day on which a small outfit in Cambridge put on the market the first batch of their new product. That outfit was what would become the Raspberry Pi Foundation, and the product was a run of 10,000 Chinese made versions of their very first single board computer, the Raspberry Pi Model B. With its BCM2835 SoC and 512 megabytes of memory it might not have been the first board that could run a Linux distribution from an SD card, but it was certainly the first that did so for pocket money prices. On that morning back in 2012 the unforseen demand for the new board brought down the websites of both the electronics distributors putting it on sale, and a now-legendary product was born. We’re now on version 4 of the Model B with specs upgraded in almost every sense, and something closer to the original can still be bought in the form of its svelte stablemate, the Pi Zero.
How Do You Evolve Without Casualties?
The problem with having spawned such a successful product line is this: with so many competitors and copies snapping at your heels, how do you improve upon it? It’s fair to say that sometimes its competitors have produced more capable hardware than the Pi of the moment, but they do so without the board from Cambridge’s ace in the hole: its uniquely well-supported Linux distribution, Raspberry Pi OS. It’s that combination of a powerful board and an operating system with the minimum of shocks and surprises that still makes the Pi the one to go for after all these years.
While you likely wouldn’t be running games with such as setup, there are many kinds of unique and interesting compute-based workloads that can be offloaded onto a GPU. In a situation similar to putting a V8 on a lawnmower, the Raspberry Pi 4 pulls around 5-10 watts and the GPU can pull 230 watts. Unfortunately, the PCI-e slot on the IO board wasn’t designed with a power-hungry chip in mind, so [Jeff] brought in a full-blown ATX power supply to power the GPU. To avoid problems with differing ground planes, an adapter was fashioned for the Raspberry Pi to be powered from the PSU as well. Plugging in the card yielded promising results initially. In particular, Linux detected the card and correctly mapped the BARs (Base Address Register), which had been a problem in the past for him with other devices. A BAR allows a PCI device to map its memory into the CPU’s memory space and keep track of the base address of that mapped memory range.
AMD kindly provides Linux drivers for the kernel. [Jeff] walks through cross-compiling the kernel and has a nice docker container that quickly reproduces the built environment. There was a bug that prevented compilation with AMD drivers included, so he wasn’t able to get a fully built kernel. Since the video, he has been slowly wading through the issue in a fascinating thread on GitHub. Everything from running out of memory space for the Pi to PSP memory training for the GPU itself has been encountered.
The ever-expanding capabilities of the plucky little compute module are a wonderful thing to us here at Hackaday, as we saw it get NVMe boot earlier this year. We’re looking forward to the progress [Jeff] makes with GPUs. Video after the break.