GB Interceptor Enables Live Screen Capture From Game Boy

[Sebastian] had a tricky problem to solve. Competitors in a Tetris tournament needed to stream video of their Game Boy screens, but no solution readily existed. For reasons of fairness, emulators were right out, and no modifications could be made to the Game Boys, either. Thus, [Sebastian] created the GB Interceptor, a Game Boy capture cartridge.

Thanks to the design of the Game Boy, there’s plenty of access to useful signals via the cartridge port itself. [Sebastian] realized that a non-invasive capture device could be built to sit in-between the Game Boy and a cart, and send video to a computer. Unfortunately, there’s no direct access to the video RAM via this port, but [Sebastian] figured out a nifty workaround.

The build uses a Raspberry Pi Pico. The chip’s two cores emulate the Game Boy’s CPU and Picture Processing Unit, respectively. Doing this, while having the chips keep up with what’s going on in the Game Boy, required overclocking the Pico to 225 MHz. The system works by capturing data from the cartridge’s memory bus, and follows along with the instructions being run by the Game Boy. By doing this, the Pico is able to populate its own copy of the video RAM. It then spits this out over USB, where it can be displayed and streamed online as desired.

There are some edge-case limitations, but for its intended purpose, the system works great. Currently, the hardware is usable on Linux and Windows, though it does require some fiddling in the latter case. Files are on Github for those eager to build their own. If you simply want to dump carts rather than stream from your Game Boy, we can help there, too. Video after the break.

Continue reading “GB Interceptor Enables Live Screen Capture From Game Boy”

Livestreaming Backpack Takes Streaming On-The-Go

Anyone who’s anyone on the internet these days occasionally streams content online. Whether that’s the occasional livestream on YouTube or an every day video game session on Twitch, it’s definitely a trend that’s here to stay. If you want to take your streaming session on the go, though, you’ll need some specialized hardware like [Melissa] built into this livestreaming backpack.

[Melissa] isn’t actually much of a streamer but built this project just to see if it could be done. The backpack hosts a GoPro camera with a USB interface, mounted on one of the straps of the pack with some 3D printed parts, allowing it to act as a webcam. It is plugged into a Raspberry Pi which is set up inside the backpack, and includes a large heat sink to prevent it from overheating in its low-ventilation environment. There’s also a 4G modem included along with a USB battery pack to keep everything powered up.

The build doesn’t stop at compiling hardware inside a backpack, though. [Melissa] goes into detail on the project’s page about how to get all of the hardware to talk amongst themselves and where the livestream is setup as well. If you’d like a more permanently-located streaming setup with less expensive hardware, we have seen plenty of builds like this which will get the job done as well.

See How To Effectively Use A Green Screen In A Limited Space

Virtual green screens are pretty neat, but for results, nothing beats the real thing. But what if you have limited space? [Fred Emmott] had about 30 inches behind his desk to work with, and shares what it took to make a green screen work reliably in a limited space.

Even (and consistently deployable) lighting is even more important than the camera.

When it comes right down to it, the fundamentals of camera work (lighting, angles, and so on) are unchanged, but hanging a green screen only 30 inches behind one’s desk does make it a bit more challenging to dial in the right environment. In addition, [Fred] wanted a solution that could be deployed and packed away without much of a hassle, and without taking up too much storage space. He ended up using a collapsible green screen that can be pulled straight up and out from its container, similar to portable stand-up banners used at trade shows.

As for the camera end of things, [Fred] found that reliable, quality lighting was critically important, even more so than the camera used. For repeatable results, he suggests disabling any automatic features (such as low light enhancement, or auto white balance, and settings of that nature) and to use LED lighting in the ‘daylight’ range for illumination and fill. The key to good green screen results is to light things evenly, and this is a bit more challenging when working in such a tight space.

To deal with this, [Fred] suggests lights that can be easily repositioned, and put them as far back from things as you can. Get the lighting as even as possible, then adjust your software to match ([Fred] uses OBS Studio) for best results. Once that’s done, it can be more easily set up and torn down with minimal fiddling.

Computers sure make all this much easier than it was back in the day, and if you’re curious, here is all about how green screens were done before the digital age.

The Joy Of Broadcast Media Vs. The Paradox Of Choice

The rise of streaming services on the Internet was a revolutionary shift when it came to the world of media. No more would content be pumped in to homes in a one-way fashion, broadcast by major conglomerates and government-run organizations. Instead, individuals would be free to hunt for content suiting their own desires on an all-you-can-watch basis.

It’s led to a paradigm shift in the way we consume media. However, it’s also led to immense frustration thanks to the overwhelming amount of content on offer.  Let’s take a look at why that is, and some creative ways you can get around the problem.

The Paradox of Choice

Many find the masses of content on streaming services to be overwhelming to choose from. Credit: author screenshot

Traditionally, when it came to media, there were two major arms of delivery: broadcast, and home media. One might listen to the radio, or flick on the TV, or alternatively, spin up a record, or select a movie to watch on tape. If none of those options  sufficed, one might take a walk down to the local video store to rent something more appealing.

Fundamentally, it was an era in which choices were limited. There were a handful of TV stations to choose from, and if nothing good was on, you could go as far as finding something watchable on tape or going without. Many will remember afternoons and evenings spent watching reruns or a Friday night movie that had been on a million times before. Some shows went as far as becoming legends for their seemingly endless replay, from The Simpsons to M*A*S*H. 

As the Internet grew, though, the game started to change. Torrent websites and streaming services came along, offering up the sum total of the world’s cultural output for free, or for a nominal cost for those averse to piracy. Suddenly when it came to choosing a movie to watch, one wasn’t limited to the five or so films on at the local cinema, nor what was left on the shelves at the local video rental. Instead, virtually any movie, from the invention of the format, could be yours to watch at a moment’s notice.

With so many options on the table, many of us find it harder to choose. It’s an idea popularly known as the Paradox of Choice, a term popularized by US psychologist Barry Schwartz in 2004. When our options are limited to a select few, choice is easy. They can quickly be compared and ranked and an ideal option chosen.

Add thousands of choices to the pile, and the job escalates in complexity to the point of becoming overwhelming. With so many different choices to contrast and compare, finding the mythical right choice becomes practically impossible. Continue reading “The Joy Of Broadcast Media Vs. The Paradox Of Choice”

Python Web Proxy Convinces Sonos To Stream YouTube

[Maurice-Michel Didelot] owns a Sonos smart speaker, and was lamenting the devices inability (or plain unwillingness) to stream music from online sources without using a subscription service. YouTube Music will work, but being a subscription product there is a monthly fee, which sucks since you can listen to plenty of content on YouTube for free. [Maurice] decided that the way forward was to dig into how the Sonos firmware accesses ‘web radio’ sources, and see if that could be leveraged to stream audio from YouTube via some kind of on-the-fly stream conversion process.

What? No MP4 support for web radio? Curses!

So let’s dig in to how [Maurice] chose to approach this. The smart speaker can be configured to add various streaming audio sources, and allows you add custom sources for those. The Sonos firmware supports a variety of audio codecs, besides MP3, but YouTube uses the MP4 format. Sonos won’t handle that from a web radio source, so what was there to do, but make a custom converter?

After a little digging, it was determined that Sonos supports AAC encoding (which is how MP4 encodes audio) but needs it wrapped in an ADTS (Audio Data Transport Stream) container. By building a reverse web-proxy application, in python using Flask, it was straightforward enough to grab the YouTube video ID from the web radio request, forward a request to YouTube using a modified version of pytube tweaked to not download the video, but stream it. Pytube enabled [Maurice] to extract the AAC audio ‘atoms’ from the MP4 container, and then wrap them up with ADTS and forward them onto the Sonos device, which happily thinks it’s just a plain old MP3 radio stream, even if it isn’t.

Sonos doesn’t have the best reputation, let’s say, but you can’t deny that there’s some pretty slick tech going on inside. Here’s a neat hack we covered last year, adding Sonos support to an old school speaker, and a nice teardown of a IKEA Sonos-compatible unit, which uses some neat design hacks.

Thanks [mip] for the tip!

Featured image by Charles Deluvio on Unsplash.

Bring That Old Hi-Fi Into The 2020s

It’s a distressing moment for some of us, when a formerly prized piece of electronic equipment reaches a point of obsolescence that we consider jettisoning it. [Jon Robinson] ran into this dilemma by finding the Kenwood Hi-Fi amplifier his 17-year-old self had spent his savings on. It was a very good amp back in the day, but over two decades later, it’s no longer an object of desire in a world of soundbars and streaming music boxes. After a earlier upgrade involving an Arduino to auto-power it he’s now given it an ESP32 and an i2S codec which performs the task of digital audio streaming as well as a better job than the Arduino of controlling the power.

Inside the case is a piece of stripboard with the ESP and codec modules, but there was still the problem of seamlessly integrating it with the amp’s distinctly analogue-era controls. The output from the codec is wired into an audio input – quaintly labelled for a DAT player – and a simple cam on the input selector switch operates a microswitch to select the ESP32.

If you’re dipping your toe in decent audio then an old amp from decades past can make an excellent purchase, but you might wish to educate yourself through our Know Audio series.

Using MIDI To Solve A Keyboard Shortcut Problem

[Pete] admits that his MIDI-based slide advance alert system is definitely a niche solution to a niche problem, but it is a wonderful example of using available tools to serve a specific need. The issue was this: [Pete] is involved in numerous presentations streamed over video, and needed a simple and effective way for the Presenter to notify the Producer (the one responsible for the video streaming and camera switching) to discreetly advance slides on cue.

To most of us, this is a simple problem to solve. Provide the presenter with a USB macro keyboard to trigger the keyboard shortcuts for slide advancement, and the job’s done. But that didn’t quite cut it for [Pete]. In their situation, the Producer is managing more than just the slides as they switch between cameras, watch the chat window, and manage the video streaming itself. Triggering slide advancement via keyboard shortcuts only works if the presentation software is in focus when the buttons are pressed, which isn’t guaranteed.

[Pete’s] solution was to make a small two-button device (one button for next slide, one for previous slide) that uses MIDI to communicate with a small custom application on the producer’s machine, and doesn’t care about application focus. Pressing the slide advance button plays a distinct tone into the producer’s headphones, plus the custom application displays “Forward”, “Back”, or “Waiting” in a window, depending on the state of the Presenter’s buttons. The design is available on Instructables for anyone wanting a closer look.

[Pete] reports that it works and it’s far more discreet than saying “next slide, please” twenty or more times per presentation. You may notice from the photo that LEGO bricks play a prominent part in the device, and if you’d like to see more of that sort of thing, make sure to check out these other brick-mountable PCB designs.