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.

TinyPilot Provides KVM-over-IP, With Low Cost And Even Lower Latency

Remote access is great, but if the machine stops booting, ceases to connect to the network, or needs low-level interaction like BIOS settings or boot management, remote access is worthless because it’s only available once the host computer is up and running. The usual solution is to drag a keyboard and monitor to the machine in question for physical access.

Ubuntu laptop (right) being accessed over IP, via web browser on the left.

For most people, swapping cables in this way is an infrequent task at best. But for those who work more closely with managing hardware or developing software, the need to plug and unplug a keyboard and monitor into machines that otherwise run headless can get tiresome. The modern solution is KVM (keyboard, video, mouse) over IP, but commercial options are expensive. [Michael Lynch]’s TinyPilot on the other hand clocks in at roughly $100 of parts, including a Raspberry Pi and USB HDMI capture device. It does have to drop the ‘M’ from KVM (meaning it does not support a mouse yet) but the rest of it hits all the bases, and does it all from a web browser.

What exactly does TinyPilot do? It provides remote access via web browser, but the device is an independent piece of hardware that — from the host computer’s point of view — is no different from a physical keyboard and monitor. That means keyboard and video access works before the host machine even boots, so even changing something like BIOS settings is no problem.

[Michael] demonstrates his design in the video embedded below, but we encourage you to check out the project page for a fascinating exploration of all the challenges that were part of TinyPilot’s development.

Continue reading “TinyPilot Provides KVM-over-IP, With Low Cost And Even Lower Latency”

Giant LED Display Is 1200 Balls To The Wall

When you’re going to build something big, it’s often a good idea to start small and work out the bugs first. That’s what [bitluni] did with his massive 1200-pixel LED video wall, which he unveiled at Maker Faire Hanover recently.

We covered his prototype a while back, a mere 300 ping pong ball ensconced-LEDs on a large panel. You may recall his travails with the build, including the questionable choice of sheet steel for the panel and the arm-busting effort needed to drill 300 holes with a hand drill. Not wanting to repeat those mistakes, [bitluni] used the custom hole punch he built rather than a drill, and went with aluminum sheet for the four panels needed. It was still a lot of work, and he had to rig up some help to make the tool more comfortable to use, but in the end the punched holes appear much neater than their drilled counterparts.

[bitluni] mastered enough TIG welding to make nice aluminum frames for the panels, making them lightweight and easy to transport. 1200 ping pong balls, a gunked-up soldering iron, and a package of hot glue sticks later, the wall was ready for electronics. It took a 70-amp power supply and an ESP32 to run everything, but that’s enough horsepower to make some impressive graphics and even stream live video – choppy and low-res, but still usable.

We love the look this wall and we appreciate the effort that went into it. And it’s always good to see just how much fun [bitluni] has with his builds – it’s infectious.

Continue reading “Giant LED Display Is 1200 Balls To The Wall”

An All-In-One Conference Video Streaming Box

When running a hacker camp or other event, one of the many challenges faced by the organisers concerns the production and distribution of event videos. As the talks are recorded they must be put online, and with a load of talks to be processed it quickly becomes impractical to upload them one by one through a web interface such as that provided by YouTube. At the BornHack 2019 hacker camp in Denmark they were using a particularly well-integrated unit to do the video uploading in real time, and its creator [Mikkel Mikjær Christensen]  was good enough to share the video we’ve put below the break, a talk he gave about it at The Camp 2017, a Danish open source software camp.

It takes the viewer through the evolution over several years, from simple camcorders with integrated microphones and post-event processing, through a first-generation system with a laptop and rack-mount monitors, and into a final system in a rugged portable case with a significantly powerful laptop running OBS with a hardware MPEG encoder. Careful choice of power supplies and the use of good quality wireless microphones now give instantaneous video streaming to events such as BornHack without the need for extensive infrastructure.

If you were wondering where you might have heard that name before, [Mikkel] is the [Mike] from the Retrocomputing with Mike YouTube channel. It’s being honest to say that more of our conversation was about retrocomputers than the video box.

Continue reading “An All-In-One Conference Video Streaming Box”

Raspberry Pi Streams Music Using Only The Default Linux Tools

Getting a  home music streaming system off the ground is typically a straightforward task. Using Apple devices with Airplay makes this task trivial, but if you’re a computing purist like [Connor] who runs a Linux machine and wants to keep it light on extra packages, the task gets complicated quickly. His goal is to bring audio streaming to all Linux platforms without the need to install a lot of extra software. This approach is friendly to light-footprint devices like the Raspberry Pi that he used in his proof of concept.

[Connor] created a set of scripts which allow streaming from any UNIX (or UNIX-like) machines, using only dependencies that a typical OS install would already have. His Raspberry Pi is the base station and streams to his laptop, but he notes that this will work between virtually any UNIX or Linux machine. The only limitation is what FFmpeg can or can’t play.

We definitely can appreciate a principled approach to software and its use, although it does seem that most people don’t have this issue at the forefront of their minds. This results in a lot of software that is bulky, making it difficult to maintain, use, or even know what it does, and also makes it harder for those of us that don’t want to use that type of software to find working solutions to other problems. It’s noble that [Connor] was able to create something without sacrificing any principles.

Little FPV Bot Keeps It Simple With An ESP32

When it comes to robots, it seems the trend is to make them as complicated as possible – look at anything from Boston Dynamics if you’ve any doubt of that. But there’s plenty to be said for simple robots too, such as this adorable ESP32-driven live-streaming bot.

Now it’s true that [Max.K]’s creation is more remote controlled car than robot, and comparing it to one of the nightmare-fuelling creations of Boston Dynamics is perhaps unfair. But [Max.K]’s new project is itself a simplification and reimagining of his earlier, larger “ZeroBot“. As the name implies, ZeroBot was controlled by a Raspberry Pi Zero, an obvious choice for a mobile platform designed to stream FPV video. The ESP32 bot eschews the Pi platform in favor of, well, an ESP32. To save as much space as possible, [Max.K] did a custom PCB for the microcontroller and its supporting components. The 3D-printed case is nicely designed to hold the board along with two motors, a small VGA camera, and a battery pack. At 160×120 resolution, the video isn’t amazing, but the fact that it can be streamed from the ESP32 at a decent enough framerate to drive the bot using a simple web interface is impressive.

This was a fun project and a very clean, smooth build. We like the lines of this little bot, and wouldn’t mind building one as a quick weekend project ourselves.

Continue reading “Little FPV Bot Keeps It Simple With An ESP32”

This Chromecast Volume Knob Has A Certain ’70s Chic

Chromecast devices have become popular in homes around the world in the last few years. They make it easy to cast audio or video from a smartphone or laptop, to a set of speakers or a display connected to the same network. [Akos] wanted to control the volume on these devices with a single, simple piece of equipment, rather than always reaching for a smartphone. Thus was built the CastVolumeKnob.

The project began by using Wireshark to capture data sent by the pychromecast library. Once [Akos] understood the messaging format, this was implemented in MicroPython on an ESP8266. A rotary encoder is used as a volume knob, and a Neopixel ring is used for visual feedback as to the device being controlled and the current volume level.

Further work was done to improve usability, with an ATtiny85 microcontroller being used to monitor the encoder for button presses before waking up the ESP8266, greatly reducing power consumption. The device is also rechargeable, thanks to an 18650 lithium polymer battery, and charger and boost converter boards. It’s all wrapped up in a sleek 3D printed case, with a translucent bezel for the LEDs and a swanky machined aluminium knob as the cherry on top.

It’s a homemade device that nonetheless would be stylish and unobtrusive in the living room environment. We imagine it proves very useful when important phone calls come in and it’s necessary to cut the stereo down to a more appropriate volume.

For another take, check out this USB volume knob with a nice weighty feel, courtesy of lead shot.