Removing The BIOS Administrator Password On A ThinkPad Takes Timing

This would be a bad time to slip. (Credit: onionboots, YouTube)
This would be a bad time to slip. (Credit: onionboots, YouTube)

In the olden days, an administrator password on a BIOS was a mere annoyance, one quickly remedied by powering off the system and pulling its CMOS battery or moving a jumper around. These days, you’re more likely to find a separate EEPROM on the mainboard that preserves the password. This, too, is mostly just another annoyance, as [onionboots] knew. All it takes is shorting out this EEPROM at the right time to knock it offline, with the ‘right time’ turning out to be rather crucial.

While refurbishing this laptop for a customer, he thought it’d be easy: the guide he found said he just had to disassemble the laptop to gain access to this chip, then short out its reset pin at the right time to make it drop offline and keep it shorted. Important here is that you do not short it when you are still booting the system, or it won’t boot. This makes for some interesting prodding of tiny pins with a metal tool.

Continue reading “Removing The BIOS Administrator Password On A ThinkPad Takes Timing”

Software Development On The Nintendo Famicom In Family BASIC

Back in the 1980s, your options for writing your own code and games were rather more limited than today. This also mostly depended on what home computer you could get your hands on, which was a market that — at least in Japan — Nintendo was very happy to slide into with their ‘Nintendo Family Computer’, or ‘Famicom’ for short. With the available peripherals, including a tape deck and keyboard, you could actually create a fairly decent home computer, as demonstrated by [Throaty Mumbo] in a recent video.

Continue reading “Software Development On The Nintendo Famicom In Family BASIC”

Can A Scan Tool Kill A Car?

It’s no real secret that modern-day cars are basically a collection of computers on wheels, which also means that we get all the joys of debugging complex computer systems and software with cars these days. Rather than a quick poke under the hood to rebuild a carburetor and adjust the engine timing by hand, you’ll be pulling out a scan tool to gain access to the computer and figure out why the darn thing won’t start after someone else used a scan tool on it, as happened to [DiagnoseDan].

The question was whether the third-party scan tool that was used by the owner had done something to the software settings that would prevent the engine of this 2012 Renault Megane RS from starting, such as erasing keys, or if it was something more subtle. With no stored fault codes and the engine having healthy fuel, spark, and cam sensor readings, the conclusion was that the ECU was not doing its fuel injector things for some reason.

Ultimately, the root cause was that the ECU had been modded, with a re-mapping performed in 2020, meaning that the scan tool that [Dan] was using couldn’t properly interact with the ECU. Reflashing the ECU with the original manufacturer’s firmware was thus the next step, which is pretty involved in itself.

Reinstalling the OS on the car proved to be the solution. Likely, the modded firmware had stored some fault codes, as the ECU normally doesn’t start the engine if there are active codes stored. The third-party scan tool was thus likely blameless, but the inability to just clear fault codes was the real issue.

Continue reading “Can A Scan Tool Kill A Car?”

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.  [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.

Of course, that’s just the heavily abbreviated version, with the video covering the many implementation details that crop up when implementing the system, including noise filtering, orientation tracking using the IMU and a variety of plane fitting algorithms to consider.

Note that ST produces a range of these Time-of-Flight sensors that are more basic, such as the VL53VL0X, which is a simple distance meter limited to 2 meters. The VL53L5CX features the multizone array, 4-meter distance range, and 60 Hz sampling speed features that make it significantly more useful for this 3D scanning purpose.

 

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

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.

Building The Most Simple Motor In Mostly LEGO

Although [Jamie’s Brick Jams] has made many far more complicated motor design in the past, it’s nice to go back to the basics and make a motor that uses as few parts as possible. This particular design starts off with a driver coil and a magnetic rotor that uses two neodymium magnets. By balancing these magnets on both sides of an axis just right it should spin smoothly.

The circuit for the simple motor. (Credit: Jamie's Brick Jams, YouTube)
The circuit for the simple motor. (Credit: Jamie’s Brick Jams, YouTube)

First this driver coil is energized with a 9 V battery to confirm that it does in fact spin when briefly applying power, though this means that you need to constantly apply pulses of power to make it keep spinning. To this end a second coil is added, which senses when a magnet passes by.

This sense coil is connected to a small circuit containing a TIP31C NPN power transistor and a LED. While the transistor is probably overkill here, it’ll definitely work. The circuit is shown in the image, with the transistor pins from left to right being Base-Collector-Emitter. This means that the sensor coil being triggered by a passing magnet turns the transistor on for a brief moment, which sends a surge of power through the driver coil, thus pushing the rotor in a typical kicker configuration.

Obviously, the polarity matters here, so switching the leads of one of the coils may be needed if it doesn’t want to spin. The LED is technically optional as well, but it provides an indicator of activity. From this basic design a larger LEGO motor is also built that contains many more magnets in a disc along with two circular coils, but even the first version turns out to be more than powerful enough to drive a little car around.

Continue reading “Building The Most Simple Motor In Mostly LEGO”

Lab-grown diamonds in 'cake' form -- before they are processed and polished.

Why Diamond Transistors Are So Hard To Make

Many things about diamonds seem eternal, including the many engineering problems related to making them work as a silicon replacement in semiconductor technology. Yet much like a diamond exposed to a stream of oxygen-rich air and a roughly 750°C heat source, time will eventually erase all of them. As detailed in a recent [Asianometry] video, over the decades the challenges with creating diamond wafers and finding the right way to dope pure diamond have been slowly solved, even if some challenges still remain today.

Diamond is basically the exact opposite as silicon when it comes to suitability as a semiconductor material, with a large bandgap (5.5 eV vs the 1.2 of silicon), and excellent thermal conductivity characteristics. This means that diamond transistors are very reliable, albeit harder to switch, and heat produced during switching is rapidly carried away instead of risking a meltdown as with silicon semiconductors.

Unlike silicon, however, diamond is much harder to turn into wafers as you cannot simply melt graphite and draw perfectly crystallized diamond out of said molten puddle. The journey of getting to the state-of-the art soon-to-be-4″ wafers grown on iridium alongside the current mosaic method is a good indication of the complete pain in the neck that just this challenge already is.

Continue reading “Why Diamond Transistors Are So Hard To Make”