A Raspberry Pi As An Offboard Display Adapter

The humble USB-C port has brought us so many advantages over its USB ancestors, one of which is as a handy display output for laptops. Simply add an inexpensive adapter and you can hook up everything from a mobile phone upwards to an HDMI display or projector. There’s a snag though, merely having USB-C is not enough as the device has to support the display feature. It’s a problem [Gunnar Wolf] had to face with a Lenovo ARM laptop, and his solution is unexpected. Instead of an adapter, he’s used a Raspberry Pi 3 and some software tricks.

The obvious route to an off-board Pi mirroring onboard video is to use VNC, which he tried but found wanting due to lagginess. As a user of the Wayland compositor he found he could instead use wf-recorder and send its output to a stream, and thus capture his screen in a way that the Pi could read over the network. It’s not quite as convenient a solution as a pure-hardware adapter, but at least it allowed him to share the screen.

It’s surprising how often we find projects needing to mirror the display of a computer using what hardware is to hand, at least this one is more elegant than some others.

Learn Sign Language Using Machine Vision

Learning a new language is a great way to exercise the mind and learn about different cultures, and it’s great to have a native speaker around to improve the learning experience. Without one it’s still possible to learn via videos, books, and software though. The task does get much more complicated when trying to learn a language that isn’t spoken, though, like American Sign Language. This project allows users to learn the ASL alphabet with the help of computer vision and some machine learning algorithms.

The build uses a computer vision model in MobileNetV2 which is trained for each sign in the ASL alphabet. A sign is shown to the user on a screen, and the user needs to demonstrate the sign to the computer in order to progress. To do this, OpenCV running on a Raspberry Pi with a PiCamera is used to analyze the frames of the user in real-time. The user is shown pictures of the correct sign, and is rewarded when the correct sign is made.

While this only works for alphabet signs in ASL currently, the team at the University of Glasgow that built this project is planning on expanding it to include other signs as well. We have seen other machines built to teach ASL in the past, like this one which relies on a specialized glove rather than computer vision.

Continue reading “Learn Sign Language Using Machine Vision”

This Machine-Vision Ekranoplan Might Just Follow You Home

What is it that’s not quite either a plane or a boat, but has characteristics of both? There are probably a lot of things that fit that description, but the one that [Nick Rehm] is working on is known as an ekranoplan. Specifically, he’s looking to make the surface-skimming ground-effect vehicle operate autonomously.

If you think you’ve heard about ekranoplans around here before, you’d be right — we’ve covered a cool LIDAR-controlled model ekranoplan that [rctestflight] worked on about a year ago, and more recently, [ThinkFlight]’s attempts to make an autonomous ekranoplan that can follow behind a boat. The latter is where [Nick] enters the collaboration, and the featherweight foam ground-effect vehicle shown in the video below is his test platform.

After sorting out the basic airframe design and getting the LIDAR integrated, he turned his attention to the autonomous bit, which relies on a Raspberry Pi 4 running ROS and a camera with a wide-angle lens. The Pi uses machine vision algorithms to find an “AprilTag” fiducial marker in the scene, which gives the flight controller information about the relative orientation of the ekranoplan to the tag. [Nick] tested tag tracking using an electric longboard, and the model ekranoplan did an admirable job of not only managing the ground-effect, but also staying on target right behind him. And hats off to [Nick] for keeping all the balls in the air and not breaking his neck in the process.

We’re looking forward to seeing what [Nick] built here end up in [ThinkFlight]’s big ekranoplan build. Ground-effect vehicles like these are undeniably cool, and it seems like they’ve got the potential to solve some interesting transportation problems.

Continue reading “This Machine-Vision Ekranoplan Might Just Follow You Home”

A Real GPU On The Raspberry Pi — Barely.

[Jeff Geerling] saw the Raspberry Pi Compute Module 4 and its exposed PCI-Express 1x connection, and just naturally wondered whether he could plug a GPU into that slot and get it to work. It didn’t. There were a few reasons why, such as the limited Base Address Register space, and drivers that just weren’t written for ARM hardware. A bit of help from the Raspberry Pi software engineers and other Linux kernel hackers and those issues were fixed, albeit with a big hurdle in the CPU. The Broadcom chip in the Pi 4, the BCM2711, has a broken PCIe implementation.

There has finally been a breakthrough — Thanks to the dedicated community that has sprung up around this topic, a set of kernel patches manage to work around the hardware issues. It’s now possible to run a Radeon HD 5000/6000/7000 card on the Raspberry Pi 4 Compute Module. There are still glitches, and the Kernel patches to make this work will likely never land upstream. That said, It’s possible to run a desktop environment on the Radeon GPU on a Pi, and even a few simple benchmarks. The results… aren’t particularly inspiring, but that wasn’t really ever the point. You may be asking what real-world use is for a full-size GPU on the Pi. Sure, maybe crypto-mining or emulation, or being able to run more monitors for digital signage. More than that, it might help ensure the next Pi has a working PCIe implementation. But like many things we cover here, the real reason is that it’s a challenge that a group of enthusiasts couldn’t leave alone.

Continue reading “A Real GPU On The Raspberry Pi — Barely.”

Tiny RISC Virtual Machine Is Built For Speed

Most of us are familiar with virtual machines (VMs) as a way to test out various operating systems, reliably deploy servers and other software, or protect against potentially malicious software. But virtual machines aren’t limited to running full server or desktop operating systems. This tiny VM is capable of deploying software on less powerful systems like the Raspberry Pi or AVR microcontrollers, and it is exceptionally fast as well.

The virtual machine is built from scratch, including the RISC processor with only 61 opcodes, a 64 bit core, and runs code written in his own programming language called “Brackets” or in assembly. It’s designed to be modular, so only those things needed for a given application are loaded into the VM. With these design criteria it turns out to be up to seven times as fast as comparably small VMs like NanoVM. The project’s creator, [koder77], has even used its direct mouse readout and joystick functionality to control a Raspberry Pi 3D camera robot.

For anyone looking to add an efficient VM to a small computing environment, [koder77] has made the project open-source on his GitHub page. This also includes all of the modules he has created so far which greatly expand the project’s capabilities. For some further reading on exceedingly tiny virtual machines, we featured this project way back in 2012 which allows users to run Java on similar hardware.

A Baudot Code Speaking Chatterbot With A Freakish Twist

[Sam Battle] known on YouTube as [Look Mum No Computer] is mostly known as a musical artist, but seems lately to have taken a bit of shine to retro telecoms gear, and this latest foray is into the realm of the minicom tty device which was a lifeline for those not blessed with ability to hear well enough to communicate via telephone. Since in this modern era of chatting via the internet, it is becoming much harder to actually find another user with a minicom, [Sam] decided to take the human out of the loop entirely and have the minicom user talk instead to a Raspberry Pi running an instance of MegaHal, which is 1990s era chatterbot.  The idea of this build (that became an exhibit in this museum is not obsolete) was to have an number of minicom terminals around the room connected via the internal telephone network (and the retro telephone exchange {Sam] maintains) to a line interface module, based upon the Mitel MH88422 chip. This handy device allows a Raspberry Pi to interface to the telephone line, and answer calls, with all the usual handshaking taken care of. The audio signal from the Mitel interface is fed to the Pi via a USB audio interface (since the Pi has no audio input) module.

Continue reading “A Baudot Code Speaking Chatterbot With A Freakish Twist”

Lofipi Keeps The Chill Beats Coming

These days, many people love having some lo-fi beats on when they chill and study. This has led to a cottage industry dedicated to producing said beats, and the format continues to grow in popularity. [Nicholas Sherlock] decided to build a custom audio device solely for the delivery of these comfortable tunes.

As seen on Reddit, the build relies on a Raspberry Pi 3B, paired with an X400 audio amplifier board and hooked up to a nicely-sized mid-range speaker. The hardware is assembled inside a case printed out of wood-effect PLA filament, giving it a nice old-school home audio aesthetic. As a bonus, the layer lines line up in such a way as to boost the woodgrain effect. Plug it in, and you will be immediately rewarded with lo-fi beats from boot.

Originally, the system ran a port of the code from lofigenerator.com, which algorithmically creates lo-fi beats from scratch. However, [Nicholas] could not in good conscience share the ported code, and has retooled the system to stream YouTube playlists using command line media player mpv instead. It’s set to stream typical lo-fi playlists, though could be repurposed to target anything on the platform.

It’s a nice build that really suits the lo-fi beats ideal. When you’re trying to study or focus, you don’t want to be mucking around with a YouTube tab open serving as a distraction. Instead, you can simply flick on the Lofipi, and vibe out.

The Raspberry Pi’s cheap price and great internet and media capabilities make it very popular for builds like these. They go some way to recreating the idea of receiving a broadcast, rather than forcing us into choice as per today’s modern on-demand media paradigm. If you’ve got thoughts on this, drop them in the comments, and if you’ve got your own great projects, do drop us a line.