For developers who believe that true minimalism means ditching the keyboard entirely, a new tool called Morstdio is pushing the boundaries of embedded Linux interaction. Created by gbkorr, this shell script enables full command-line interface (CLI) access to a Linux distribution using nothing more than a boot button for input and a user LED for output. The project, hosted on Hacker News, targets the Luckfox Lyra, a $15 single-board computer (SBC) that runs Ubuntu, demonstrating that a complete OS can be operated without screens, keyboards, or even ADB connections.
The Rise of 'Programmer Morse'
Traditional Morse code lacks the necessary symbols for programming, so the developer created a custom dialect dubbed 'programmer morse' or 'pmorse.' This new standard incorporates all missing ASCII symbols and solves the ambiguity of pause timing by using long dashes to denote spaces. The interface relies on three specific durations: dash length (button press duration), space length, and charpause. This system allows for a 'vim-like' command structure where actions are prefixed with a colon, such as ':w' to execute a line, ':s' to delete a word, and ':r' to repeat stdout. The script provides distinct flash feedback for successful commands, ensuring users know if they’ve mistyped before executing destructive actions.
Running LLMs on 128MB of RAM
The project’s most surprising capability is its integration with local Large Language Models. The developer successfully compiled llama-cli from source within a Docker container matching the board’s Ubuntu 22.04 environment. Despite the Luckfox Lyra’s meager 128MB of RAM, the device runs Qwen3.5-0.8B-Q4_0, a small but capable chatbot model. While performance is glacial—generating approximately one token per minute after an eight-minute startup—the setup proves that even ultra-low-power SBCs can host functional AI agents. The developer describes this configuration as potentially the 'physically smallest self-contained chatbot anyone has ever made,' pending battery integration.
Practical Limitations and Workflow
Morstdio is not a replacement for standard debugging workflows; it is a proof of concept for 'naked' Linux usage. The interface cannot handle function calls that wait for user input, such as read or interactive bash sessions, which will hang the script. Additionally, standard bash hotkeys like arrow keys or Ctrl+C are unavailable, requiring users to rely on custom cut/copy/paste commands and history expansion like !! for navigation. Setup involves pushing the morstdio.sh script to /sdcard/ and appending it to /etc/rc.local to run on boot, a method that risks disabling ADB access if the startup script crashes.
Key Takeaways
- Morstdio enables full shell interaction on a $15 Luckfox Lyra SBC using only a button and LED.
- The custom 'pmorse' dialect adds ASCII symbols and uses long dashes for spaces to reduce parsing ambiguity.
- The device can run Qwen3.5-0.8B-Q4_0 via llama-cli, generating ~1 token/minute despite having only 128MB RAM.
- Interaction is limited to non-blocking commands; interactive shells or
readfunctions will hang the system. - Setup requires modifying
/etc/rc.local, carrying a risk of boot failure if the script errors.
The Bottom Line
While impractical for daily development, Morstdio is a masterclass in resource-constrained UX design. It proves that with enough creativity, even the most limited hardware can serve as a functional Linux workstation. The project highlights a growing trend in edge computing where developers are finding ways to squeeze complex functionality, including AI inference, into hardware with negligible resources. For embedded developers who find themselves without a serial console, Morstdio offers a fascinating, albeit slow, fallback option.