Stratum 1 Grandmaster Time Server On A Budget

[Jeff Geerling] has been following the various open source time projects for some time now, and is finally able to demonstrate a working and affordable solution for nanoseconds-accurate timekeeping in your local lab. The possibility of a low-cost time server came about with the introduction of the Raspberry Pi CM4 compute module back in Oct 2020, whose Broadcom network chip (BCM54210PE) supports PTP (Precision Time Protocol, IEEE-1588) 1PPS output and hardware-based time stamping. Despite the CM4 data sheet specifying PTP support, it wasn’t available in the kernel. An issue was raised in Feb last year, and Raspberry Pi kernel support was finally released this month.

[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.

Continue reading “Stratum 1 Grandmaster Time Server On A Budget”

Meet The RouterPi, A Compute Module 4 Based GbE Router

[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.

A view underneath shows off the RTC, power supply, and more.

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?

This CM4 based project is a wonderful contrast to Cisco’s first network product, which in itself was innovative at the the time, but definitely didn’t have Gigabit Ethernet. Thanks to [Adrian] for the tip!

It’s Almost A New Raspberry Pi Compute Module 4. But Not Quite

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.

Of course, the Compute Module of the moment remains the CM4 in its newer form factor, which we see as possibly the most exciting of all the Pi products of the moment. Meanwhile this is not the first custom industrial Raspberry Pi to be seen in the wild.

Continue reading “It’s Almost A New Raspberry Pi Compute Module 4. But Not Quite”

The Compute Module Comes Of Age: Say Hello To The Real Cutting Edge Of Raspberry Pi

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 original Pi Model B+ from 2014.
The original Pi Model B+ from 2014. The form factor has had a few minor changes, but hardware-wise the Pi 4 follows this pretty closely. Lucasbosch, CC BY-SA 3.0.

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.

Continue reading “The Compute Module Comes Of Age: Say Hello To The Real Cutting Edge Of Raspberry Pi”

An AMD GPU plugged into an ATX PSU and Raspberry PI CM4

Raspberry Pi With Some Serious Graphical Muscle

[Jeff Geerling] routinely tinkers around with Raspberry Pi compute module, which unlike the regular RPi 4, includes a PCI-e lane. With some luck, he was able to obtain an AMD Radeon RX 6700 XT GPU card and decided to try and plug it into the Raspberry Pi 4 Compute Module.

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.

Continue reading “Raspberry Pi With Some Serious Graphical Muscle”

magicBlueSmoke-piStick-featured

How Do You Make A Raspberry Pi On A Stick?

We agree with [magic-blue-smoke] that one of the only things more fun than a standard Raspberry Pi 4 is the Compute Module form factor. If they are not destined to be embedded in a system, these need a breakout board to be useful. Each can be customized with a myriad board shapes and ports, and that’s where the real fun starts. We’ve already seen projects that include custom carrier boards in everything from a 3D Printer to a NAS and one that shows we can build a single-sided board at home complete with high-speed ports.

[magic blue smoke] used this ability to customize the breakout board as an opportunity to create a hackable media player “stick” with the Raspberry Pi built-in. We love that this Raspberry Pi CM4 TV Stick eliminates all the adapters and cables usually required to connect a Pi’s fiddly micro HDMI ports to a display and has heat sinks and an IR receiver to boot. Like a consumer media player HDMI stick, all you need to add is power. Continue reading “How Do You Make A Raspberry Pi On A Stick?”

3D Printer Control Board Packs A Raspberry Pi Compute Module 4

Traditionally, 3D printer control boards have used simplistic 8-bit microcontrollers to command the stepper drivers and ultimately move the machine where it needs to go. Newer boards have switched over to 32-bit microcontrollers, but they’re still relatively limited computationally. Because of this, a Raspberry Pi running OctoPrint is usually used to provide more complex features such as remote management and live video.

Looking to combine these different devices into a single all-in-one board, [pkElectronics] developed the Sigmoid S7P. With an STM32 microcontroller, TMC2209 stepper drivers, a Raspberry Pi Compute Module 4, and plenty of room for expansion, it promises to be a drop-in upgrade for essentially any 3D printer running on an open source firmware that could be ported over.

An earlier concept for the Sigmoid

According to [pkElectronics], the idea for the Sigmoid had been floating around for several years, but never got off the ground due to the difficulties in dealing with the SO-DIMM interface used by previous iterations of the Compute Module. But with the switch to smaller and denser connector for the CM4, the board finally started to take shape.

Whether you just used it as a convenient way to integrate OctoPrint into your printer, or want to get into something more advanced like Klipper, the Sigmoid S7P looks like a very exciting project. [pkElectronics] says they are considering producing the board commercially if there’s interest, so if you want one of these for your own custom 3D printer build, let them know.