Between the era of the CD and the eventual rise and domination of streaming music platforms, there was a limbo period of random MP3 players mixed in with the ubiquitous (and now officially discontinued) iPod. In certain areas, though, the digital music player of choice was the MiniDisc, a miniature re-writable CD player with some extra digital features. Among them was the ability to transfer music to the discs over USB, but they did not feature the ability to transfer the songs back to a computer. At least until now, thanks to this impressive hack from [asivery].
Although it sounds straightforward, this trick has a lot of moving parts that needed to come together just right. The MiniDisc player uses a proprietary encoding format called ATRAC, so a codec is needed for that. The MiniDisc player stores data from the disc in a 40-second buffer when playing, so the code reads the data directly from DRAM in 40-second chunks, moves the read head, repeats the process as needed, then stitches the 40-second parts back together. It can work on any Sony NetMD portable, if you are lucky enough to still have one around.
The project is a tremendous asset to the MiniDisc community, especially since the only way to recover data from a MiniDisc player prior to this was to use a specific version known as the RH-1. As [asivery] reports, used RH-1 players are going for incredibly high prices partially because of this feature. Since this new method demonstrates that it’s possible to do with other devices, perhaps its reign in the MiniDisc world will come to a close. For those still outside the loop on this esoteric piece of technology, take a look at this MiniDisc teardown.
Don’t feel bad if you don’t know what Cistercian numbers are. Unless you’re a monk of the Order of Cistercia, there’s really no reason for you to learn the cipher that stretches back to the 13th-century. But then again, there’s no reason not to use the number system to make this medieval-cool computer number pad.
If you haven’t been introduced to the Cistercian number system, it’s actually pretty clever. There are several forms of it, but the vertical form used here by [Tauno Erik] is based on a vertical stave with nine glyphs that can be attached to or adjacent to it. Each glyph stands for one of the nine numerals — one through nine only; there’s no need for a zero glyph. There are four quadrants around the stave — upper right, upper left, lower right, and lower left — and where the glyph lies determines the multiplier for the glyph. So, if you wanted to write the number “1234”, you’d overlay the following glyphs into a single symbol as shown.
[Tauno]’s Cistercian keypad, admittedly more of an art and history piece than a useful peripheral, somehow manages to look like it might have been on the desk of [Theodoric of York, Medieval Accountant]. Its case is laser-cut birch plywood, containing a custom PCB for the 20 keyboard switches and the Xiao RP2040 MCU that runs the show. Keycaps are custom made from what looks like oak combined with a 3D-printed part, similar to his previous wooden keycap macro pad. Each of the nine Cistercian glyphs is hand-carved into the keycaps, plus an imaginary glyph for zero, which wasn’t part of the system, as well as operators and symbols that might have baffled the medieval monks.
The native Cistercian system is limited to numbers between 1 and 9,999, so we’ll guess that the keypad just outputs the Arabic numeral corresponding to the Cistercian key pressed and doesn’t actually compose full Cistercian numbers. But the code to do that would be pretty easy, and the results pretty cool, if a bit confusing for users. Even if it’s just for looks, it’s still a cool project, and we doff the hood of our monkish robe to [Tauno] for this one.
Photogrammetry is a great way to produce accurate 3D models of real objects. A turntable is often a common tool used in this work as it helps image an object from all angles. [Peter Lin] wanted a way to run the photogrammetry process with minimal human intervention, and set about building an automated turntable setup.
The build relies on a smartphone to take images of the physical object. The phone is triggered to take photos by an ESP8266, which fires the shutter via the phone’s audio socket. The microcontroller then turns the turntable on for a short period of time after each shot, rotating it by a set angle.
The build still requires objects to be repositioned in various orientations on the turntable now and then, in order to capture the top and bottom areas that would otherwise be obscured. However, the grunt work of taking the photos and rotating the objects is now entirely automated.
Input devices consisting of optical readers for punched paper tape have been around since the earliest days of computing, so why stop now? [Jürgen]’s Paper Tape Reader project connects to any modern computer over USB, acting like a serial communications device. Thanks to the device’s automatic calibration, it works with a variety of paper materials. As for reading speed, it’s pretty much only limited to how fast one can pull tape through without damaging it.
While [Jürgen]’s device uses LEDs and phototransistors to detect the presence or absence of punched holes, it doesn’t rely on hardware calibration. Instead, the device takes analog readings of each phototransistor, and uses software-adjusted thresholds to differentiate ones from zeros. This allows it to easily deal with a wide variety of tape types and colors, even working with translucent materials. Reading 500 characters per second isn’t a problem if the device has had a chance to calibrate.
[Daumemo] likes experimenting with DIY electronics, and like many people, eventually ran across an AVR microcontroller with a Unified Program and Debug Interface (UPDI). One option is of course to purchase an UPDI programmer, but an even better solution was to make a DIY USB version from nice, cheap parts.
UPDI is an interface for external programming and on-chip debugging of microcontrollers, and [Daumemo]’s solution is based on the jtag2updi project. It combines an Arduino Nano (in this case, a clone) with a single resistor, a single capacitor, and a six pin angled header (with a cleverly bent pin) to enable programming UPDI devices over a USB connection. [Daumemo] is happy to report that the device works just fine in both Microchip Studio with AVRDUDE, or PlatformIO.
Is an Arduino Nano a bit overpowered in this role? Maybe, but the price is certainly right. There’s no need for a custom PCB either, since everything can be soldered direct to the Nano board. A matching 3D printed enclosure is about all that’s needed to make a robust and reliable DIY USB UPDI programmer out of a handful of parts, and that sounds good to us.
From the smallest 60% keyboards for those with no desk space to keyboards with number pads for those doing data entry all day, there’s a keyboard size and shape for just about everyone. The only problem, even with the largest keyboards, is that they’re still fairly limited in what they can do. If you find yourself wishing for even more functionality, you might want to build something like this custom macro keyboard with built-in LED backlighting.
Rather than go with a standard mechanical keyboard switch like a Cherry MX, this build is based around TS26-2 pushbuttons with built-in LED lighting. [atkaper] only really needed one button for managing the mute button on MS Teams, but still built a total of eight switches into this keyboard which can all be individually programmed with different functions. The controller is an Arduino Leonardo and the enclosure was 3D printed.
Paired with the classic IBM Model M keyboard, this new macro keyboard adds plenty of functionality while also having control over LED backlighting. Macro keyboards are incredibly useful, especially with their ability to easily change function with control over the software that runs on them. The key to most builds is the 32U4 chip found in some Atmel microcontrollers which allows it to easily pass keyboard (and mouse) functionality to any computer its plugged in to.
Discount (or even grey market) electronics can be economical ways to get a job done, but one usually pays in other ways. [Majenko] ran into this when a need to capture some HDMI video output ended up with rather less than was expected.
Faced with two similar choices of discount HDMI capture device, [Majenko] opted for the fancier-looking USB 3.0 version over the cheaper USB 2.0 version, reasoning that the higher bandwidth available to a USB 3.0 version would avoiding the kind of compression necessary to shove high resolution HDMI video over a more limited USB 2.0 connection.
The device worked fine, but [Majenko] quickly noticed compression artifacts, and interrogating the “USB 3.0” device with lsusb -t revealed it was not running at the expected speeds. A peek at the connector itself revealed a sad truth: the device wasn’t USB 3.0 at all — it didn’t even have the right number of pins!
A USB 3.0 connection requires five conductors, and the connectors are blue in color. Backward compatibility is typically provided by including four additional conductors, as shown in the image here. The connector on [Majenko]’s “USB 3.0” HDMI capture device clearly shows it is not USB 3.0, it’s just colored blue.