Getting PCIe Working On The New Pi 5

After the Pi 4 released, a discovery was quickly made that the internals of the popular single-board computer use PCIe to communicate with each other. This wasn’t an accessible PCIe bus normally available in things like desktop computers for expansion cards, though; this seemed to be done entirely internally. But a few attempts were made to break out the PCIe capabilities and connect peripherals to it anyway, with varying levels of success. The new Pi 5 seems to have taken that idea to its logical conclusion and included a PCIe connector, and [George] is showing us a way to interface with this bus.

The bus requires the port to be enabled, but once that’s done it’s ready to be used. First, though, some support circuitry needs to be worked out which is why [George] is reverse engineering the system to see what’s going on under the hood. There are a few handshakes that happen before it will work with any peripherals, but with that out of the way a PCIe card can be connected. [George] removed the connector to solder wires to the board directly in order to connect a proper PCIe port allowing a variety of cards to be connected, in this case a wireless networking card and an old Firewire card. This specific build only allows Gen 1 speeds, but the bus itself supports faster connections in theory with better wiring and support circuitry.

While it might not be the prettiest solution, as [George] admits, it does a great job of showing the inner workings of this communication protocol and its use in the new, more powerful Raspberry Pi 5. This makes a lot of things more accessible, such as high-speed PCIe HATs allowing for a wide range of expansion for these popular single-board computers, which wouldn’t have been possible before. If you’re still stuck with a Pi 4, though, don’t despair. You can still access the PCIe bus on these older models but it’ll take a little bit more work.

Thanks to [CJay] for the tip!

Continue reading “Getting PCIe Working On The New Pi 5”

Jenny’s Daily Drivers: RiscOS 5.28

On a mundane day at some point in late 1987, though I didn’t grasp exactly what it would become at the time, I sat in front of the future. My school had a lab full of BBC Micros which I’d spent the previous few years getting to know, but on that day there was a new machine in one corner. It was a brand-new Acorn Archimedes, probably an A300, and it was the first time I had used an operating system with a desktop GUI. The computer was the first consumer application of the ARM processor architecture which has since gone on to conquer the world, and the operating system was called Arthur, which hasn’t. That’s not to say that Arthur is forgotten though, because it was soon renamed as RiscOS, managed to outlive both Acorn and the Archimedes, and still survives as a maintained though admittedly niche operating system to this day. So my Daily Driver this month is the current generation of RiscOS, version 5.28, and the machine I’m running it on is a Raspberry Pi 4. For a computer with an ARM core that’s designed and sold by a company based in Cambridge just like the original Acorn, it’s the most appropriate pairing I can think of.

Probably the Smallest OS In This Series

A beige desktop with no monitor, keyboard and mouse in front. It shows signs of yellowing with age.
The first ARM product, an Acorn Archimedes A310. mikkohoo, CC BY-SA 4.0.

At one point the Raspberry Pi folks even featured the Pi version of RiscOS on their website, but for those missing it there it’s freely downloadable as a disk image from the RiscOS Open site. Having spent most of its life as a closed-source product it’s been opened up over the last decade, and you can grab the source if you’re interested. When it’s normal for an OS download to run into the many gigabytes, it’s a bit of a shock to grab one that’s a shade under 140 megabytes and can be written to a 2 gigabyte SD card. This makes it probably one of the quickest operating system installs I have ever done, with all steps completed in a very short time. Sticking the SD card into the Pi it boots to a desktop in about 32 seconds which is only 5 seconds less than the latest Raspberry Pi OS image, so sadly that compactness doesn’t net you any extra speed. Continue reading “Jenny’s Daily Drivers: RiscOS 5.28”

2023 Halloween Hackfest: Meet Creepsy, The Robotic People-Seeking Ghost

The 2023 Halloween Contest might be over, but we saw some great entries and clever modifications bringing projects into the Halloween spirit. One of them is Creepsy by [Hazal Mestci], a Raspberry Pi-based robotic ghost able to autonomously pick people out of a crowd and glide towards them, emitting eerie sounds as it does so.

The tech behind Creepsy (GitHub repository) originally led the somewhat less spooky existence of a mobile drink serving platform. But with a little bit of modification and the addition of a bedsheet with cutouts for sensors, the transformation into an obstacle-avoiding people-seeking spooker was complete. Key to this transformation was the Viam Python SDK, a software Swiss army knife used by robot builders everywhere. Creepsy itself was built using handy aluminum extrusion, and 3D printed parts along with the requisite suite of motors, cameras, and ultrasonic sensors.

Thanks to everyone who participated in the 2023 Halloween Contest. Got an idea for next year? It’s never too early to get started because ideas are great, but nothing beats “done on time”!

Mini DDR Cabinet Gets Maximum Upgrade

Those shrunken-down arcade cabinets are a nifty idea, but they sure do suck in practice. At least, the Dance Dance Revolution game is full of empty promises. With the $25 cabinet, all you get are three songs that come out of a crappy little speaker, and a not-great display to match.

[BigRig Creates] endeavored to make it better, however, and managed to cram a Raspberry Pi 4 in the cabinet without disturbing the stock components too much. They did have to trim every extraneous piece of plastic from the inside of the cabinet and trim the I/O pins down, but it fit.

What didn’t fit are the fans that [BigRig Creates] needed once it was clear that it was necessary to overclock the Pi. As [BigRig Creates] points out, a custom PCB would have saved some room. And perhaps time. And definitely some wires.

Unfortunately, it wasn’t that simple on the software side. (It never is, is it?) Even getting the screen to work was no picnic. But in the end, it worked, and even survived a bunch of gamers testing it out at LTX. Check it out after the break.

Got an old PS2 DDR controller? You could make it play Simon instead.

Continue reading “Mini DDR Cabinet Gets Maximum Upgrade”

Big Red Button Puts Toddler In Command Of Chromecast

Controversial position: the world needs more buttons. We’ve gotten so far away from physical interfaces like buttons, knobs, and switches in favor of sleek but sterile touch-screen “controls” that when we see something like this big red button so toddlers can start a TV show, we just have to latch onto the story and see what it’s all about.

As it turns out, the big red button itself is probably the least interesting part of [Mads Chr. Olesen] build. The real meat of the project is the reverse engineering effort needed to get Chromecast to start the show. As [Mads] explains, once upon a time a simple GET request to a URL was all it took to do so, but no more; Google has repeatedly nerfed the Chromecast API over the years, enough that [Mads] had some digging to do.

Luckily, pyChromecast is a thing, but using it for DRTV, a streaming service of the Danish Broadcasting Corporation, required figuring out the AppID of the DRTV app. It looks like [Mads] used Wireshark to sniff traffic to and from the Chromecast, and netlog-viewer to analyze the capture. That and a little Developer Tools action in Chrome led to all the information needed to modify pyChromecast to support DRTV. The rest of the project consisted of building a box for the huge red arcade button and wiring it up to a Wemos D1. A Raspberry Pi actually talks to the Chromecast, and now the toddler is able to call up his favorite show and pause and restart it at will, no parent required.

We appreciate the reverse engineering heroics [Mads] displays here, which provide good general lessons for other purposes. It’s been a while since we’ve seen a Chromecast physical interface build, too, so we appreciate the refresher.

Raspberry Pi OS In-Place Upgrades, Not For The Faint Hearted

The Raspberry Pi series of boards are noted for their good software support, with a continuous flow of operating system upgrades such that an original Pi from 2012 will still boot the latest Pi OS. But these upgrades are best done by writing a fresh SD card, so oddly, the Pi remains surprisingly difficult in many cases to upgrade in place. [Iustin Pop] has taken a look at the problem, and finds that though it’s not always easy it remains possible with a bit or work.

An upgrade in place of a Raspberry Pi OS install that’s running on a headless device is probably the simplest of the lot, with a relatively small set of issues. Do it on a machine using the GUI though, and the switch from x.org to Wayland makes for a whole world of pain.

Perhaps most interesting for the insight it gives us into the way Raspberry Pi OS is derived from Debian, is the crossgrade process from the ARMhf build for earlier machines to the ARM64 one for the more recent ones. Here aside from a headache of differing paths and versions, he encounters the Pi-specific compilation tweaks put in place by the developers of Raspberry Pi OS, leading to the ARMhf version being a different branch from the original Debian than the ARM64 one.

Having read his examination of in-place upgrades we have to say that simply writing a new SD card remains the most attractive option. But sometimes along comes a remote system where that’s simply not possible, and this guide might just be very useful sometime.

2023 Halloween Hackfest: Spooky Noise Maker Is Self-Contained

We just love it when y’all build off of each other’s projects. This spooky Halloween noise maker from [C.M. Herron] is no exception. But while the projects we’ve seen lately rely on external computers and/or guitar pedals to create the effects part of the build, this one has everything running on a Raspberry Pi that sits inside the box.

Readers of a certain vintage will recognize this as an 8-track storage box, on top of which are several noise-making objects that creak and ting and reverberate nicely. A USB microphone picks up the sounds, and by using a regular microphone instead of a piezo, [C.M.] can introduce varying levels of feedback to make the sounds even spookier.

So, how did [C.M.] make this work on a Pi 4? To put it simply, they’ve got the Reaper DAW and Windows Valhalla plugins running on top of WINE, which running on top of Box64, which is running on top of the Bullseye Pi OS. [C.M.] sure learned a lot from this build, and hopes to inspire others to build their own spooky noise boxen. Plus, they’ve already thought of ways to improve it for next year. Be sure to check it out in action after the break.

Continue reading “2023 Halloween Hackfest: Spooky Noise Maker Is Self-Contained”