VHS-Decode Project Could Help Archival Efforts

Archiving data from old storage media can be a highly complex process. It can be as simple as putting a disk in an old drive and reading out the contents. These days, though, the state of the art is more complex, with advanced techniques helping to recover the most data possible. The VHS-Decode project is an effort to improve the archiving of old analog video tapes.

The project is a fork of the LaserDisc-focused ld-decode, started by [Chad Page] back in 2013, which readers may recall was used for the Domesday Duplicator — a device aimed to recover data from the BBC’s ancient Domesday LaserDiscs. VHS-Decode is designed to capture the raw RF signals straight out of a tape head, which are the most direct representation of the signals on the physical media. From there, these signals can be processed in various ways to best recover the original audio and video tracks. It’s much the same technique as is used by floppy disk recovery tools like the FluxEngine.

Despite the VHS name, the code currently works with several tape formats. VHS, S-VHS and U-Matic are supported in PAL and NTSC formats, while Betamax, Video8 and High8 tape capture remains a work in progress. Using the code requires a video tape player with test points or traces that make signals from the head accessible. Capturing those signals is achieved via a Domesday Duplicator hardware device, or alternatively a Conexant CX2388x analog-to-digital converter, often found in many old PCI TV tuner cards. Various techniques can then be used to turn the captured signals into watchable video files.

We love a good archival project, and VHS-Decode is clearly a useful tool when it comes to salvaging old video tapes. Continue reading “VHS-Decode Project Could Help Archival Efforts”

Building A Lamp To Help With Seasonal Depression

The sun plays a big biological role in our lives, regulating our circadian rhythms and doing a whole bunch more as well. Some people find the reduced sunlight of the winter months to have negative emotional effects, and rely on artificial lighting to counteract this. [Samasrinivas] built a lamp of their own design for this very purpose.

The lamp is constructed around an abstract sculptural form made in air-dry clay. Light is provided via a string of Neopixel RGBW LEDs. Run by an Adafruit Feather Huzzah, they’re programmed to trigger with the sunrise to provide a bright light in the morning on grey days when the outside world isn’t quite delivering the same. The Adafruit queries an online weather API to get the right sunrise time every day without requiring user intervention. The lamp can also be programmed to provide warm light during later hours.

We’ve featured a few circadian lighting projects before, including one that goes for a whole-of-house effect with smart bulbs. For some, they’re a valuable way to help boost mood and maintain consistent sleep cycles.

Push ESP32 Over The Air Updates From GitHub

Let’s say you’re working on an ESP32 project to send off to your grandma; something she can just plug in and it will start automatically monitoring her plant’s water levels. But you discover a critical flaw in the firmware and need to update it. Does she send it back? Do you walk her through dropping the update via the Arduino IDE OTA? The easiest way would be to plan and use something like esp_ghota, an OTA framework by [Justin Hammond].

OTA (Over-The-Air) updates are a fantastic feature of the ESP32, and we’ve covered libraries that make it easy. But compared to those earlier projects, esp_ghota takes a different approach. Rather than hosting a web server where someone can drop a binary, it looks at GitHub releases. [Justin] had to include a streaming JSON parser, as GitHub API responses tend to be beefy. The workflow is straightforward, push a new commit to your main branch on GitHub, and the action will trigger, building a few different versions. Your little plant watering reminder at your grandma’s will check every so often to see if a new version has been pushed and can update with rollback on littlefs, fatfs, and spiffs filesystems.

It’s an incredible project that we suspect will be very useful for many folks to update their projects. [Justin] even includes an example GitHub action and a sample ESP32 project.

Hyundai To Lead US Market For Hydrogen Fuel Cell Trucks

Hydrogen has long been touted as a potential fuel of the future. While it’s failed to catch on in cars as batteries have taken a strong lead, it still holds great promise for larger vehicles like trucks.

Hyundai have been working diligently in this space over the last few years, with its Xcient line of fuel-cell powered trucks. It’s set to dominate the world of hydrogen trucking in the US as it brings a fleet of vehicles to California next year.

Continue reading “Hyundai To Lead US Market For Hydrogen Fuel Cell Trucks”

This Gun Should Be Banned During The Month Of December

Do you play Whamageddon? It’s a pastime for the month of December, something like the Game, in which you lose when you are exposed to the 1984 Wham! Christmas classic, Last Christmas. Such is the pervasive nature of Christmas music at this time of year, it’s extremely difficult not to encounter a bit of unexpected Wham! during the month. At Tkkrlab hackerspace in the Netherlands, they evidently take their Whamageddon seriously. Seriously enough it seems, to weaponise it, because one of their members has created a Wham! gun.

Starting with a compressed-air kit gun (we think that’s a sealant cartridge gun, for Anglophones) because of its comedy plastic-firearm-like appearance, they’ve put in an AliExpress audio sample player module and a speaker. Add a suitably hazard-warning paint job, and Wham! Any unwary visitor might be ambushed and lose their Whamageddon game before they can even pop the cap on a refreshing bottle of Club-Mate.

It’s all a bit of seasonal fun, but deadly serious if the dulcet tones of George Michael are anathema to you. Don’t get mad, get equal, never visit a Dutch hackerspace in December without first fixing your noise cancelling headphones.

All About USB-C: Cable Types

USB-C cables and connectors: these are controversial topics, and rightfully so – I don’t want to pull any punches. I will also show you that things don’t have to be that bad for you, as long as you’re willing to apply a few tricks and adjust your expectations.

Wild West of Wiring

You might have a bunch of USB-C cables, and they all might look exactly the same, but you’ve likely experienced that they’re not the same internally, and often there’s not a label in sight. Yes, it’s pretty bad, and one could argue it’s getting worse.

I’d like to clarify that I’m only talking about USB C male – USB C male cables here. While cables like USB-A to USB-C are popular, they are quite simple; you get USB 2.0 or USB 3.0 data and 2 A of current at most, and the USB-C plug is usually hardwired as “host, will supply five volts”, which is defined by a pullup resistor. Also, while cables like “Type-C to DisplayPort” might look like cables at a glance, they are adapters with a meaningful amount of active circuitry in them.

Purely following the specification, there used to be six types of USB-C to USB-C cables out there. Then, it became eight. Now, I’m afraid, there’s twelve of them, purely following the spec, and there’s way more when counting all the out-of-spec cables. Good news is – for most of the time, majority of these cables will be suitable for simple tasks like charging and data transfer, and situations where you need a very specific cable are going to be rare enough. Still, let’s go through it, and you’ll see that they’re easier to tell apart than it might look. Continue reading “All About USB-C: Cable Types”

Roll Your Own WiFi Driver For The Pico W

The Raspberry Pi Pico is a handy little microcontroller that has become a widespread addition to many hackers’ workbench. The Pico W has a CYW4342W module (just like the Pi Zero W) to add WiFi capabilities and [Jeremy Bentham] ported his bare-metal WiFi driver to the Pico W.

The CYW43438 is an SDIO interface, so most of the code ported over from his Zerowi project, but there were a few notable tweaks along the way. Given that the Pi Pico SDK has the complete source code to drive the CYW43439 with an open source TCP/IP stack (lwIP) and the datasheets from Infineon are pretty detailed, why create your own driver?

The short answer is…because why not. But a second answer is to tweak it just how you like it. With his own implementation, [Jeremy] can focus on maximizing throughput and making WiFi a little easier to debug. He deeply delves into the hardware, scope traces, and code samples. It’s a tremendous five-part read over lunch. Some highlights include writing some code for the PIO (Programmable I/O) to interface with the SPI interface, bank switching in the WiFi RAM, handling the 140 different events, connecting to a network, and sending pings.

The PicoWi code is available on GitHub. Perhaps it can be integrated with this PCMIA interface to offer outstanding performance to an older laptop.