Pushing The FPGA Video Player Further

A fact universally known among the Hackaday community is that projects are never truly done. You can always spin another board release to fix a silkscreen mistake, get that extra little boost of performance, or finally spend the time to track down that weird transient bug. Or in [ultraembedded’s] case, take a custom FPGA player from 800 x 600 to 1280 x 720. The hardware used is a Digilent Arty A7 and PMOD boards for I2S2, VGA, and MicroSD. We previously covered this project back when it was first getting started.

Getting from 800 x 600 to 1280 x 720 — 31% more pixels — required implementing a higher performance JPEG decoder that can read in the MPJEG frames, pushing out a pixel every 2.1 clock cycles. The improvements also include a few convenience features such as an IR remote. The number of submodules inside the system is just incredible, with most of them being implemented or tweaked by [ultraembedded] himself.

For the FPGA Verilog, there’s the SD/MMC interface, the JPEG decoder, the audio controller, the DVI framebuffer, a peripheral core, and a custom RISC-V CPU. For the firmware loaded off the SD card, it uses a custom RTOS running an MP3 decoder, a FAT32 interface, an IR decoder, and a UI based on LVGL.

We think this project represents a wonderful culmination of all the different IP cores that [ultraembedded] has produced over the years. All the code for the FPGA media player is available on GitHub.

Continue reading “Pushing The FPGA Video Player Further”

An FPGA Video Player Built Just For Fun

Sometimes, projects are borne out of neccessity; a fix for a problem that needs to be solved. Other times, they’re done just for the love of creation and experimentation. [ultraembedded]’s FPGAmp media player falls under the latter, and served as a great learning experience along the way.

The aim of FPGAmp is to play back a variety of media files on the Arty A7 development board, based around the Xilinx Artix-7 FPGA. Capable of playing back MJPEG video at 800 x 600 resolution and 25 fps, it’s also able to play back MP3s as well for stereo audio. Demonstrating the device on Twitter, [ultraembedded] notes that the method of using an LED to do SPDIF optical audio output isn’t legit, but does work. A later update switches to using a dedicated audio output board with the Arty A7 platform, featuring an excellent song from The Cardigans.

Using a RISC V processor core and a hardware JPEG decoder, we imagine [ultraembedded] really sharpened their FPGA skills with this project. Particularly in the wake of the sale of ARM to NVIDIA, RISC V continues to gain relevance in the hardware community. We were lucky enough to feature a keynote at last year’s Supercon, with Megan Wachs speaking on the technology. Video after the break.

Continue reading “An FPGA Video Player Built Just For Fun”

Media Streamer With E-Ink Display Keeps It Classy

The Logitech SqueezeBox was a device you hooked up to your stereo so you could stream music from a Network Attached Storage (NAS) box or your desktop computer over the network. That might not sound very exciting now, but when [Aaron Ciuffo] bought it back in 2006, it was a pretty big deal. The little gadget has been chugging all these years, but the cracks are starting to form. Before it finally heads to that great electronics recycling center in the sky, he’s decided to start work on its replacement.

Thanks to the Raspberry Pi, building a little device to stream digital audio from a NAS is easy these days. But a Pi hooked up to a USB speaker isn’t necessarily a great fit for the living room. [Aaron] didn’t necessarily want his replacement player to actually look like the SqueezeBox, but he wanted it to be presentable. While most of us probably would have tried to make something that looked like a traditional piece of audio gear, he took his design is a somewhat more homey direction.

An OpenSCAD render of the enclosure.

The Raspberry Pi 4 and HiFiBerry DAC+ Pro live inside of a wooden laser cut case that [Aaron] designed with OpenSCAD. We generally associate this tool with 3D printing, but here he’s exporting each individual panel as an SVG file so they can be cut out. We especially like that he took the time to add all of the internal components to the render so he could be sure everything fit before bringing the design into the corporeal world.

While the case was definitely a step in the right direction, [Aaron] wasn’t done yet. He added a WaveShare e-Paper 5.83″ display and mounted it in a picture frame. Software he’s written for the Raspberry Pi shows the album information and cover art on the display while the music is playing, and the current time and weather forecast when it’s idle. He’s written the software to plug into Logitech’s media player back-end to retain compatibility with the not-quite-dead-yet SqueezeBox, but we imagine the code could be adapted to whatever digital media scheme you’re using.

Over the years, we’ve seen a number of SqueezeBox replacements. Many of which have been powered by the Raspberry Pi, but even the ESP8266 and ESP32 have gotten in on the action recently.

A Foolproof Raspberry Pi Media Player

The media landscape in the home has changed precipitously over the years. Back in the days when torrents were king, DVD players and TVs started to sprout USB ports and various methods of playing digital videos, while hackers repurposed office machines and consoles into dedicated media boxes. [Roiy Zysman] is a fan of a clean, no-fuss approach, so built his PiVidBox along those lines.

The build, unsurprisingly, starts with a Raspberry Pi. Cheap, capable of playing most common codecs, and fitted with an HDMI port as standard, it’s a perfect platform for the job. Rather than fiddle with complex interfaces or media apps, instead, the PiVidBox uses a simple script. The Pi is configured to continually scan the /media folder for mounted devices, and play any videos it comes across. Simply pop in an SD card or USB drive, and the content starts rolling. No buttons, remotes, or keyboards needed!

It’s a interface without much flexibility, but it makes up for that in barebones simplicity. We can imagine it would come in handy for a conference room or other situation where users grow tired of messing around with configurations to get screens to work. The Raspberry Pi makes a rather excellent basis for a media player build, and we’ve seen some stunning examples in the past!

Scratch Built Media Player Channels 1980s Design

No, you aren’t looking at a 30 year old Teac graphic equalizer that somebody modified. The MWA-002 Network Music Player created by [GuzziGuy] is built entirely from new components, and easily ranks up there with some of the most gorgeous pieces of homebrew audio gear we’ve ever seen. Combining modular hardware with modern manufacturing techniques, this 1980s inspired build is a testament to how far we’ve come in terms of what’s possible for the dedicated hacker and maker.

The enclosure, though it looks all the world like a repurposed piece of vintage hardware, was built with the help of a CNC router. It’s constructed from pieces of solid oak, plywood, and veneered MDF that have all been meticulously routed out and cut. Even the front panel text was engraved with the CNC and then filled in with black paint to make the letters pop.

Internally, the MWA-002 is powered by a Raspberry Pi 3 running Mopidy to play both local tracks and streaming audio. Not satisfied with the Pi’s built-in capabilities, [GuzziGuy] is using a Behringer UCA202 to produce CD-quality audio, which is then fed into a TPA3116 amplifier. In turn, the output from the amplifier is terminated in a set of female jacks on the player. Just like the stereo equipment of yore, this player is designed to be connected to a larger audio system and doesn’t have any internal speakers.

The primary display is a 256×64 Futaba GP1212A02A FVD which has that era-appropriate glow while still delivering modern features. [GuzziGuy] says it was more difficult to interface with this I2C display than the LCDs he used in the past due to the lack of available libraries, but we think the final product is proof it was worth the effort. He bought both the VFD spectrum analyzer and LED VU meter as turn-key modules, but the center equalizer controls are completely custom; with dual MCP3008 ADCs to read the state of the sliders and the Linux Audio Developer’s Simple Plugin API (LADSPA) to tweak the Pi’s audio output accordingly.

We’re no strangers to beautiful pieces of audio gear here at Hackaday, but generally speaking, most projects involve modernizing or augmenting an existing device. While those projects are to be admired, the engineering that goes into creating something of this caliber from modular components and raw building materials is really an accomplishment on a whole different level.

Custom Media Player Helps Hacker’s Autistic Son

Getting to play with technology is often the only justification a hacker needs to work on a build. But when your build helps someone, especially your own special-needs kid, hacking becomes a lot more that playing. That’s what’s behind this media player customized for the builder’s autistic son.

People generally know that the symptoms of autism cover a broad range of behaviors and characteristics that center around socialization and communication. But a big component of autism spectrum disorders is that kids often show very restricted interests. While [Alain Mauer] doesn’t go into his son [Scott]’s symptoms, our guess is that this media player is a way to engage his interests. The build came about when [Alain] was unable to find a commercially available media player that was simple enough for his son to operate and sturdy enough to put up with some abuse. A Raspberry Pi came to the rescue, along with the help of some custom piezo control buttons, a colorful case, and Shin Chan. The interface allows [Scott] to scroll through a menu of cartoons and get a preview before the big show. [Scott] is all smiles in the video below, and we’ll bet [Alain] is too.

Pi-based media player builds are a dime a dozen on Hackaday, but one that helps kids with autism is pretty special. The fact that we’ve only featured a few projects aimed at autistics, like this 2015 Hackaday Prize entry, is surprising. Maybe you can come up with something like [Alain]’s build for the 2016 Hackaday Prize.

Continue reading “Custom Media Player Helps Hacker’s Autistic Son”

PSP Media Player For The Home Workshop

It’s a common occurrence that some items we buy become more and more obsolete as time passes. This is especially true for electronics gear since technology progresses so quickly. [Rochefoucauld] had a PSP that he didn’t use anymore and was trying to figure out what to do with it. Then one day in his basement shop while yearning for some tunes, it hit him: use the PSP as a media player.

The PSP is actually not modified and uses the standard media player, it is the project’s execution that is interesting. Some old computer speakers were taken apart to harvest the amplifier. [Rochefoucauld] had an external hard drive that broke so he scavenged the sleek looking case and mounted the amplifier PCB inside. The speaker outputs were routed to terminal blocks mounted on the back of the case. The PSP now resides on a mount made out of a floor joist hanging bracket from the hardware store. The PSP and amplifier share the same power supply and master power switch. The whole unit powers a pair of bookshelf speakers.

In the end, [Rochefoucauld] solved his lack-of-music problem with parts he had kicking around and is also now making use of his PSP that was otherwise collecting dust. For more non-traditional uses for PSPs, check out this status monitor or this extended display.