The edge of a laptop is shown with a USB cable plugged into it. the other end of the cable is plugged into a Raspberry Pi Zero.

SSH Over USB On A Raspberry Pi

Setting up access to a headless Raspberry Pi is one of those tasks that should take a few minutes, but for some reason always seems to take much longer. The most common method is to configure Wi-Fi access and an SSH service on the Pi before starting it, which can go wrong in many different ways. This author, for example, recently spent a few hours failing to set up a headless Pi on a network secured with Protected EAP, and was eventually driven to using SSH over Bluetooth. This could thankfully soon be a thing of the past, as [Paul Oberosler] developed a package for SSH over USB, which is included in the latest versions of Raspberry Pi OS.

The idea behind rpi-usb-gadget is that a Raspberry Pi in gadget mode can be plugged into a host machine, which recognizes it as a network adapter. The Pi itself is presented as a host on that network, and the host machine can then SSH into it. Additionally, using Internet Connection Sharing (ICS), the Pi can use the host machine’s internet access. Gadget mode can be enabled and configured from the Raspberry Pi Imager. Setting up ICS is less plug-and-play, since an extra driver needs to be installed on Windows machines. Enabling gadget mode only lets the selected USB port work as a power input and USB network port, not as a host port for other peripherals.

An older way to get USB terminal access is using OTG mode, which we’ve seen used to simplify the configuration of a Pi as a simultaneous AP and client. If you want to set up headless access to Raspberry Pi desktop, we have a guide for that.

Thanks to [Gregg Levine] for the tip!

Image

Hands On WIth The Raspberry Pi Compute Module Zero

We are all familiar enough by now with the succession of boards that have come from Raspberry Pi in Cambridge over the years, and when a new one comes out we’ve got a pretty good idea what to expect. The “classic” Pi model B+ form factor has been copied widely by other manufacturers as has their current Compute Module. If you buy the real Raspberry Pi you know you’ll get a solid board with exceptionally good software support.

Every now and then though, they surprise us, with a board that follows a completely different path, which brings us to the one on our bench today. The Compute Module Zero packs the same quad-core RP3 system-on-chip (SoC) and Wi-Fi module as the Pi Zero 2 W with 512 MB of SDRAM onto a tiny 39 mm by 33 mm postage-stamp module. It’s a Pi, but not as you know it, so what is it useful for? Continue reading “Hands On WIth The Raspberry Pi Compute Module Zero”

Image

Quote Printer Keeps Receipts

In the world of social media, “keeping receipts” refers to the practice of storing evidence that may come in handy for a callout post at a later date. For [Teddy Warner], though, it’s more applicable to a little printer he whipped up to record the very best banter from his cadre of friends.

[Teddy’s] idea was simple. He hoped to capture amusing or interesting quotes his friends made in his apartment, and store them in a more permanent form. He also wanted to allow his friends to do the same. To that end, he whipped up a small locally-hosted web interface which his friends could use to record quotes, along with proper attribution. Hosted on a Raspberry Pi 5, the web interface can then truck those quotes out to an 80 mm thermal receipt printer. The anecdote, epithet, or witticism is then spat out with a timestamp in a format roughly approximating a receipt you might get from your local gas station. What’s neat is that [Teddy] was also able to install the entire system within the housing of the Miemieyo receipt printer, by 3D printing a custom base that could house the Pi and a suitable power supply.

Beyond being fun, this system also serves a critical purpose. It creates a paper trail, such that in-jokes, rumors, and insults alike can be traced back to their originating source. No more can Crazy Terry claim to have invented “the Malaga bit,” because the server and the receipt clearly log that Gerald dropped it first at the Boxing Day do.

We’ve seen similar projects before, too. There’s just something neat about holding a bit of paper in your hand.

Continue reading “Quote Printer Keeps Receipts”

Image

Low-Cost, Portable Streaming Server

Thanks to the Raspberry Pi, we have easy access to extremely inexpensive machines running Linux that have all kinds of GPIO as well as various networking protocols. And as the platform has improved over the years, we’ve seen more demanding applications on them as well as applications that use an incredibly small amount of power. This project combines all of these improvements and implements a media streaming server on a Raspberry Pi that uses a tiny amount of energy, something that wouldn’t have been possible on the first generations of Pi.

Part of the reason this server uses such low power, coming in just around two watts, is that it’s based on the Pi Zero 2W. It’s running a piece of software called Mini-Pi Media Server which turns the Pi into a DLNA server capable of streaming media over the network, in this case WiFi. Samba is used to share files and Cockpit is onboard for easy web administration. In testing, the server was capable of streaming video to four different wireless devices simultaneously, all while plugged in to a small USB power supply.

For anyone who wants to try this out, the files for it as well as instructions are also available on a GitHub page. We could think of a number of ways that this would be useful over a more traditional streaming setup, specifically in situations where power demand must remain low such as on a long car trip or while off grid. We also don’t imagine the Pi will be doing much transcoding or streaming of 4K videos with its power and processing limitations, but it would be unreasonable to expect it to do so. For that you’d need something more powerful.

Continue reading “Low-Cost, Portable Streaming Server”

Image

Raspberry Pi Gets Desktop Form Factor

Before the Raspberry Pi came out, one cheap and easy way to get GPIO on a computer with a real operating system was to manipulate the pins on an old parallel port, then most commonly used for printers. Luckily, as that port became obsolete we got the Raspberry Pi, which has the GPIO and a number of other advantages over huge desktop computers from the 90s and 00s as well. But if you really miss that form factor or as yearn for the days of the old parallel port, this build which puts a Raspberry Pi into a mini ITX desktop case is just the thing for you.

There are a few features that make this build more than just a curiosity. The most obvious is that the Pi actually has support for PCIe and includes a single PCIe x1 slot which could be used for anything from a powerful networking card to an NVMe to a GPU for parallel computing in largely the same way that any desktop computer might them. The Pi Compute Module 5 that this motherboard is designed for doesn’t provide power to the PCIe slots automatically though, but the power supply that can be installed in the case should provide power not only to the CM5 but to any peripherals or expansion cards, PCIe or otherwise, that you could think of to put in this machine.

Of course all the GPIO is also made easily accessible, and there are also pins for installing various hats on the motherboard easily as well. And with everything installed in a desktop form factor it also helps to improve the cable management and alleviate the rats-nest-of-wires problems that often come with Pi-based projects. There’s also some more information on the project’s Hackaday.io page. And, if you’re surprised that Raspberry Pis can use normal graphics cards now, make sure to take a look at this build from a few years ago that uses completely standard gaming GPUs on the Pi 5.

A photo of the SigCoreUC

SigCore UC: An Open-Source Universal I/O Controller For The Raspberry Pi

Recently, [Edward Schmitz] wrote in to let us know about his Hackaday.io project: SigCore UC: An Open-Source Universal I/O Controller With Relays, Analog I/O, and Modbus for the Raspberry Pi.

In the video embedded below, [Edward] runs us through some of the features which he explains are a complete industrial control and data collection system. Features include Ethernet, WiFi, and Modbus TCP connectivity, regulated 5 V bus, eight relays, eight digital inputs, four analog inputs, and four analog outputs. All packaged in rugged housing and ready for installation/deployment.

[Edward] says he wanted something which went beyond development boards and expansion modules that provided a complete and ready-to-deploy solution. If you’re interested in the hardware, firmware, or software, everything is available on the project’s GitHub page. Beyond the Hackaday.io article, the GitHub repo, the YouTube explainer video, there is even an entire website devoted to the project: sigcoreuc.com. Our hats off to [Edward], he really put a lot of polish on this project.

If you’re interested in using the Raspberry Pi for input/output you might also like to read about Raspberry Pi Pico Makes For Expeditious Input Device and Smart Power Strip Revived With Raspberry Pi.

Continue reading “SigCore UC: An Open-Source Universal I/O Controller For The Raspberry Pi”

Image

The Unusual Pi Boot Process Explained

If you’ve ever experimented with a microprocessor at the bare metal level, you’ll know that when it starts up, it will look at its program memory for something to do. On an old 8-bit machine, that program memory was usually an EPROM at the start of its address space, while on a PC, it would be the BIOS or UEFI firmware. This takes care of initialising the environment in both hardware and software, and then loading the program, OS, or whatever the processor does. The Raspberry Pi, though, isn’t like that, and [Patrick McCanna] is here to tell us why.

The Pi eschews bringing up its ARM core first. Instead, it has a GPU firmware that brings up the GPU. It’s this part of the chip that then initialises all peripherals and memory. Only then does it activate the ARM part of the chip. As he explains, this is because the original Pi chip, the BCM2835, is a set-top-box chip. It’s not an application processor at all, but a late-2000s GPU that happened to have an ARM core on a small part of its die, so the GPU wakes first, not the CPU. Even though the latest versions of the Pi have much more powerful Broadcom chips, this legacy of their ancestor remains. For most of us using the board it doesn’t matter much, but it’s interesting to know.

Fancy trying bare metal Pi programming? Give it a go. We’ve seen some practical projects that start at that level.