Low-Cost, Portable Streaming Server

Thanks to the Raspberry Pi, we have easy access to extremely inexpensive machines running Linux that have all kinds of GPIO as well as various networking protocols. And as the platform has improved over the years, we’ve seen more demanding applications on them as well as applications that use an incredibly small amount of power. This project combines all of these improvements and implements a media streaming server on a Raspberry Pi that uses a tiny amount of energy, something that wouldn’t have been possible on the first generations of Pi.

Part of the reason this server uses such low power, coming in just around two watts, is that it’s based on the Pi Zero 2W. It’s running a piece of software called Mini-Pi Media Server which turns the Pi into a DLNA server capable of streaming media over the network, in this case WiFi. Samba is used to share files and Cockpit is onboard for easy web administration. In testing, the server was capable of streaming video to four different wireless devices simultaneously, all while plugged in to a small USB power supply.

For anyone who wants to try this out, the files for it as well as instructions are also available on a GitHub page. We could think of a number of ways that this would be useful over a more traditional streaming setup, specifically in situations where power demand must remain low such as on a long car trip or while off grid. We also don’t imagine the Pi will be doing much transcoding or streaming of 4K videos with its power and processing limitations, but it would be unreasonable to expect it to do so. For that you’d need something more powerful.

Continue reading “Low-Cost, Portable Streaming Server”

FLOSS Weekly Episode 858: YottaDB: Sometimes The Solution Is Bigger Servers

This week Jonathan chats with K. S. Bhaskar about YottaDB. This very high performance database has some unique tricks! How does YottaDB run across multiple processes without a daemon? Why is it licensed AGPL, and how does that work with commercial deployments? Watch to find out!

Continue reading “FLOSS Weekly Episode 858: YottaDB: Sometimes The Solution Is Bigger Servers”

Running A Minecraft Server On A WiFi Light Bulb

WiFi-enabled ‘smart’ light bulbs are everywhere these days, and each one of them has a microcontroller inside that’s capable enough to run all sorts of interesting software. For example, [vimpo] decided to get one running a minimal Minecraft server.

The Bl602-equipped board inside the LED lightbulb. (Credit: vimpo, YouTube)
The Bl602-equipped board inside the LED lightbulb. (Credit: vimpo, YouTube)

Inside the target bulb is a BL602 MCU by Bouffalo Lab, that features not only a radio supporting 2.4 GHz WiFi and BLE 5, but also a single-core RISC-V CPU that runs at 192 MHz and is equipped with 276 kB of RAM and 128 kB flash.

This was plenty of space for the minimalist Minecraft server [vimpo] wrote several years ago. The project says it was designed for “machines with limited resources”, but you’ve still got to wonder if they ever thought it would end up running on a literal lightbulb at some point.

It should be noted, of course, that this is not the full Minecraft server, and it should only be used for smaller games like the demonstrated TNT run mini game.

Perhaps the next challenge will be to combine a large set of these light bulbs into a distributed computing cluster and run a full-fat Minecraft server? It seems like a waste to leave the BL602s and Espressif MCUs that are in these IoT devices condemned to a life of merely turning the lights on or off when we could have them do so much more.

Continue reading “Running A Minecraft Server On A WiFi Light Bulb”

Yes, Gemini, A Wii Server Is Possible

When [Reit Tech] needed something to do with an old Nintendo Wii, he turned to Google. When the AI overview told him it could not be used as a server, he had his mission: prove that clanker wrong. It already runs Doom, so what else is there to do?

Of course should not that hard: Linux has been available on the Wii for years now. In fact there are several; he settles on “Arch, btw”, after trying Debian, Ubuntu, and even NetBSD. “Of course it runs NetBSD”– but NetBSD didn’t work with his USB network adapter, which is sadly as predictable as the hardware running NetBSD.

OK, it’s not vanilla Arch; it’s the Wii-Linux Continuation Project, based on ArchPOWER fork that compiles Arch for PPC. As the young YouTuber was surprised to discover, despite not being a PC or particularly powerful, the Wii has a PowerPC CPU. (He might be younger than the console, so we’ll give him a pass.) Wii-Linux couldn’t run the USB adapter either (appropriate apologies were offered to NetBSD), but it turns out the internal Ethernet adapter was available all along.

As a file server, python-based Copyparty worked flawlessly, but the rust-based Minecraft server he picked was not particularly usable. A little optimization would fix that, since you can serve Minecraft from an ESP32 and the Wii absolutely has more horsepower than that. Doubtless he could have loaded a web-server, and proved Google’s AI summary wrong, but the iPad-induced ADHD we all suffer from these days kicks in, so he settled for posting a screenshot of someone else’s blog, hosted on a Wii from NetBSD. So the LLM was wrong from the get-go, but the tour of “what home-brew loaded OSes still work in 2025” was certainly educational.

We could hunt that Wii-based blog down for you, but we’d be reluctant to link to it anyway: while the AI summary is wrong, and you can use the Wii as a server, that doesn’t mean it makes a good one. We’d don’t feel the need to inadvertently DDOS some poor unsuspecting shmuck’s Nintendo, so we’ll let you try and find it yourself.

Just be warned that all of this Wii hacking may not rest on the best of foundations. Continue reading “Yes, Gemini, A Wii Server Is Possible”

ESP32 Hosts Functional Minecraft Server

If you haven’t heard of Minecraft, well, we hope you enjoyed your rip-van-winkle nap this past decade or so. For everyone else, you probably at least know that this is a multiplayer, open world game, you may have heard that running a Minecraft server is a good job for maxing out a spare a Raspberry Pi. Which is why we’re hugely impressed that [PortalRunner] managed to squeeze an open world onto an ESP32-C3.

Of course, the trick here is that the MCU isn’t actually running the game — it’s running bareiron, [PortalRunner]’s own C-based Minecraft server implementation. Rewriting the server code in C allows it to be optimized for the ESP32’s hardware, but it also let [PortalRunner] strip his server down to the bare essentials, and tweak everything for performance. For example, instead of the multiple octaves of Perlin noise for terrain generation, with every chunk going into RAM, he’s using the x and z of the corners as seeds for the psudorandom rand() function, and interpolating between them. Instead of caves being generated by a separate algorithm, and stored in memory, in bareiron the underground is just a mirror-image of the world above. Biomes are just tiled, and sit separately from one another.

So yes, what you get from bareiron is simpler than a traditional Minecraft world — items are simplified, crafting is simplified, everything is simplified, but it’s also running on an ESP32, so you’ve got to give it a pass. With 200 ms to load each chunk, it’s playable, but the World’s Smallest Minecraft Server is a bit like a dancing bear: it’s not about how well it dances, but that it dances at all.

This isn’t the first time we’ve seen Minecraft’s server code re-written: some masochist did it in COBOL, but at least that ran on an actual computer, not a microcontroller. Speaking of low performance, you can’t play Minecraft on an SNES, but you can hide the game inside a cartridge, which is almost as good.

Thanks to [CodeAsm] for the tip. Please refer any other dancing bears spotted in the wild to our tips line.

Continue reading “ESP32 Hosts Functional Minecraft Server”

From Smartphone To A Home Server

Some people like their homelabs to be as big and fancy as possible, with racks of new or surplus server hardware sucking down power. [Hardware Haven] evidently has the opposite idea, given he just made a video about making the cheapest, smallest server possible: an Android phone.

Sure, it’s not going to be streaming terabytes of data at multiple gigabytes per second, but that’s not everyone’s use case. Don’t forget, flagship phones had multiple cores and gigabytes of RAM a decade ago, so even an old and busted smartphone has more than enough power for something like Home Assistant, which is what gets installed in this video.

After considering loading termux and rooting his device for Docker-on-Android, he opted for postmarketOS, the premiere Linux for old smartphones. That’s not because the Linux environment you get with termux wouldn’t work; it’s just that he wanted something native. To that end, he bought a somewhat worse-for-wear Xiaomi Mi A1 from eBay to get hardware Alpine-based postmarket could use.

Software wise, it was just a matter of following instructions and reading manuals — Linux is Linux, after all. The firewall proved to be his main challenge, though trying to branch out from Home Assistant to run Minecraft Server did run into Java issues [Hardware Haven] had no interest in troubleshooting. Hardware wise, though, well — do you want to leave a phone plugged in permanently? Smokey the Bear suggests you not, especially if you live near a forest. Besides, you probably don’t want your server on WiFi, and at least this smartphone wouldn’t charge when using a networking dongle.

That meant phone surgery: the battery came out, and 5 V from an old USB charger was piped into the battery charge controller via a diode. The diode was used for its voltage drop, to bring the 5 V supply down to a believable battery voltage — a buck converter might have been better, but you use what you have, and the diode drop doesn’t dissipate much power. Power dissipation is still one watt at idle, six during a stress test.

Given how cheap the phone was, and how little power this thing sips, [Hardware Heaven] has an excellent answer to those who say homelabbing is a rich person’s hobby. This project also reminds us that while our phones might not be as hackable as we’d like, they’re still far from totally locked down. You can even run NixOS on (some of) them.

Continue reading “From Smartphone To A Home Server”

Picture of front and back of thumb drive enclosure

Jcorp Nomad: ESP32-S3 Offline Media Server In A Thumbdrive

[Jackson Studner] wrote in to let us know about his ESP32-based media server: Jcorp Nomad.

This project uses a ESP32-S3 to create a WiFi hotspot you can connect to from your devices. The hotspot is a captive portal which directs the user to a web-interface comprised of static HTML assets which are in situ with the various media on an attached SD card formatted with a FAT32 file system. The static HTML assets are generated by the media.py Python 3 script when the ESP32 boots.

This project exists because the typical Raspberry Pi media server costs more than an ESP32 does. The ESP32 is smaller too, and demands less power.

According to [Jackson] this ESP32-based solution can support at least four concurrent viewers. The captive portal is implemented with DNS and HTTP services from the ESP32. The firmware is an Arduino project that integrates a bunch of libraries to provide the necessary services. The Jcorp Nomad media template supports Books (in pdf files), Music (in mp3 files), and Movies and Shows (in mp4 files). Also there is a convention for including JPEG files which can represent media in the user-interface.

And the icing on the cake? The project files include STL files so you can 3D print an enclosure. All in all, a very nice hack.