MoreRSS

site iconHackadayModify

Hackaday serves up Fresh Hacks Every Day from around the Internet. Our playful posts are the gold-standard in entertainment for engineers and engineering enthusiasts.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Hackaday

Running a Game on a PC with no System RAM

2026-04-01 13:00:43

As a clear sign of how desperate these RAMpocalypse times are becoming, we have [PortalRunner] over on YouTube contemplating how to run modern-day software on a PC that has no sticks of that most precious PC-related commodity that is not printer ink. What fallbacks do we have when purchasing some sticks of DDR5 is inconceivable due to budgetary limitations or chronic sticker shock symptoms? As it turns out, quite a few.

Of course, it should be noted up front that none of these options are particularly good or desirable. The video starts with simply trying to push Linux to see how little RAM it really needs using boot arguments. This unfortunately soft-bricks the system if not enough RAM is allocated for boot. Next is the idea of leaning heavily into swap, as today’s SSDs ought to be a lot faster than memory page swapping from a HDD. Only this turns out to be also too slow to be usable due to the sheer overhead that this adds.

Even more desperate is to try and use the video RAM on GPUs as a kind of system RAM, which sort-off works, but also with enormous overhead and an if possible worse experience than running a system off basically a pure swap file. Ultimately the most viable method is to lean into the CPU’s many megabytes of cache and modify a CoreBoot BIOS image to simply not initialize system RAM.

As long as you can squeeze your software into the BIOS image and available CPU cache memory, you can run amazing software like the Snake clone in the video. Of course this concept could be expanded upon, and maybe even made to work with UEFI BIOSes, but there will probably not be anyone running Linux from a 32 MB L3 cache any time soon.

A Nebula Straight from the Stars to Your Table

2026-04-01 10:00:57

Space may truly be the final frontier, but maybe that frontier can be closer than you thought. Pictures of nebulae and planets bring the colorful sights of deep space right to your screen. You may even have models of some of the rockets used for those missions on a shelf. However, did you know that you could even have a model of those nebulae or planetary surfaces from [NASA]?

While we have covered some distributed models from [NASA] here before, the catalog has expanded far past what 2016 had in store. Additionally, the catalog has been sorted into a more user-friendly, filterable interface than a simple GitHub repository. Most models even have a description attached, giving some basic background information on what the Crab Nebula is, for example.

There could always be more; there don’t appear to be many models of the space shuttle or some other expected files, but what is there is incredible. Some non-3D model files can also be found from star maps to full planetary maps.

While this file repository is cool and all, it’s not all [NASA] does. When not sending rockets deep into space for cool pictures, [NASA] has to make sure the Moon doesn’t explode. Was that a possibility at some point? Of course it has been!

LED Matrix Clock Proudly Shows Its Inner Wiring

2026-04-01 07:00:52

Some projects take great care to tuck away wire hookups, but not [Roberto Alsina]’s Reloj V2 clock. This desktop clock makes a point of exposing all components and wiring as part of its aesthetic. There are no hidden elements, everything that makes it work is open to view. Well, almost.

The exception is the four MAX7219 LED matrices whose faces are hidden behind a featureless red panel, and for good reason. As soon as the clock powers up, the LEDs shine through the thin red plastic in a clean glow that complements the rest of the clock nicely.

[Roberto]’s first version was a unit that worked similarly, but sealed everything away in a wedge-shaped enclosure that was just a little too sterile, featureless, and ugly for his liking. Hence this new version that takes the opposite approach. Clocks have long showcased their inner workings, and electronic clocks — like this circuit-sculpture design — are no exception.

The only components, besides the Raspberry Pi Zero W and the LED matrices, are the 3D-printed enclosure with a few hex screws and double-sided tape. Design files and code (including the FreeCAD project file) are available should you want to put your own spin on [Roberto]’s design.

How Small Can A Linux Executable Be?

2026-04-01 04:00:26

A hex dump of the first iteration of the small ELF file

With ever increasing sizes of various programs (video games being notorious for this), the question of size optimization comes up more and more often. [Nathan Otterness] shows us how it’s done by minifying a Linux “Hello, World!” program to the extreme.

A naive attempt at a minimal hello world in C might land you somewhere about 12-15Kb, but [Nathan] can do much better. He starts by writing everything in assembly, using Linux system calls. This initial version without optimization is 383 bytes. The first major thing to go is the section headers; they are not needed to actually run the program. Now he’s down to 173 bytes. And this is without any shenanigans!

A hexdump of the final ELF file, significantly smaller than the original
The final tiny ELF file

The first shenanigans are extreme code size optimizations: by selecting instructions carefully (and in a way a C compiler never would), he shaves another 16 bytes off. But the real shenanigans begin when he starts looking for spaces in the ELF header that he can clobber while the program is still accepted by Linux: now he can move his already tiny x86_64 code into these “vacant” spaces in the ELF and program headers for a final tiny ELF file weighing in at just 120 bytes.

P.S.: We know it is possible to make this smaller, but leave this as an exercise to the viewer.

An Oscilloscope The Way They Used To Be

2026-04-01 02:30:04

It’s likely that Hackaday has a readership with the highest percentage of oscilloscope ownership among any in the world, and we’re guessing that most of you who fit in that bracket have a modern digital instrument on your bench. It’s a computer with a very fancy analogue front end, and the traces are displayed in software. Before those were a thing though, a ‘scope was an all-analogue affair, with a vacuum-tube CRT showing the waveform in real time. [Joshua Coleman] has made one of these CRT ‘scopes from scratch, and we rather like it.

Using a vintage two inch round tube, it includes all the relevant power supplies and input amplifiers for the deflection plates. It doesn’t include the triggers and timebase circuitry you’d expect from a desktop instrument though, so unless you add a sawtooth on its X input it’s only good for some Lissajous figures. But that’s not the point of a project like this one, because it’s likely even the cheapest of modern ‘scopes way exceeds any capabilities it would have even if it were fully formed. It’s a talking point and an attractive demonstration of a bit of early-20th-century physics, which probably many of us would appreciate if it were ours.

A video of the device is below the break, meanwhile we’ve taken a look in the past at the prehistory of the oscilloscope.

Improving FDM Filament Drying With a Spot of Vacuum

2026-04-01 01:00:01

Art of 3D printer in the middle of printing a Hackaday Jolly Wrencher logo

Keeping your filament safely away from moisture exposure is one of the most crucial aspects of getting a good 3D print, with equipment like a filament dryer a standard piece of equipment to help drive accumulated moisture out of filament prior to printing or storage. Generally such filament dryers use hot air to accomplish this task over the course of a few hours, but this is not very efficient for a number of reasons. Increasing the vaporization rate of water without significantly more power use should namely be quite straightforward.

The key here is the vapor pressure of a liquid, specifically the point at which it begins to transition between its liquid and gaseous phases, also known as the boiling point. This point is defined by both temperature and atmospheric pressure, with either factor being adjustable. In a pressure cooker this principle is for example used to increase the boiling temperature of water, while for our drying purposes we can instead reduce the pressure in order to lower the boiling point.

Although a lower pressure is naturally more effective, we can investigate the best balance between convenience and effectiveness.

Vapor Pressure Of Water

The main thing that determines whether or not a substance is in a liquid or gaseous state is pressure from the surrounding gas, specifically the surrounding air or equivalent. Although some of the liquid’s molecules will gradually make their way into these surroundings, at e.g. atmospheric pressure at sea level you do not expect to see water instantly boil-off, whereas nitrogen and oxygen are fortunately all in a gaseous state until either very high pressures, very low temperatures or both.

How easy it is for a liquid to transition to a gas depends on its volatility, which itself is related to the strength of its intermolecular interactions. If these are rather weak then a liquid will transition into a gaseous state relatively easily, meaning at lower temperatures and lower pressures. For water this transition point at sea level is at about 100°C, but for people who live a km or more above sea level, this boiling point starts dropping rapidly.

These principles are used in a variety of ways, with many kitchens featuring a pressure cooker: this is a special pressurized pan that increases the boiling point of water by increasing the pressure inside the vessel, thus speeding up cooking times.

Vapor pressure schematic overview. (Source: Wikimedia)
Source: Wikimedia

Increasing pressure of a gas can also turn it back into a liquid, as is the case with for example liquefied petroleum gas (LPG) which is generally stored in pressurized containers. Similarly, in the case of liquefied natural gas (LNG), natural gas is gaseous at atmospheric pressure and room temperature, but is a liquid at -162°C, with some level of pressure above that atmospheric pressure also required. LNG superseded purely pressure-based storage methods in the form of CNG, which requires pressures over 200 bar (>20 MPa).

What we’re trying to do with heating up 3D printer filament and bags of forbidden candy is thus to increase the energy in the system, bringing it closer to the point where the trapped moisture can overcome the vapor pressure of the surrounding air and escape. Logically this means that if we can reduce the surrounding pressure by removing as much of the atmospheric gas as possible, this moisture can escape significantly easier.

Essentially what we need is a pressure cooker, just one that reduces pressure.

Inverted Pressure Cooker

The relation between pressure and temperature as far as the vapor pressure of water is concerned is well-documented. Intuitively at 0 Pa water will boil off practically instantaneously, as there is no vapor pressure from a surrounding atmosphere. The question for our purposes is however just how much we need to reduce the pressure to make a difference, i.e. how deep of a vacuum we need.

Water saturation pressure graphic. Credit: Engineering Toolbox
Credit: Engineering Toolbox

Looking at a relevant graph, such as this one from the Engineering Toolbox site, we can see that the relationship between pressure and temperature is fairly linear below atmospheric pressure at sea level at 100 kPa (1 bar). Rather than trying to hit some arbitrary point on this curve, we should instead look at what off-the-shelf options we have available that may work for us here.

Since there’s no need for us to hit some kind of ultra-high vacuum, it would be plenty to hit something below 1 kPa, which is absolutely achievable with even a consumer-grade roughing pump like a rotary vane pump. This type of pump is commonly used for silicone and resins in hobbyist applications, making it a solid first target. Theoretically these can vacuum dry filament and more at room temperature.

Another option we have are diaphragm pumps, which come in piston- and eccentric variants. These have the advantage of not requiring oil, and do not produce vaporized oil on their output that has to be captured or vented. They do not hit quite the same vacuum levels as rotary vane pumps, but they can be quite easily staged to improve the final vacuum.

Hot Or Not

Even with most of the gases evacuated around the material that we’re trying to extract moisture from, we still have the option to add thermal energy to hurry the water molecules along. If, for example, we can only hit a pressure of around 100 mbar, we would still need to raise the temperature significantly above room temperature to get the intended effect.

Even with the same PTC-type heater as used in off-the-shelf filament dryers, we could still save significant power and time as now the boiling temperature of the trapped water is less than 50°C. Whether or not this is a very significant difference is something which can be ascertained experimentally after we first get a baseline on what difference just changing the environmental pressure makes.

Thus, all that remains is obtaining some data by firing up a gaggle of vacuum pumps and writing down the results.

Running Experiments

A typical cheap single-stage rotary vane pump kit. (Credit: Maya Posch)
A typical cheap single-stage rotary vane pump kit. (Credit: Maya Posch)

The most straightforward experiment involves the use of a budget rotary vane pump and associated vacuum chamber. Here I picked up a Vevor 3.5 CFM single-stage rotary vane pump (model KQ-1K) rated for 150 Watt along with an 11 L vacuum chamber. Unfortunately the first pump that I received was defective and sounded like someone had lost a bag of spanners inside it while running, while only hitting a sad final vacuum of ~400 mbar.

Fortunately the replacement unit seemed to work a lot better and hit -1 bar on the chamber’s vacuum gauge along with a happy burst of nebulized oil from the pump’s air-oil separator. It was finally time to load up the chamber with some wet things.

Samples prior to loading into vacuum chamber. (Credit: Maya Posch)
Samples prior to loading into vacuum chamber. (Credit: Maya Posch)

As testing the moisture content in a spool of filament is tricky at best, I instead opted for two much easier indicators of vacuum drying chops: a bag of color-changing (cobalt(ii) chloride-containing) silica desiccant and juicy pieces of fruit (apple and banana). The latter items being mostly because it’s a fun experiment and dried fruit is tasty, plus it’s another way to judge drying capacity.

After loading in the samples, the chamber had a vacuum pulled, with the pump managing 10-20 mbar. This is approximately one light-year away from the advertised 5 Pa, but then nobody trusts marketing on non-laboratory equipment. Other than there being clear bubbling/boiling of fluids being visible on the apple piece as the vacuum formed there was little to observe.

After letting it rest for approximately 24 hours the chamber was checked and confirmed to have retained its vacuum level. Ignoring physical changes, the samples’ weight were compared to their pre-vacuum exposure. This gave the following results:

  • Apple: originally 53.23 grams, final weight 51.76 grams. Decreased 1.76 grams.
  • Banana: from 41.64 grams to 40.58 grams. Decreased 1.06 grams.
  • Desiccant: from 3.12 grams to 3.78 grams. Gained 0.66 grams.

This shows that the fruit definitely lost some moisture, while the silica desiccant wasn’t saturated yet and kept doing its thing. As for the effect on the fruit, the apple looked fresh and other than a slightly dryer outer layer was still moist and tasty. The piece of banana had however turned gooey and was not very appetizing any more.

As an aside, the Vevor pump also got rather hot after a few minutes, with cloudy oil in the reservoir, so the best way forward here might be to invest in a second-hand twin-stage lab-level pump instead.

Diaphragm Time

Two diaphragm vacuum pump setups with high-tech jam jar vacuum vessel. (Credit: Maya Posch)
Two diaphragm vacuum pump setups with high-tech jam jar vacuum vessel. (Credit: Maya Posch)

With those results in hand, we still got two more vacuum setups: the two types of diaphragm pumps. Both are readily available via any online shopping platform, with the micropumps available for about $5 a pop, as they’re commonly used in e.g. vacuum packaging devices. The larger eccentric pumps are also found everywhere, but come in significantly pricier, even if they can pump a much larger volume per minute.

Weighing the forbidden candy before some vacuum time. (Credit: Maya Posch)
Weighing the forbidden candy before some vacuum time. (Credit: Maya Posch)

Here the micropumps are connected in a four-stage configuration, while the eccentric pumps feature a two-stage configuration. Both use the same vacuum chamber, being a repurposed glass jam container. Not only is jam rather tasty, their glass jars are also designed to maintain a vacuum for extended periods of time as part of the preservation process, making them excellent small vacuum chambers.

We run the same experiment as before, but only with the silica desiccant. This shows a rather similar outcome, just with these pumps not hitting quite the same final vacuum. For the twin-stage eccentric pump setup the final vacuum was about 100 mbar, and the quad-stage micropump system hit 60 mbar.

Much like with the rotary vane pump experiment, there was no clearly visible color change to the desiccant. The weight remained unchanged from an initial 3.26 grams, taking into account the variability of those cheap ‘precision’ scales, even after calibration.

Discussion

These filament dryers would look better with some vacuum. (Credit: Maya Posch)
These filament dryers would look better with some vacuum. (Credit: Maya Posch)

What these experiments make clear is that merely having a low vapor pressure isn’t a silver bullet when you want to remove moisture from silica desiccant or unsuspecting pieces of fruit. It also shows why vacuum packing foodstuffs is a good way to keep them fresh for longer, as leaving a piece of apple lying around on a kitchen counter for a day would result in a far less tasty result.

The application of thermal energy is thus apparently not just a good idea, but might be the best way to make moisture hurry up in evacuating from a sample, especially when water is bound to e.g. a desiccant. For the next stage of this vacuum drying adventure we’ll thus be looking at putting vacuum chambers into some kind of thermal chamber, like a confused mixture of an autoclave and pressure cooker. Here the main question is the selection of the optimal heating solution, which is where again there are many choices.

This should reveal whether the <100 mbar of the cheaper, 12 VDC-powered diaphragm pump setup is enough to make it a competitor to the mains-powered rotary vane pump for this purpose. Beyond this there is also the question in how far existing filament dryers could be retrofitted to support some level of vacuum, as well as potential vacuum storage.

Any thoughts, notes, references and more on this topic are most welcome.