Louia ObScura is not recommended for real-world use, although I did put it into real-world operation on November 18th, 2025 on a Pico 2 WH board that I bought at a local computer store in September 2025 (my first Pico), as that was its intended purpose for me.  I later released the source on November 27th, 2025 for perusal and inspiration and published a summary of this project here to specifically draw more attention to 5 obscure and underappreciated technologies and/or concepts that made this possible:

Like the more-popular Raspberry Pi Picos, Lua, of course, is not obscure to many, especially Roblox or NodeMCU programmers or those that use it in gaming or networking contexts, but it never gets near the top of the TIOBE index, which saddens me.  But even so, I have yet to see someone else write a program on the Picos in MicroLua (and Lua is currently my favorite general-purpose programming language), which is likely due to the lack of NodeMCU for those RP2350/RP2040 MCUs (unlike the ESP8266/ESP32 series) along with the more popular MicroPython and C, which are officially supported on the Picos.

In order to port my Linux and Pi Zero-based Louia Spartan server that I wrote in early 2025 to run on Lua 5.1/LuaJIT to a smaller MCU, I first identified the Pico 2 W and MicroLua as being well-suited to this task (the header version of the board only cost me $7.99 at a local computer store) and even reminds me of my old Commodore 128 in some ways, a futuristic 8-bit computer that I received for Christmas in 1985, as the Pico 2 series has multiple CPUs of different architectures inside and is faster and has double the RAM of its popular predecessor.  However, the Pico 2 W is not officially supported by MicroLua to date, another reason why it likely hasn't gained traction, and the fact that the developer does not accept code contributions directly likely slows its acceptance as well.

But MicroLua is a work of art, in my opinion, and I did manage to get it working on both the Pico 2 W (with some limitations) and the well-supported original Pico W (albeit with half the memory and flash), and I hope the developer stays with it.  Python 3's asyncio tasks within built-in event loops is analogous to what I did in Lua (although I have never used them in Python, only its multithreading and multiprocessing).  And coroutines are such a simple way to incorporate cooperative multithreading without the overhead, ideal for a small MCU, and yet they still remain fairly obscure, since most of the examples I see online and even the official Lua programming examples, are on the client side, often smartphone clients.

Well web servers, or Spartan servers which are analogous, need such multithreading for concurrent processing of multiple TCP/IP requests.  They're often called "threads" for simplicity when what is really meant here is coroutine.  If you've never used Lua's coroutines, something it had during its inception before other languages like Python even incorporated them, I highly suggest you take a look at them.  Or if your preferred language supports them, try them there just to familiarize yourself with the concept; they're like subroutines that simply allow you to pause them in mid-process and jump out of them and jump back into them later where you left off, even passing variables, solving blocking issues by their very nature.  Of course, preemptive operating systems saved us from the fallacy of relying on cooperation with 3rd party or buggy tasks that failed to yield, but if it is for something highly-controlled, small, and non-critical, it can be very efficient.

But once you've got Lua and coroutines understood, getting them working on a Pico under MicroLua has its own technical hurdle, which I had to solve before even getting a full successful compile, and embedded programming in general is very opaque and obscure in its own right in comparison with...

Read more »