The WalMart Atomic Clock

In the realm of first-world problems, your cheap wall clock doesn’t keep time, so you have to keep setting it. The answer? Of course, you connect it to NTP and synchronize the clock with an atomic time source. If you are familiar with how these generic quartz clock movements work, you can probably guess the first step is to gut the movement, leaving only the drive motor.

The motor is somewhat like a stepper motor. The ESP8266 processor can easily control the clock hands by sending pulses to the motor. The rest is simple network access and control. If the network time is ahead, the CPU gooses the clock a little. If it is behind, the CPU stalls the clock until it catches up.

Continue reading “The WalMart Atomic Clock”

Real-Time 3D Room Mapping With ESP32, VL53L5CX Sensor And IMU

ST’s VL53L5CX is a very small 8×8 grid ranging sensor that can perform distance measurements at a distance of up to 4 meters. In a recent video,[Henrique Ferrolho] demonstrated that this little sensor can also be used to perform a 3D scan of a room. The sensor data can be combined with an IMU to add orientation information to the scan data. These data streams are then combined by an ESP32 MCU that streams the data as JSON to a connected computer.

Continue reading “Real-Time 3D Room Mapping With ESP32, VL53L5CX Sensor And IMU”

A marketing image of a Dash educational robot is shown. It is made of a triangle pyramid of four plastic spheres. Two of the base spheres house wheels, and the top sphere houses a speaker, lights, and sensors.

Reverse Engineering A Dash Robot With Ghidra

One of the joys of browsing secondhand shops is the possibility of finding old, perhaps restorable or hackable, electronics at low prices. Admittedly, they usually seem to be old flat-screen TVs, cheap speakers, and Blu-ray players, but sometimes you find something like the Dash, an educational toy robot. When [Jonathan] came across one of these, he decided to use it as a turtle robot. However, he found the available Python libraries insufficient, and improving on them required some reverse-engineering.

Continue reading “Reverse Engineering A Dash Robot With Ghidra”

Vintage Canadian Video Hardware Becomes Homebrew Computer

Are you in the mood for a retrocomputing deep dive into the Scriptovision Super Micro Script? It was a Canadian-made vintage video titler from the 80s, and [Cameron Kaiser] has written up a journey of repair and reverse-engineering for it. But his work is far more than just a refurbish job; [Cameron] transforms the device into something not unlike 8-bit homebrew computers of the era, able to upload and run custom programs with a limited blister keypad for input, and displaying output on a composite video monitor.

Continue reading “Vintage Canadian Video Hardware Becomes Homebrew Computer”

Windows 98 On A 2020 ThinkPad P14s Gen 1 Laptop

The lovely thing about the x86 architecture is its decades of backwards compatibility, which makes it possible to run 1990s operating systems on modern-day hardware, with relatively few obstacles in the way. Recently [Yeo Kheng Meng] did just that with Windows 98 SE on a 2020 ThinkPad P12s Gen 1, booting it alongside Windows 11 and Linux from the same NVMe drive.

Naturally, after previously getting MS-DOS 6.22 from 1994 running on a 2020 ThinkPad X13, the step to doing the same with Windows 98 SE wasn’t that large. The main obstacles that you face come in the form of UEFI and hardware driver support.

Both ThinkPad laptops have in common that they support UEFI-CSM mode, also known as ‘classical BIOS’, as UEFI boot wasn’t even a glimmer yet in some drunk engineer’s eye when Win98 was released. After this everything is about getting as many hardware drivers scrounged together as possible.

[Yeo] ended up having to bodge on a USB 2.0 expansion card via a Thunderbolt dock as Win98 doesn’t have xHCI (USB 3.0) support. With that issue successfully bodged around using a veritable tower of adapters, installing Windows 98 was as easy as nuking Secure Boot in the BIOS, enabling UEFI-CSM along with Thunderbolt BIOS assist mode and disable Kernel DMA protection.

Because UEFI-CSM implementations tend to be buggy, the CREGFIX DOS driver was used to smooth things over. Another issue is the same that we chuckled about back in the day, as Windows 98 cannot address more than 512 MB of RAM by default. Fortunately patches by [Rudolph Loew] helped to fix this and some other smaller issues.

Unfortunately neither Intel nor NVIDIA have released Win98 drivers for quite some time, so there’s no graphics acceleration beyond basic VESA support and the SoftGPU driver. Disk access goes via the BIOS too rather than using an NVMe driver, so it’s not as zippy as it could be, but for Win9x it’s quite usable.

Finally ACPI wasn’t recognized by Win98, but it’s only fair to blame that on the complete flaming train wreck that is ACPI rather than anything to do with Windows. This particular issue was worked around by configuring the BIOS to support S3 power state and with that making Win98 happy again.

It’s honestly quite a shame that UEFI-CSM is largely ignored by new systems, as it makes installing even Windows 7 basically impossible, and thus creating probably the largest split within the x86 ecosystem since the arrival of AMD64/x86_64.

Honor Thy Error

Musician Brian Eno’s Oblique Strategies are like a Tarot card deck full of whimsical ideas meant to break up a creative-block situation, particularly in the recording studio. They’re loads of fun to pick one at random and actually try to follow the advice, as intended, but some of them are just plain good advice for creatives.

One that keeps haunting me is “Honor thy error as a hidden intention”, which basically boils down to taking a “mistake” and seeing where it leads you if you had meant to do it. I was just now putting the finishing touches on this week’s Hackaday Podcast, and noticed that we have been honoring a mistake for the past 350-something shows. Here’s how it happened.

When Mike and I recorded the first-ever podcast, I had no idea how to go about doing it. But I grew up in Nashville, and know my way around the inside of a music studio, and I’ve also got more 1990s-era music equipment than I probably need. So rather than do the reasonable thing, like edit the recording on the computer, we recorded to an archaic Roland VS-880 “Digital Studio” which is basically the glorified descendant of those old four-track cassette Portastudios.

If you edit audio in hardware, you can’t really see what you’re doing – you have to listen to it. And so, when I failed to notice that Mike and I were saying “OK, are you ready?” and “Sure, let’s go!”, it got mixed in with the lead-in music before we started the show off for real. But somehow, we said it exactly in time with the music, and it actually sounded good. So we had a short laugh about it and kept it.

And that’s why, eight years later, we toss random snippets of conversations into the intro music to spice it up. It was a mistake that worked. Had we been editing on the computer, we would have noticed the extra audio and erased it with a swift click of the mouse, but because we had to go back and listen to it, we invented a new tradition. Honor thy error indeed.

There’s Always Room For 3D Printed Batteries

There are many applications where you have limits on how much you can cram into a particular space. There are also many applications where you need as much battery as you can get. At the intersection of those applications, you may soon be able to 3D print custom batteries to fit into oddly shaped spaces that might otherwise go to waste.

Commercial batteries are typically cylindrical or rectangular. In theory, you could build tooling to make batteries of any size or shape you want, but it’s an expensive process in small quantities. [Lawrence Ulrich] on Spectrum talks about a new process, developed by [Gabe Elias], that can print anodes, cathodes, separators, and casings for custom battery shapes with no costly tooling.

As an example, consider an unmanned aerial vehicle crammed with avionics. You could put off-the-shelf batteries in the wings, but you’ll end up wasting a lot of space. A custom battery could fill the wing’s interior completely. The post also mentions batteries shaped like the earpieces of a pair of smart glasses.

A prototype showed that in the space of 48 cylindrical cells, the new process could deliver a printed battery that uses 35% more of the available volume and a 50% boost in energy density.

Could you do this yourself? Maybe, but it won’t be trivial. The current process requires a liquid electrolyte and the ability to produce thin layers of exotic materials. What oddly-shaped battery would you like to see? Us? We’d like to have a battery for a laptop that was spread uniformly so there wasn’t a heavy side that has the battery.