Ploopy Builds Open Source RP2040-Powered Headphones And You Can Too!

We’ve seen many DIY headphones projects on these fair pages over the years, but not many that are quite as DIY as the Ploopy Headphones. What makes this project interesting is the sheer depth of the construction, with every single part being made from what we might call base materials. Materials such as 3D printer filament, foam and felt, and the usual metallic vitamins.

The electronics are fairly straightforward, with an RP2040 functioning as the USB audio interface and equalizer function. Audio samples are emitted as I2S into a PCM3050 24-bit stereo codec which generates a pair of differential output audio signals. These are then converted from differential to single-ended signals and passed on to the coil drivers. The coil drivers consist of no fewer than eight-paralleled opamps per channel. All of this is powered by the USB-C connection to the host computer. Whilst a kit of parts is available for this, you can make your own if you wish, as the full source (Altium designer needed for tweaks) is available on the Ploopy headphone GitHub.

A pretty ploopy response

Many DIY headphone builds would likely be using off-the-shelf speaker units, with large parts of the ear cups being taken from spare parts kits for commercial offerings. But not the Ploopy. The drivers are constructed from flex PCB coils with a standard TRRS jack on each side. Magnets for these coils to react against are held in a 3D-printed frame that is attached to the outer cover. The coils are aligned with a special jig and bonded to the ‘driver foam’ with some 3M VHB tape.

The ear cups are constructed with some 3D printed rings, foam pieces, and simple woven material. The resonator plates push into the inner side of the cup, and the assembly simply screws to the driver assembly. The incredibly detailed assembly wiki makes it look easy, but we reckon there are a few tricky steps in there to trip the unwary. The headband again consists of printed spring sections, some woven material, and foam with a few metallic vitamins thrown in. That makes it sounds simple, but it isn’t.

On the whole the build looks fantastic, but what does it sound like? The Ploopy team has tested them against a pair of Sennheiser HDRXX giving a broadly comparable response, but we’re no audio experts, and the proof, as always, is in the wearing. This project seems to be the ultimate in audio tweakability, with the punchy RP2040 capable of running six audio filters at the full 48 KHz, 16-bit audio, though, the PCM3050 is capable of more.

Want to build some headphones, but need a Bluetooth interface? We got you covered. Can 3D printed headphones ever compare to the big names? We’ll see.

How To Roll Your Own Custom Object Detection Neural Network

Real-time object detection, which uses neural networks and deep learning to rapidly identify and tag objects of interest in a video feed, is a handy feature with great hacker potential. Happily, it’s also possible to make customized CNNs (convolutional neural networks) tailored for one’s own needs, and that process just got easier thanks to some new documentation for the Vizy “AI camera” by Charmed Labs.

Raspberry Pi-based Vizy camera

Charmed Labs has been making hacker-friendly machine vision devices for a long time, and the Vizy camera impressed us mightily when we checked it out last year. Out of the box, Vizy has a perfectly functional object detector application that runs locally on the device, and can detect and tag many common everyday objects in real time. But what if that default application doesn’t quite meet one’s project needs? Good news, because it’s possible to create a custom-trained CNN, and that process got a lot more accessible thanks to step-by-step examples of training a model to recognize hands doing rock-paper-scissors.

Person and cat with machine-generated tags identifying them
Default object detection works well, but sometimes one needs custom results.

The basic process is this: Start with a variety of images that show the item of interest. Then identify and label the item of interest in each photo. These photos (a “training set”) are then sent to Google Colab, which will be used to generate a neural network. The resulting CNN model can then be downloaded and used, to see how well it performs.

Of course things rarely work perfectly the first time around, so at this point it’s pretty common for some refinement to be needed to increase accuracy. Luckily there are a number of tools to help do this without creating a new model from scratch, so it’s just a matter of tweaking until things perform acceptably.

Google Colab is free and the resulting CNNs are implemented in the TensorFlow Lite framework, meaning it’s possible to use them elsewhere. So if custom object detection has been holding up a project idea of yours, this might be what gets you over that hump.

This CRT-Style Pi Portable Gets All The Details Right

A quick glance at the “Pi Terminal” built by [Salim Benbouziyane], and you might think he pulled an old CRT monitor out of a video editing bay and gutted it. Which, of course, is the point. But what you’re actually looking at is a completely new construction, featuring a fully 3D printed enclosure, a clever PCB control panel, and some very slick internal engineering.

[Salim] started the design by recreating the principle components of the build, namely the 8 inch 4:3 IPS LCD panel and Raspberry Pi 4, digitally in CAD. This let him design the enclosure around the parts, rather than trying to cram everything in after the fact. After printing the case, which clearly took considerable inspiration from broadcast video monitors of the early 2000s, he then painstakingly post-processed the parts using tips and techniques picked up from prop builders. To really finish things off, he designed his control panel as a PCB so he could have it professionally fabricated, and used heat set inserts to hold everything tight. Continue reading “This CRT-Style Pi Portable Gets All The Details Right”

Raspberry Pi Weather Station Features Wireless Sensor Nodes

Online weather services are great for providing generic area forecasts, but they don’t provide hyperlocal data specific to your location. [Harald Kreuzer] needed both and built a Raspberry Pi Weather Station that provides weather forecasts for the next 7 days as well as readings from local sensors. The project is completely open source and based on a Raspberry Pi base station which connects to ESP32 based sensor nodes and online services to nicely present the data on a 7″ touch screen display.

The architecture is quite straightforward. The ESP32 based sensor nodes publish their readings to an MQTT broker running on the Raspberry Pi. The Pi subscribes to these sensor node topics to pick up the relevant sensor data. This makes it easy to add additional sensor nodes in future. Weather forecast data is collected by connecting to the OpenWeatherMap API. All of the collected information is then displayed through an app built using the Kivy: open source Python app development framework. Continue reading “Raspberry Pi Weather Station Features Wireless Sensor Nodes”

Old 3D CAD Mouse Gets New Lease Of Life

[Jacek Fedorynski] had an old Magellan/SpaceMouse 3D mouse with a serial interface which made it impossible for him to use with modern hardware and software. The problem he faced was two pronged – the absence of serial interfaces in the hardware and the lack of appropriate drivers for the operating system. So he built a low cost, simple adapter to use his RS-232 Magellan/SpaceMouse with modern software.

The hardware required to build the adapter was minimal. A Raspberry Pi Pico, a MAX3238 based RS-232 adapter, a null modem adapter and a DB9 gender changer. Of course, a combination null modem – gender changer would have made things even simpler. Four of the GPIO pins from the Pico are mapped to the serial RX, TX, RTS and CTS pins.

On the software side, the code emulates a 3DConnexion SpaceMouse Compact, so it can be used with software like Fusion 360, 3ds Max, SolidWorks, Inventor, Maya and many others. On the host computer, only the standard 3DxWare driver package is needed. On the host computer, the old Magellan/SpaceMouse 3D will appear like a modern SpaceMouse Compact connected over USB. The only downside to this is that the SpaceMouse Compact has just two programmable buttons, so only two of the many buttons on the old Magellan mouse can be mapped.

Flashing the code to the Pico is also straightforward using the BOOTSEL mode. Hold down the BOOTSEL button when plugging in the Pico and it appears as a drive onto which you can drag a new UF2 file. Just drag-n-drop [Jacek]’s magellan.uf2 firmware and you’re done.

If you’d rather build your own, modern 3D mouse, check out the DIY Cad Mouse You Can Actually Build.

Laptop connected via Ethernet to Raspberry Pi-based secure radio device with antenna

Secure LoRa Mesh Communication Network

The Internet has allowed us to communicate more easily than ever before, and thanks to modern cell-phone networks, we don’t even have to be tied down to a hard line anymore. But what if you want something a little more direct? Maybe you’re in an area with no cell-phone coverage, or you don’t want to use public networks for whatever reason. For those cases, you might be interested in this Secure Communication Network project by [Thomas].

By leveraging the plug-and-play qualities of the Raspberry Pi 4 and the Adafruit LoRa Radio Bonnet, [Thomas] has been able to focus on the software side of this system that really turns these parts into something useful.

Window showing secure text communications
Messages are tagged as “authenticated” when a shared hashing code is included in the message

Rather than a simple point-to-point radio link, a mesh network is built up of any transceivers in range, extending the maximum distance a message can be sent, and building in resilience in case a node goes down. Each node is connected to a PC via Ethernet, and messages are distributed via a “controlled flooding” algorithm that aims to reduce unnecessary network congestion from the blind re-transmission of messages that have already been received.

Security is handled via RSA encryption with 256-byte public/private keys and additional SHA256 hashes for authentication.

The packet-size available through the LoRa device is limited to 256 bytes, of which 80 bytes are reserved for headers. To make matters worse, the remaining 176 bytes must contain encrypted data, which is almost always more lengthy than the raw message it represents. Because of this, longer messages are fragmented by the software, with the fragments sent out individually and re-assembled at the receiving end.

If you’re in need of a decentralized secure radio communications system, then there’s a lot to like about the project that [Thomas] has documented on his Hackaday.io page. He even includes an STL file for a 3D printed case. If you need to send more than text, then this Voice-over-LoRa Mesh Network project may be more your style.

An Unexpected Amiga Network Interface

The retrocomputer enthusiast has increasingly to grapple with not only runaway computer prices but the astronomical cost of vintage peripherals. A welcome solution in some cases comes from the Raspberry Pi, which has proved itself fast enough to emulate those add-ons for a lot less outlay. A good one comes from [Niklas Ekström], who’s made a Pi-based network adapter for the Commodore Amiga 1200. Better still it doesn’t hog the main expansion port or the PCMCIA slot, instead it sits on the 1200’s rarely-used real-time-clock port. Software wise it uses an updated version of his earlier project for the Amiga 500. It provides access to the Pi command prompt, as well as a SANA driver and a mounted filesystem.

While many of us view the Amiga from 2023 as a retro gaming platform, for those of us who used it at the time it was a desktop productivity machine on a more affordable budget than the Macintosh. At the time the thought of having a UNIX-like operating system running on a super-powerful co-processor in your Amiga would have been beyond our wildest dreams, but whether it provides enough now to make a 1992 machine compete on the desktop is debatable. Who wants to run Firefox from the Pi in an X server on the Amiga?