A small circuit board glowing purple inset with computer code

Power Cycling Museum Computers On The Cheap

Flicking a circuit breaker to power cycle hundreds of desktop computers inside interactive museum exhibits is hardly ideal. Computers tend to get cranky when improperly shutdown, and there’s an non-zero risk of data loss. However, financial concerns ruled out commercial computer management solutions, and manually shutting down each exhibit at the end of the day is not practical. Tasked with finding a solution, [Jeff Glass] mixed off-the-shelf UPS (uninterruptible power supply) hardware, a Featherwing and some Python to give the museum’s computer-run exhibits a fighting chance.

Without drastically changing the one-touch end-of-day procedure, the only way to properly shutdown the hundreds of computers embedded in the museum exhibits involved using several UPS units, keeping the PCs briefly powered on after the mains power was cut. This in itself solves nothing – while the UPS can trigger a safe shutdown via USB, this signal could only be received by a single PC. These are off-the-shelf consumer grade units, and were never intended to safely shut down more than one computer at a time. However, each 300 watt UPS unit is very capable of powering multiple computers, the only limitation is the shutdown signal and the single USB connection.

To get around this, the Windows task scheduling service was setup to be triggered by the UPS shutdown signal, which itself then triggered a custom Python script. This script then relays the shutdown signal from the UPS to every other computer in the museum, before shutting itself down for the evening.

While many computers can be enabled to boot on power loss, the UPS and safe shutdown scripts meant that this wasn’t an option. To get around this, an ESP32 Featherwing and a little bit if CircuitPython code sends out WOL (wake-on-LAN) signals over Ethernet automatically on power up. This unit is powered by a non-UPS backed power outlet, meaning that it only sends the WOL signal in the morning when mains power is restored via the circuit breaker.

There are undoubtedly a variety of alternative solutions that appear ‘better’ on paper, but these may gloss over the potential costs and disruption to a multi-acre museum. Working within the constraints of reality means that the less obvious fix often ends up being the right one. How would you have tackled this problem? Sound off in the comments below. And while you’re here, make sure to check out our coverage of other UPS solutions, like this supercap UPS.

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The Really Tall Keycaps

About a month ago, [Unexpected Maker] finished their TinyS3, an ESP32-S3 development board. Since the chip supports both true USB and Bluetooth, [deʃhipu] wondered how well it would work in a keyboard.

Thus, the Vegemite Sandwich was made, perhaps while [deʃhipu] was dreaming of traveling in a fried-out Kombi. But really, it was named so because [Unexpected Maker] hails from Australia.

This is [deʃhipu]’s first time using switch sockets, which is (as far as we know) the only choice when it comes to hot-swappable Kailh chocs. We’ll be watching this one with hungry eyes.

Continue reading “Keebin’ With Kristina: The One With The Really Tall Keycaps”

Daft Punk Word Clock Goes Stronger And Faster

What would you call a word clock that doesn’t tell time? The concept of a word clock is that all the words needed to be used are already there and then just selected. [Ben Combee] realized there were only 18 unique words to make up the song “Harder Faster Better Stronger” and with an extra PyBadge from Supercon 2021 on hand, it seems obvious to make a musical word clock of sorts.

The PyBadge is a 120 MHz ATSAMD51 based board with a screen, buttons, and a case that he 3d printed. To get reasonable sound quality while still fitting with the 2MB of flash storage on the device, MP3 compression was chosen. Since there was only one speaker, it was mixed down to mono and a lower bitrate, getting the size down to just 880KB. The mp3 is processed by the audiomp3 module in circuitpython with the volume level being sent to five NeoPixels to act as a VU. Getting the timing correct was the hardest part as the lyrics needed to be separated out and the timing figured out. Using Audacity’s label track feature, he had all the words tagged in the track and could export it into a format that could be massaged into a python friendly format.

The music and the text cues becoming desynchronized became a larger issue as the file plays. Increasing the MP3 buffer helped but the real trick was to peek inside the music decoder and figure out how many samples had been decoded and cue the words based on that, rather than the time since it wasn’t as accurate. All the code and files are up on his Hackaday.io page if you feel the need to make your own. If you’re sticking with Daft Punk, make sure to have your helmet ready when you rock. Though based on this summary of the compressibility of pop songs, there are a few other songs with a small enough number of unique words that they too could get the word clock treatment. Video after the break.

Continue reading “Daft Punk Word Clock Goes Stronger And Faster”

Remoticon 2021 // Joey Castillo Teaches Old LCDs New Tricks

Segmented liquid crystal displays are considered quite an old and archaic display technology these days. They’re perhaps most familiar to us from their use in calculators and watches, where they still find regular application. [Joey Castillo] decided that he could get more out of these displays with a little tinkering, and rocked up to Remoticon 2021 to share his findings.

[Joey’s] talk is a great way to learn the skills needed to reverse engineer a typical segment LCD.
[Joey] got his start hacking on these displays via his Sensor Watch project –  a board swap for the venerable Casio F-91W wristwatch, with the project now available on CrowdSupply. It kits out the 33-year-old watch design with a modern, low-power ARM Cortex M0+ microcontroller running at 32 MHz that completely revolutionizes what the watch can do. Most importantly, however, it repurposes the watches original segmented monochrome LCD.

Segment LCDs are usually small monochrome devices made out of glass, that have the benefit of using very little power in their operation. They come with a fixed layout, which cannot be changed – so they’re often designed specifically for a given purpose. A calculator will have segments laid out to display numbers, often in the usual 7-segment fashion, while a watch may add dedicated segments for displaying things like “AM,” “PM,” or “ALARM.” Continue reading “Remoticon 2021 // Joey Castillo Teaches Old LCDs New Tricks”

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The Ballpoint Typewriters

So you want to minimize finger movement when you type, but don’t have three grand to drop on an old DataHand, or enough time to build the open-source lalboard? Check out these two concept keebs from [SouthPawEngineer], which only look like chord boards.

Every key on the home row is a five-way switch — like a D-pad with straight down input. [SouthPawEngineer] has them set up so that each one covers a QWERTY column. So like, for the left pinky switch, up is Q, right is A, down is Z, and left is 1. Technically, the split has 58 keys, and the uni has 56.

Both of these keebs use KB2040 boards, which are Adafruit’s answer to the keyboard-building craze of these roaring 2020s. These little boards are of course easy to program with CircuitPython, which supports KMK, an offshoot of the popular QMK. Thanks for the tip, [foamyguy]!

Continue reading “Keebin’ With Kristina: The One With The Ballpoint Typewriters”

Breakbeats Courtesy Of The RP2040

While one often listens to songs or albums in full, sometimes you just want to lay down a simple beat. [todbot]’s latest project promises to do just that.

The build relies on a Raspberry Pi Pico or any other RP2040-based microcontroller board, and is programmed in CircuitPython. The PWM feature is used for audio output, and it’s loaded with different WAV samples of the classic “Amen” break.

Each measure, a random new sample is chosen and played, changing the beat. Even better, all the samples can loop, and they come in varying lengths, allowing them to overlap and lay over each other to add further depth to the mix. It’s a cinch to setup, as CircuitPython has an AudioMixer object built in.

Those wishing to tinker for themselves can find all the code and samples on Github. A build like this one is a great way to start learning about working with audio and music, after all. We’ve seen [todbot]’s work here before, too. Video after the break.

Continue reading “Breakbeats Courtesy Of The RP2040”

Floppy disks

Adafruit Hack Chat Helps You Copy That Floppy

You might think the era of the 3.5 inch “floppy” disk is over, and of course, you’d be right. But when has that ever stopped hackers before? Just because these disks are no longer being manufactured doesn’t mean you can’t find them, or that the appropriate drives aren’t readily available. In fact, as [Ladyada] explained during this week’s Floppy Interfacing Hack Chat with Adafruit, the ongoing chip shortages mean its often easier and cheaper to track down old hardware like this than it is modern microcontrollers and other high-tech components.

Hack Chat posterWhat awaits the brave hacker that picks up a box of random floppies and a dusty old drive at the local thrift store? More than you might expect. As the Hack Chat goes on, it becomes increasingly obvious that these quaint pieces of antiquated technology can be rather difficult to work with. For one thing there are more formats out there than you’ve probably considered, and maddeningly, not all drives are able to read all types (even if they say they do). That means a disk which might seem like a dud on one drive could work perfectly fine in another, which is why the team at Adafruit recommend having a few on hand if you want to maximize your chances of success.

Now here comes the tricky part: unless you happen to have a 1990s vintage computer laying around, getting these drives hooked up is decidedly non-trivial. Which is why Adafruit have been researching how to interface the drives with modern microcontrollers. This includes the Adafruit_Floppy project, which aims to port the well known Greaseweazle and FluxEngine firmwares to affordable MCUs like the Raspberry Pi Pico. There’s also been promising developments with bringing native floppy support to CircuitPython, which would make reading these disks as easy as writing a few lines of code.

But wait, surely this is a solved problem? Why not just pick up a cheap USB floppy drive from the A to Z online retailer we all love to hate? Unfortunately, these gadgets are something of a mixed bag. [Ladyada] pulls one apart on camera to show that what you’re actually getting with one of these units is a new old stock laptop floppy drive hooked up to a dodgy purpose-built chip that connects to the original 26-pin flex cable and offers up a USB interface. That would be great, if it wasn’t for the fact that the chip is exceedingly selective about what kind of disks it will read. If you’re only worried about bog standard IBM-formatted disks they can work in a pinch, but like they say, you get what you pay for.

So is it all just academic? Is there really any reason to use a floppy disk in 2022? The fine folks at Adafruit would argue that the skills necessary to read usable data out of a stream of magnetic flux changes may very well come in handy in unexpected ways down the road. But even if not, there’s at least one good reason to cultivate the technology required to reliably read from these once ubiquitous storage devices: archiving the data stored on these disks before they invariably succumb to so-called “bit rot” and are potentially lost to history.

Continue reading “Adafruit Hack Chat Helps You Copy That Floppy”