Green Powered Challenge: Solar Powered Pi Hosts Websites In RAM

If you started with computers early enough, you’ll remember the importance of the RAMdisk concept: without a hard drive and with floppies slow and swapping constantly, everything had to live in RAM. That’s not done much these days, but [Quackieduckie]’s solar powered Pi Zero W web server has gone back to it to save its SD card.

Sustainability and low power is the name of the game. Starting with a Pi Zero W means low power is the default; a an SLS-printed aluminum case that doubles as the heat sink– while looking quite snazzy–saves power that would otherwise be used for cooling. The STLs are available through the project page if you like the look and have a hankering for passively cooled Pi. Even under load [Quackieduckie] reports temperatures of just 29.9°C,  less than a degree over idle.

The software stack is of course key to a server, and here he’s using Alpine Linux running in “diskless mode”– that’s the equivalent of what us oldsters would think of as the RAMdisk. That’s not that unusual for servers, but we don’t see it much on these pages. It’s a minimal setup to save processing, and thus electrical power, with only a handful of services kept running: lighttpd, a lightweight webserver, and duckiebox, a python-based file server, along with SSHD and dchron; together they consume 27 MB of RAM, leaving the rest of the 512 MB DDR2 the Pi comes with to quickly serve up websites without the overhead of SD card access.

As a webserver, [Quackieduckie] tested it with 50 simultaneous connections, which would be rather a lot for most small, personal web sites, and while it did slow down to an average 1.3s per response that’s perfectly usable and faster than we’d have expected from this hardware. While the actual power consumption figures aren’t given, we know from experience it’s not going to be drawing more than a watt or so. With a reasonably sized battery and solar cell– [Quackieduckie] suggests 20W–it should run until the cows come home.

This isn’t the first solar-powered web server we’ve seen, but this one was submitted for the 2026 Green Powered Challenge, which runs until April 24th.

Making The Forgotten 1982 Game Adventure Canoe Run On MAME

A Taito Egret II mini arcade cabinet.
A Taito Egret II mini arcade cabinet.

A while back [Jack] came across a Taito arcade game that neither he nor any of his mates recognized. The game was Adventure Canoe and part of the collection of forty preinstalled games on a Taito Egret II mini arcade cabinet. Yet despite [Jack] and his buddies being avid 1980s arcade enthusiasts, this 1982 title for the Z80-based Taito SJ system was completely unfamiliar to them.

When even a web search turned up extremely few details, [Jack] did the only reasonable thing and borrowed the rather expensive mini arcade for hopefully some extracting of the game ROM.

As expensive as this mini arcade is, it features the typical ARM-based SoC and Linux-based firmware. Although you can totally dump the Flash, [Jack] found that the firmware update ZIP file was a much easier target to poke at and hopefully extract the ROMs from.

Of course, Taito used password-protected ZIP files within the firmware, leading to some reverse-engineering to find the passwords. The first was ‘hidden’ as plain text in the egret2 binary. For the remainder of the ZIP files the password wasn’t as readily found, but required some sleuthing. This took the form of dynamic runtime analysis with gdb, using information previously gleaned from a Ghidra analysis. Eventually this yielded the final passwords.

Extracting the game’s ROM files this way allowed for them to be adapted to the format that MAME expects, after which the game just had to be added to the emulator’s source files. With this done the game fired right up, and [Jack] was able to play the game without any trouble.

Passive Radar Explained

It is an old trope in submarine movies. A sonar operator strains to hear things in the ocean but dares not “ping” for fear of giving away the boat’s location. Radar has a similar problem. If you want to find an airplane, for example, you typically send a signal out and wait for it to bounce off the airplane. The downside is that the airplane now knows exactly where your antenna is and, these days, may be carrying missiles to home in on it. In a recent post, [Jehan] explains how radar, like sonar, can be passive.

Even if you aren’t worried about a radar-homing missile taking out your antenna, passive radar has other advantages. You don’t need an expensive transmitter or antenna, a simple SDR can pull it off. You don’t need a license for the frequencies you want to use, either. You are just listening.

Continue reading “Passive Radar Explained”

Testing Refrigerants And Capillary Tubes To Find Peak Performance

Heat lift graphs. (Credit: Hyperspace Pirate, YouTube)
Heat lift graphs. (Credit: Hyperspace Pirate, YouTube)

Although vapor-compression refrigeration is a simple concept, there are still a lot of details in the implementation of such a system that determines exactly how efficient it is. After making a few of such systems, [Hyperspace Pirate] decided to sit down and create a testing system that allows for testing of many of these parameters.

Some of the major components that determine the coefficient of performance (COP) of a heat pump or similar system include the used refrigerant, as well as the capillary tube diameter or expansion valve design. For the testing in the video three refrigerants are used: R600 (N-Butane), R134a (tetrafluoroethene, AKA Freon) and R290 (propane), with R134a being decidedly illegal in places like the EU. The use of R600 instead of R600A is due to the former allowing for a lower pressure system, which is nice for low-power portable systems.

The test rig has the typical fresh-from-the-scrap-heap look that we’re used to and love from [Hyperspace Pirate], but does exactly what it says on the tin, and is easy for any DIY enthusiast to replicate. Which compressor to pick for a specific refrigerant is also covered in the video, along with oil type and more.

For basic systems you’d use a simple capillary tube, whereas an airconditioner or similarly more complex system would use an adjustable valve design. With the rig you can test the efficiency of different tube diameters, with three sizes available in this version. Unfortunately the electronic expansion valve (EEV) that was going to be used didn’t get a chance to shine due to unforeseen events.

With the R134a and butane a COP of 2.0 – 2.5 was achieved when taking power factor into account, which was reasonable considering a compressor was used that targets R134a. Regardless, if you have ever felt like repurposing that old compressor from a fridge or AC unit, this might be a fun afternoon project.

Continue reading “Testing Refrigerants And Capillary Tubes To Find Peak Performance”

Kiki Is The Unknown Array Language

Kiki bills itself as the “array programming system of unknown origin.” We thought it reminded us of APL which, all by itself, isn’t a bad thing.

The announcement post is decidedly imaginative. However, it is a bit sparse on details. So once you’ve read through it, you’ll want to check out the playground, which is also very artistically styled.

If you explore the top bar, you’ll find the learn button is especially helpful, although the ref and idiom buttons are also useful. Then you’ll find some examples along with a few other interesting tidbits.

Continue reading “Kiki Is The Unknown Array Language”

An orange silicone sheet is shown in front, with depressions in the shape of a 7-segment character "4". A man's hand is holding a pipe leading to a series of needles, which enter the block behind the silicone sheet.

A Suction-Driven Seven-Segment Display

There’s a long history of devices originally used for communication being made into computers, with relay switching circuits, vacuum tubes, and transistors being some well-known examples. In a smaller way, pneumatic tubes likewise deserve a place on the list; [soiboi soft], for example, has used pneumatic systems to build actuators, logic systems, and displays, including this latching seven-segment display.

Each segment in the display is made of a cavity behind a silicone sheet; when a vacuum is applied, the front sheet is pulled into the cavity. A vacuum-controlled switch (much like a transistor, as we’ve covered before) connects to the cavity, so that each segment can be latched open or closed. Each segment has two control lines: one to pressurize or depressurize the cavity, and one to control the switch. The overall display has four seven-segment digits, with seven common data lines and four control lines, one for each digit.

The display is built in five layers: the front display membrane, a frame to clamp this in place, the chamber bodies, the membrane which forms the switches, and the control channels. The membranes were cast in silicone using 3D-printed molds, and the other parts were 3D-printed on a glass build plate to get a sufficiently smooth, leak-free surface. As it was, the display used a truly intimidating number of fasteners to ensure airtight connections between the different layers. [soiboi soft] used the display for a clock, so it sits at the front of a 3D-printed enclosure containing an Arduino, a small vacuum pump, and solenoid valves.

This capacity for latching and switching, combined with pneumatic actuators, raises the interesting possibility of purely air-powered robots. It’s even possible to 3D-print pneumatic channels by using a custom nozzle.

Thanks to [Norbert Mezei] for the tip!

Implementing PCIe Over Fiber Using SFP Modules

Although we can already buy commercial transceiver solutions that allow us to use PCIe devices like GPUs outside of a PC, these use an encapsulating protocol like Thunderbolt rather than straight PCIe. The appeal of  [Sylvain Munaut]’s project is thus that it dodges all that and tries to use plain PCIe with off-the-shelf QSFP transceivers.

As explained in the intro, this doesn’t come without a host of compatibility issues, least of all PCIe device detection, side-channel clocking and for PCIe Gen 3 its equalization training feature that falls flat if you try to send it over an SFP link. Fortunately [Eli Billauer] had done much of the leg work already back in 2016, making Gen 2 PCIe work over SFP+.

The test setup involves a Raspberry Pi 5 on a PCIe breakout board and a PCIe card connected to the whole QSFP intermediate link with custom SFP module PCBs for muxing between PCIe edge connector or USB 3.0 connectors to use those cheap crypto miner adapter boards. The fiber is just simple single-mode fiber. Using this a Gen 2 x1 link can be created without too much fuss, demonstrating the basic principle.

Moving this up to Gen 3 will be challenging and will be featured in future videos, involving more custom PCBs. With Gen 5 now becoming standard on mainboards, it would be great to see this project work for Gen 3 – 5 at link sizes of x4 and even x16 so that it might be able to run external GPUs at full bandwidth unlike Thunderbolt.

Thanks to [zoobab] for the tip.

Continue reading “Implementing PCIe Over Fiber Using SFP Modules”