This Week In Security: Recall, Modem Mysteries, And Flipping Pages

Microsoft is racing to get into the AI game as part of Windows 11 on ARM, calling it Copilot+. It’s an odd decision, but clearly aimed at competing with the Apple M series of MacBooks. Our focus of interest today is Recall, a Copilot+ feature that not only has some security problems, but also triggers a sort of visceral response from regular people: My computer is spying on me? Eww.

Yes, it really sort of is. Recall is a scheme to take screen shots of the computer display every few seconds, run them through character recognition, and store the screenshots and results in a database on the local machine hard drive. There are ways this could be useful. Can’t remember what website had that recipe you saw? Want to revisit a now-deleted tweet? Is your Google-fu failing you to find a news story you read last week? Recall saw it, and Recall remembers. But what else did Recall see? Every video you watched, ever website you visited, and probably some passwords and usernames you typed in.

Continue reading “This Week In Security: Recall, Modem Mysteries, And Flipping Pages”

Close-up of the mod installed into the HDMI switch, tapping the IR receiver

Interfacing A Cheap HDMI Switch With Home Assistant

You know the feeling of having just created a perfect setup for your hacker lab? Sometimes, there’s just this missing piece in the puzzle that requires you to do a small hack, and those are the most tempting. [maxime borges] has such a perfect setup that involves a HDMI 4:2 switch, and he brings us a write-up on integrating that HDMI switch into Home Assistant through emulating an infrared receiver’s signals.

overview picture of the HDMI switch, with the mod installed

The HDMI switch is equipped with an infrared sensor as the only means of controlling it, so naturally, that was the path chosen for interfacing the ESP32 put inside the switch. Fortunately, Home Assistant provides the means to both receive and output IR signals, so after capturing all the codes produced by the IR remote, parsing their meaning, then turning them into a Home Assistant configuration, [maxime] got HDMI input switching to happen from the comfort of his phone.

We get the Home Assistant config snippets right there in the blog post — if you’ve been looking for a HDMI switch for your hacker lair, now you have one model to look out for in particular. Of course, you could roll your own HDMI switch, and if you’re looking for references, we’ve covered a good few hacks doing that as part of building a KVM.

A3 Audio: The Open Source 3D Audio Control System

Sometimes, startups fail due to technical problems or a lack of interest from potential investors and fail to gain development traction. This latter case appears to be the issue befalling A3 Audio. So, the developers have done the next best thing, made the project open source, and are actively looking for more people to pitch in. So what is it? The project is centered around the idea of spatial audio or 3D audio. The system allows ‘audio motion’ to be captured, mixed and replayed, all the while synchronized to the music. At least that’s as much as we can figure out from the documentation!

The system is made up of three main pieces of hardware. The first part is the core (or server), which is essentially a Linux PC running an OSC (Open Sound Control) server. The second part is a ‘motion sampler’, which inputs motion into the server. Lastly, there is a Mixer, which communicates using the OSC protocol (over Ethernet) to allow pre-mixing of spatial samples and deployment of samples onto the audio outputs. In addition to its core duties, the ‘core’ also manages effects and speaker handling.

The motion module is based around a Raspberry Pi 4 and a Teensy microcontroller, with a 7-inch touchscreen display for user input and oodles of NeoPixels for blinky feedback on the button matrix. The mixer module seems simpler, using just a Teensy for interfacing the UI components.

We don’t see many 3D audio projects, but this neat implementation of a beam-forming microphone phased array sure looks interesting.

Linamp, The IRL Winamp

Anyone who first experienced music on computers using Winamp probably shares a memory of seeing that classic UI for the first time. Everything about it was a step ahead of the clunky, chunky interfaces we were used to, and even though it was supposed to be unobtrusive, it was hard to tear your eyes off that silky-smooth spectrum analyzer bouncing out your favorite MP3s.

Recapturing a little of the Winamp magic is the goal of Linamp, an physical version of the classic media player. It reproduces the Winamp UI on a touchscreen LCD with a wide aspect ratio that almost perfectly matches the original layout. Behind the display is a Raspberry Pi 4 with a 32 GB SD card, with all the important connections brought out to a board on the back of the case. The case itself is a treat, as it borrows design elements from another bit of retro gear, the mini-rack audio systems that graced many a bookshelf in the 1980s — and powered many high school parties too, if memory serves.

To recreate the case, [Rodmg] designed a sheet metal case and had it custom-made from anodized aluminum by PCBWay. He also printed a bezel for the display that looks very similar to the Winamp window border, complete with control icons. Where the build really shines, though, is with the work [Rodmg] put into the software. He matched the original Winamp UI very closely, both in terms of layout and performance. The pains he went to to get the spectrum analyzer working, including a deep dive into FFT, are impressive.

The results speak for themselves on this one, and hats off to [Rodmg] for the effort and the ride on the nostalgia train. We don’t know if the recent announcement of Winamp’s impending open-sourcing will have much impact on this project, but it might result in a flood of new Winamp builds.

Using Kick Assembler And VS Code To Write C64 Assembler

YouTuber [My Developer Thoughts], a self-confessed middle-aged Software Developer, clearly has a real soft spot for the 6502-based 8-bit era machines such as the Commodore 64 and the VIC-20, for which he has created several video tutorials while travelling through retro-computing. This latest instalment concerns bringing up the toolchain for using the Kick Assembler with VS Code to target the C64, initially via the VICE emulator.

The video offers a comprehensive tutorial on setting up the toolchain on Windows from scratch with minimal knowledge. While some may consider this level of guidance unnecessary, it is extremely helpful for those who wish to get started with a few examples quickly and don’t have the time to go through multiple manuals and Wikis. In that regard, the video does an excellent job.

VS Code is a great tool with a large user base, so it’s not surprising that there’s a plugin for using the Kick Assembler directly from the IDE. You can also easily launch the application onto the emulator with just a push of a button, allowing you to focus on learning and working on your application. Once it runs under emulation, there’s a learning curve for running it on native hardware, but there are plenty of tutorials available for that. While you could code directly on the C64 itself, it’s much more pleasant to use modern tools, revision control, and all the conveniences and not have to endure the challenges.

Once you’ve mastered assembly, it may be time to move on to C or even C++. The Oscar64 compiler is a good choice for that. Next, you may want to show off your new skills on the retro demo scene. Here’s a neat C64 demo with a twist. There is no C64.

Continue reading “Using Kick Assembler And VS Code To Write C64 Assembler”

Automating 3D Printer Support Hardware

While 3D printers have evolved over the past two decades from novelties to powerful prototyping tools, the amount of support systems have advanced tremendously as well. From rudimentary software that required extensive manual input and offered limited design capabilities, there’s now user-friendly interfaces with more features than you could shake a stick at. Hardware support has become refined as well with plenty of options including lighting, ventilation, filament recycling, and tool changers. It’s possible to automate some of these subsystems as well like [Caelestis Workshop] has done with this relay control box.

This build specifically focuses on automating or remotely controlling the power, enclosure lighting, and the ventilation system of [Caelestis Workshop]’s 3D printer but was specifically designed to be scalable and support adding other features quickly. A large power supply is housed inside of a 3D printed enclosure along with a Raspberry Pi. The Pi controls four relays which are used to control these various pieces hardware along with the 3D printer. That’s not the only thing the Pi is responsible for, though. It’s also configured to run Octoprint, a piece of open-source software that adds web interfaces for 3D printers and allows their operation to be monitored and controlled remotely too.

With this setup properly configured, [Caelestis Workshop] can access their printer from essentially any PC, monitor their prints, and ensure that ventilation is running. Streamlining the print process is key to reducing the frustration of any 3D printer setup, and this build will go a long way to achieving a more stress-free environment. In case you missed it, we recently hosed a FLOSS Weekly episode talking about Octoprint itself which is worth a listen especially if you haven’t tried this piece of software out yet.

2024 Business Card Challenge: Tiny MIDI Keyboard

The progress for electronics over the past seven decades or so has always trended towards smaller or more dense components. Moore’s Law is the famous example of this, but even when we’re not talking about transistors specifically, technology tends to get either more power efficient or smaller. This MIDI keyboard, for example, is small enough that it will fit in the space of a standard business card which would have been an impossibility with the technology available when MIDI first became standardized, and as such is the latest entry in our Business Card Challenge.

[Alana] originally built this tiny musical instrument to always have a keyboard available on the go, and the amount of features packed into this tiny board definitely fits that design goal. It has 18 keys with additional buttons to change the octave and volume, and has additional support for sustain and modulation as well. The buttons and diodes are multiplexed in order to fit the IO for the microcontroller, a Seeed Studio Xiao SAMD21, and it also meets the USB-C standards so it will work with essentially any modern computer available including most smartphones and tablets so [Alana] can easily interface it with Finale, a popular music notation software.

Additionally, the project’s GitHub page has much more detail including all of the Arduino code needed to build a MIDI controller like this one. This particular project has perhaps the best size-to-usefulness ratio we’ve seen for compact MIDI controllers thanks to the USB-C and extremely small components used on the PCB, although the Starshine controller or these high-resolution controllers are also worth investigating if you’re in the market for compact MIDI devices like this one.

Continue reading “2024 Business Card Challenge: Tiny MIDI Keyboard”