Pi Pico Learns Morse Code

When [101 Things] didn’t want to copy Morse code, he decided to build a Pi Pico system to read it for him. On the face of it, this doesn’t seem particularly hard, until you look at the practical considerations. With perfectly timed dots and dashes, it would be trivial. But in real life, you get an audio signal. It has been mangled and mixed with noise and interference as it travels through the air. Then there’s the human on the other end who will rarely send at a constant speed with no errors.

Once you consider that, this becomes quite the project, indeed. The decoder captures audio via the Pi’s analog-to-digital converter. Then it resamples the input, applies an FFT, and converts the output via a complex classification pipeline that includes, among other things, Bayesian decoding. Part of the pipeline makes simple typo corrections. You can see the device do its thing in the video below.

Continue reading “Pi Pico Learns Morse Code”

Building A Self-Playing Chess Board Robot

As popular as the game of chess is, it has one massive flaw. This being that it requires two participants, which can be a challenge. Although playing chess on a computer against an AI has been a thing for many decades, it’s hard to beat physical chess boards that give you all the tactile pleasure of handling and moving pieces, yet merging the two is tricky. You can either tell the player to also move the opponent’s pieces, or use a mechanism to do so yourself, which [Joshua Stanley] recently demonstrated in a video.

There are a few ways that you can go about having the computer move and detect the pieces. Here [Joshua] chose to use Hall magnetic sensors to detect the magnets that are embedded in the 3D printed chess pieces as well as their absence. These sensors are mounted to the back side of a PCB which is also the playing field, thus using the silkscreen for the board markings.

For the electromagnet that moves the chess pieces core x/y kinematics were used to move it underneath the PCB, engaging when moving pieces but otherwise deactivated. This is all controlled by an ESP32 MCU, while the computer runs the open-source Stockfish chess engine. As the human player changes piece positions this is detected by the magnet’s presence, with the change input into Stockfish.

Continue reading “Building A Self-Playing Chess Board Robot”

The Best USB To VGA Converter For The Job

There are many adapters, dongles, and cables designed for interfacing display standards, and no doubt some of you have them in the glue of your entertainment system or work space. They’re great for standards, but what about something that’s not quite standard? [Stephen] has an arcade cabinet with a CRT that runs at an unusual 336 by 262 pixel resolution. It can be driven as 320 by 240 but doesn’t look great, and even that “standard” resolution isn’t supported by many dongles. He’s shared the story of his path to a unique USB to VGA converter which may have application far beyond this arcade machine.

We follow him on a path of discovery, through RP2040 PIOs, simple resistor ladder DACs, and home-made kernel modules, before he arrives at GUD, a USB display protocol with its own upstreamed Linux kernel driver. It’s designed to be used with a Raspberry PI deriving an LCD or HDMI display, but for his task he implemented the protocol on one of the more expensive STM32 series microcontrollers. The result after several false starts and some fiendish PCB routing is a standalone GUD-based USB-to-VGA converter that delivers perfect 34-bit colour at this unusual resolution, and also presumably others if required. It’s a worthwhile read for the many hints it gives on the subject of driving displays, even if you’re not driving an odd cabinet monitor.

Is That Ancient Reel Of PLA Any Good?

When it comes to knowledge there are things you know as facts because you have experienced them yourself or had them verified by a reputable source, and there are things that you know because they are common knowledge but unverified. The former are facts, such as that a 100mm cube of water contains a litre of the stuff, while the latter are received opinions, such as the belief among Americans that British people have poor dental care. The first is a verifiable fact, while the second is subjective.

In our line there are similar received opinions, and one of them is that you shouldn’t print with old 3D printing filament because it will ruin the quality of your print. This is one I can now verify for myself, because I was recently given a part roll of blue PLA from a hackerspace, that’s over a decade old. It’s not been stored in a special environment, instead it’s survived a run of dodgy hackerspace premises with all the heat and humidity that’s normal in a slightly damp country. How will it print?

It Ain’t Stringy

In the first instance, looking at the filament, it looks like any other filament. No fading of the colour, no cracking, if I didn’t know its age it could have been opened within the last few weeks. It loads into the printer, a Prusa Mini, fine, it’s not brittle, and I’m ready to print a Benchy.

Continue reading “Is That Ancient Reel Of PLA Any Good?”

ReMemory Is The Amnesia-hedging Buddy Backup You Didn’t Know You Needed

What would happen if you lost your memory, even partially? With so much of our lives being digital, forgetting your passwords (or the master key to your password manager) could be disastrous. Haunted by that specter after a concussion, [eljojo] created ReMemory, a tool based on Shamir’s Secret Sharing to help your friends help you.

Shamir’s Secret Sharing, for the uninitiated, is a way to split up important data between parties so that the full picture is only available when a quorum comes together. The classic example is giving everyone a couple of digits out of the combination to the bank vault, but no one the full combination. Together, they can open the vault.

ReMemory works the same way. Rather than the combination to a bank vault, the locally-hosted, browser-based interface splits the encryption key to your sensitive data. If you’re old fashioned that might be a plaintext list of passwords, or for the more modern the recovery codes to your password manager. It could be literally anything, like your Aunt Edna’s famous cupcake recipe, which surely should not be lost to time.

Aunt Edna could probably handle this.

You can chose how many friends to split your data betwixt, and how many will be required to meet quorum– the minimum, of course, being two, but the suggested default is to split the data five ways, and allow decryption from any three parties. Each bundle includes the complete recovery tool, so anyone in your circle of trust can start the process of decrypting your data if they get the others on board. Since it’s self-hosted and browser based, those friends don’t have to be particularly tech-savvy, as long as they can be trusted to hold onto the files. Everything is explained in the readme included in each bundle.

This does have the downside of requiring you to have multiple close friends, at least some of whom you trust to come through in a crunch, and all of whom you trust not to collude behind your back. Still, if you’re the social type, this seems like it might be a useful tool. The code is available under an Apache 2.0 license, so you can audit it for yourself — a must for any tool you plan on entrusting your secrets to.

The best part of the sharing algorithm is that it’s not vulnerable to quantum computing. While [eljojo] was thinking of amnesia when he put the tool together, we can’t help but think this also solves the postmortem password problem.

Gaming On An Arduino Uno Q In Linux

After Qualcomm’s purchase of Arduino it has left many wondering what market its new Uno Q board is trying to target. Taking the ongoing RAM-pocalypse as inspiration, [Bringus Studios] made a tongue-in-cheek video about using one of these SoC/MCU hybrid Arduino boards for running Linux and gaming on it. Naturally, with the lack of ARM-native Steam games, this meant using the FEX x86-to-ARM translator in addition to Steam’s Proton translation layer where no native Linux game exists, making for an excellent stress test of the SoC side of this board.

Technically, this is a heatsink. (Credit: Bringus Studios, YouTube)
Technically, this is a heatsink. (Credit: Bringus Studios, YouTube)

We covered this new ‘Arduino’ board previously, which features both a quad-core Cortex-A53 SoC and a Cortex-M33 MCU. Since it uses the Uno form factor, all SoC I/O goes via the single USB-C connector, meaning that a USB-C docking station is pretty much required to use the SoC, though there’s at least 16 GB of eMMC to install the OS on. A Debian-based OS image even comes preinstalled, which is convenient.

With a mere 2 GB of LPDDR4 it’s not the ideal board to run desktop Linux on, but if you’re persistent and patient enough it will work, and you can even play 3D video games as though it’s Qualcomm’s take on Raspberry Pi SBCs. After some intense gaming the SoC package gets really quite toasty, so adding a heatsink is probably needed if you want to peg its cores and GPU to 100% for extended periods of time.

As for dodging the RAM-pocalypse with one of these $44 boards, it’s about the same price as the 1 GB Raspberry Pi 5, but the 2 GB RPi 5 – even with the recent second price bump – is probably a better deal for this purpose. Especially since you can skip the whole docking station, but losing the eMMC is a rawer deal, and the dedicated MCU could be arguably nice for more dedicated purposes. Still, desktop performance is a hard ‘meh’ on the Uno Q, even if you’re very generous.

Despite FEX being a pain to set up, it seems to work well, which is promising for Valve’s upcoming Steam Frame VR glasses, which are incidentally Qualcomm Snapdragon-based.

Continue reading “Gaming On An Arduino Uno Q In Linux”

IBM Made A Sound Card? Who Knew!

Even in a field you think you know intimately, the Internet still has the power to surprise. Sound cards of the 1990s might not be everyone’s specialist subject, but since the CD-ROM business provided formative employment where this is being written, it’s safe to say that a lot of tech from that era is familiar. It’s a surprise then when along comes [DOS Storm] with a new one. The IBM Mwave was the computer giant’s offering back in the days when they were still pushing forward in the PC space, and sadly for them it turned out to be a commercial disaster.

The king of the sound cards in the ’90s was the SoundBlaster 16, which other manufacturers cloned directly. Not IBM of course, who brought their own Mwave DSP chip to the card, using it as both the sound card and the engine behind an on-board dial-up modem. This appears to have been its undoing, because aside from its notoriously flaky drivers, using both sound and modem at the same time just wasn’t a pleasant experience. To compound the problem, Big Blue resorted to trying to bury the problem with NDAs rather than releasing better drivers, so unsurprisingly it faded from view. Perhaps the reason it was unfamiliar here had something to do with it not being sold in Europe, but given that the chipset found its way into ’90s ThinkPads, we’d have expected to have seen something of it.

In the video below the break he introduces the card, and with quite some trouble gets it working. There are several demos of period games which sound a little scratchy, but we can’t judge from this whether they’d have sounded better on the Creative card. If you’d like to immerse yourself in the folly of ’90s multimedia, have a little bit of Hackaday scribe reminiscing.

Continue reading “IBM Made A Sound Card? Who Knew!”