IRC Client On Bare Metal

In the beginning, there was the BIOS, and it was good. A PC’s BIOS knows how to set up the different hardware devices, grab a fixed part of a hard drive, load it, and run it. That’s all you need. While it might be all you need, it isn’t everything people want, so a consortium developed UEFI, which can do all the things a normal BIOS can’t. Among other things, UEFI can load code for the operating system over the network instead of from the hard drive.

In true hacker fashion, [Phillip Tennen] thought, “Does it have to be an operating system?” The answer, of course, is no. It could be an IRC client. He chose Rust to implement everything. While UEFI does provide a network stack, it isn’t very easy to use, apparently. It also provides support for a mouse. [Phillip] ported his GUI toolkit library over, and then the rest is just building an IRC client.

The client isn’t the easiest to use because, after all, this is a lark. Why would you want to do this? On the other hand, we can think of reasons we might want to take control of a UEFI motherboard and use it for something. If you want to do that, this project is a great template to jump-start your endeavors.

We’ve looked at the UEFI system a few times. Or, you can use it to play DOOM.

Continue reading “IRC Client On Bare Metal”

OSHW Framework Laptop Expansion Hides Dongles

If you’ve got a wireless keyboard or mouse, you’ve probably got a receiver dongle of some sort tucked away in one of your machine’s USB ports. While modern technology has allowed manufacturers to shrink them down to the point that they’re barely larger than the USB connector itself, they still stick out enough to occasionally get caught on things. Plus, let’s be honest, they’re kind of ugly.

For owners of the Framework laptop, there’s now a solution: the DongleHider+ by [LeoDJ]. This clever open source hardware project is designed to bring these little receivers, such as the Logitech Unifying Dongle, into one of the Framework’s Expansion bays. The custom PCB is designed with a large notch taken out to fit the dongle’s PCB, all you need to do is solder it in with four pieces of stiff wire.

Continue reading “OSHW Framework Laptop Expansion Hides Dongles”

Homebrew GPU Tackles Quake

Have you ever wondered how a GPU works? Even better, have you ever wanted to make one? [Dylan] certainly did, because he made FuryGPU — a fully custom graphics card capable of playing Quake at over 30 frames per second.

As you might have guessed, FuryGPU isn’t in the same league as modern graphics card — those are made of thousands of cores specialized in math, which are then programmed with whatever shaders you want. FuryGPU is a more “traditional” GPU, it has dedicated hardware for all the functions the GPU needs to perform and doesn’t support “shader code” in the same way an AMD or NVIDIA GPU does. According to [Dylan], the hardest part of the whole thing was writing Windows drivers for it.

On his blog, [Dylan] tells us all about how he went from the obligatory [Ben Eater] breadboard CPU to playing with FPGAs to even larger FPGAs to bear the weight of this mighty GPU. While this project isn’t exactly revolutionary in the GPU world, it certainly is impressive and we impatiently wait to see what comes next.

Continue reading “Homebrew GPU Tackles Quake

Upgrading PC Cooling With Software

As computing power increases with each new iteration of processors, actual power consumption tends to increase as well. All that waste heat has to go somewhere, and while plenty of us are content to add fans and heat sinks for a passable air-cooled system there are others who prefer a liquid cooling solution of some sort. [Cal] uses a liquid cooler on his system, but when he upgraded his AMD chip to one with double the number of cores he noticed the cooling fans on the radiator were ramping quickly and often. To solve this problem he turned to Python instead of building a new cooling system.

The reason for the rapid and frequent fan cycling was that the only trigger for the cooling fans available on his particular motherboard is CPU temperature. For an air cooled system this might be fine, but a water cooled system with much more thermal mass should be better able to absorb these quick changes in CPU temperature without constantly adjusting fan speed. Using a python script set up to run as a systemd service, the control loop monitors not only the CPU temperature but also the case temperature and the temperature of the coolant, and then preferentially tries to dump heat from the CPU into the thermal mass of the water cooler before much ramping of cooling fans happens.

An additional improvement here is that the fans can run at a much lower speed, reducing dust in the computer case and also reducing noise compared to before the optimizations. The computer now reportedly runs almost silently unless it has been under load for several minutes. The script is specific to this setup but easily could be modified for other computers using liquid cooling, and using Grafana to monitor the changes can easily be done as [Cal] also demonstrates when calibrating and testing the system. On the other hand, if you prefer a more flashy cooling system as a living room centerpiece, we have you covered there as well.

Probes connected from a Pi Pico board to the SPI flash chip, with other end of the probes connected tot the level shifter circuit resistors

Motherboard Revived With Simplest 1.8V SPI Shifter Ever

If you have ever had to fix a modern desktop motherboard, you might have noticed that the BIOS (UEFI) SPI flash is 1.8V – which means you can no longer use a Raspberry Pi or a CH341 adapter directly, and you’d need to use a 1.8V level shifter of some sort. Now, some of us can wait for a 1.8V level shifter adapter from an online store of your choosing, but [treble] got a “BIOS flash failed” motherboard from Facebook Marketplace, and decided to make it work immediately.

She tells us a story about reviving the motherboard, and there’s one thing she shows that is interesting in particular – a very simple way to level shift 3.3V signals from a serprog-flashed Pi Pico down to the 1.8V that the flash chip required, something you are guaranteed to be able to build out of the parts in your parts bin, only requiring nine resistors and an NPN transistor. If you ever need to reflash BIOS on a modern motherboard, take note. As for 1.8V rail, she ended up tapping the 1.8V power pin of the SPI chip the motherboard itself to power the chip while programming it.

In the end, after swapping the two BIOS chips places and fixing a broken trace mishap, the motherboard booted, and works wonderfully to this day, a much-needed upgrade to [treble]’s toolkit that allows her to do RISC-V cross-compiling with ease nowadays. This is not the first time we see people reflash modern boards with 1.8V chips – if you want to learn more, check out this incredibly detailed writeup! Need to do some further debugging? Use your Pico as a POST card!

Best Of Both Worlds: The MacPad

Despite a growing demand for laptop-tablet hybrid computers from producers like Lenovo, HP, and Microsoft, Apple has been stubbornly withdrawn this arena despite having arguably the best hardware and user experiences within the separate domains of laptop and tablet. Charitably one could speculate that this is because Apple’s design philosophy mandates keeping the user experiences of each separate, although a more cynical take might be that they can sell more products if they don’t put all the features their users want into a single device. Either way, for now it seems that if you want a touchscreen MacBook you’ll have to build one yourself like the MacPad from [Federico].

This project started as simply providing a high-quality keyboard and mouse for an Apple Vision Pro, whose internal augmented reality keyboard is really only up to the task of occasionally inputting a password or short string. For more regular computing, [Federico] grabbed a headless MacBook which had its screen removed. This worked well enough that it triggered another line of thought that if it worked for the Vision Pro it might just work for an iPad Pro as well. Using Apple tools like Sidecar makes this almost trivially easy from a software perspective, although setting up the iPad as the only screen, rather than an auxiliary screen, on the MacBook did take a little more customization than normal.

The build goes beyond the software side of setting this up, though. It also includes a custom magnetic mount so that the iPad can be removed at will from the MacBook, freeing both the iPad for times when a tablet is the better tool and the MacBook for when it needs to pull keyboard duty for the Vision Pro. Perhaps the only downsides are that this only works seamlessly when both devices are connected to the same wireless network and that setting up a headless MacBook without a built-in screen takes a bit of extra effort. But with everything online and working it’s nearly the perfect Apple 2-in-1 that users keep asking for. If you’re concerned about the cost of paying for an iPad Pro and a Macbook just to get a touchscreen, though, take a look at this device which adds a touchscreen for only about a dollar.

Thanks to [Stuart] for the tip!

Jenny’s Daily Drivers: Damn Small Linux 2024

There was a time when the gulf between a new computer and one a decade or more old was so large as to be insurmountable; when a Pentium was the chip to have an older computer had a 16-bit 8086 or 286. Here in the 2020s, though, that divide is less stark. While a machine from the mid-2000s may no longer be considered quick, it can still run modern and useful software.

The problem facing the owner of such older hardware though is that as operating systems advance their requirements and eclipse their machine’s capabilities. A perfectly good machine becomes less useful, not because the tasks it needs to be used for are beyond it, but because the latest OS is built with higher-spec hardware in mind. The subject of today’s test is an operating system designed to make the best of older hardware, and it’s one with a pedigree. Damn Small Linux, or DSL, first appeared in 2005 as a tiny distro for the old machines of the day, and after a long hiatus it’s back with a 2024 edition.

Continue reading “Jenny’s Daily Drivers: Damn Small Linux 2024”