# \[EOL\] Astralixi Lyra OS Megathread

**URL:** <https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027>\
**Category:** PicoCalc\
**Tags:** os, c, opensource, firmware, luckfox-lyra\
**Created:** [June 15, 2025, 10:35am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027 "2025-06-15T10:35:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 15, 2025, 10:35am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/1 "2025-06-15T10:35:18Z")

</div>

This thread is outdated. A newer version of Astralixi is available, that is targetted towards space enthusiasts.

**END OF LIFE**

---

<div class="post-metadata">

**Author:** ![yatli](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yatli/32/6253_2.png) [@yatli](https://forum.clockworkpi.com/u/yatli)\
**Post date:** [June 15, 2025, 10:50am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/2 "2025-06-15T10:50:51Z")

</div>

> [@I'm looking for people to make APPS for my OS](https://forum.clockworkpi.com/t/im-looking-for-people-to-make-apps-for-my-os/17992):
>
> You can make the app anything you want but make sure it is extremly optimised, and doesn’t take more than 64kb of ram. Also before making the app in MMBasic, please give me your app idea before starting. Also the OS can only support 16 basic colours which I will tell you about later. These apps most likely won’t come with the OS, but they will be on a github page, for specically designed apps for the OS.

> [@I'm looking for people to make games for Astralixi OS!](https://forum.clockworkpi.com/t/im-looking-for-people-to-make-games-for-astralixi-os/17974):
>
> I want people to make the game in C for my OS for the PicoCalc, but the game should be VERY ram efficient, it should take less than 64kb of ram, etc. If you want more info, or have any questions please comment!

Could you consolidate these threads?

---

<div class="post-metadata">

**Author:** ![snipeytje](https://avatars.discourse-cdn.com/v4/letter/s/2bfe46/32.png) [@snipeytje](https://forum.clockworkpi.com/u/snipeytje)\
**Post date:** [June 15, 2025, 3:55pm UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/3 "2025-06-15T15:55:47Z")

</div>

Without a published API all these threads are not going to go beyond vague commitment

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 1:54am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/4 "2025-06-16T01:54:45Z")

</div>

why do you need an API?

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 1:55am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/5 "2025-06-16T01:55:06Z")

</div>

I am deleting those two threads, and having everything in this one.

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 2:55am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/6 "2025-06-16T02:55:52Z")

</div>

I do highly reccomend using C for the apps, as if you use MMBasic I will have to convert the code to C

---

<div class="post-metadata">

**Author:** ![tabemann](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@tabemann](https://forum.clockworkpi.com/u/tabemann)\
**Post date:** [June 16, 2025, 3:45am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/7 "2025-06-16T03:45:35Z")

</div>

One thing I should ask is what are your goals for your OS, and what will it have that MMBasic, uLisp, zeptoforth, MicroPython, Fuzix, etc. don’t?

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 3:48am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/8 "2025-06-16T03:48:43Z")

</div>

It will be more efficient on ram, while having a whole load of extra commands which the others didn’t have. It will also blend the best functions from all of those and put it in one, for ease of use. etc

---

<div class="post-metadata">

**Author:** ![maple](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/maple/32/12677_2.png) [@maple](https://forum.clockworkpi.com/u/maple)\
**Post date:** [June 16, 2025, 4:06am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/9 "2025-06-16T04:06:33Z")

</div>

if there is no shared API or library that the programs use, what makes it an OS rather than just a compilation of programs? 🙂

---

<div class="post-metadata">

**Author:** ![tabemann](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@tabemann](https://forum.clockworkpi.com/u/tabemann)\
**Post date:** [June 16, 2025, 4:14am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/10 "2025-06-16T04:14:17Z")

</div>

What kind of design are you looking at? Single-tasking, cooperative multitasking, preemptive multitasking? Single-user or multi-user? Language REPL or a non-REPL command line shell (à la CP/M or Fuzix)? And if it uses a language REPL, what language? Executing solely out of SRAM, or supporting executing with the Quad SPI flash’s XIP mode? As this is for a PicoCalc how do you plan on interfacing with devices such as the display, the STM32 MCU, the SD card, and PWM sound? How do you plan on supporting filesystems? Graphical framebuffer, text-only character/attribute buffer, or directly writing to the display without any buffering (this is very relevant to your RAM requirements). If you do use a framebuffer, what color depth will you support (a 16-bit 320x320 framebuffer is likely to be prohibitively large, you may want to use an 8-bit framebuffer and upconvert when transferring pixels to the display over SPI, or you may even want to take advantage of the display’s 3-bit color mode)? You give vague, general goals, but you don’t seem to specify what kind of design you will have that will achieve these goals.

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 4:23am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/11 "2025-06-16T04:23:52Z")

</div>

It will have a 4bit graphic mode, it will use a FAT32 filesystem, it will have singletasking at the start, single user, and it will have a command line with many custom commands. It will have to run within 64kb of ram.

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 4:24am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/12 "2025-06-16T04:24:14Z")

</div>

I haven’t made the library yet.

---

<div class="post-metadata">

**Author:** ![tabemann](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@tabemann](https://forum.clockworkpi.com/u/tabemann)\
**Post date:** [June 16, 2025, 5:07am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/13 "2025-06-16T05:07:07Z")

</div>

What do you mean exactly by ‘custom commands’? Do you mean that it will have a command line shell with an assortment of commands hard-coded into it? If you are going down that route I’d personally suggest, instead of hard-coding many commands, implementing something akin to a traditional Unix shell, where the shell provides the core shell language but most commands are implemented as loading executables on the fly.

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 5:09am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/14 "2025-06-16T05:09:11Z")

</div>

I’m going to be hard coding the commands, as it is quite enjoyable.

---

<div class="post-metadata">

**Author:** ![tabemann](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@tabemann](https://forum.clockworkpi.com/u/tabemann)\
**Post date:** [June 16, 2025, 5:13am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/15 "2025-06-16T05:13:07Z")

</div>

But what about extensibility, for instance? While there may be value in integrating common commands into the shell to save space by sharing code, you probably want to make it so that commands can be added transparently by the user without modifying the shell and so that commands provided by others behave just the same way as command built into the shell.

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 5:18am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/16 "2025-06-16T05:18:53Z")

</div>

So, you’re basically saying that I should implement a system that the user can add its own set of commands, above the per-existing commands?

Also, do you want to make any apps for it?

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 16, 2025, 8:30am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/17 "2025-06-16T08:30:08Z")

</div>

[![](https://img.youtube.com/vi/AGMypUX4-64/hqdefault.jpg "Astralixi OS Devlog: SPI Chaos & FAT32 Fights") ](https://www.youtube.com/watch?v=AGMypUX4-64)

---

<div class="post-metadata">

**Author:** ![tabemann](https://avatars.discourse-cdn.com/v4/letter/t/df705f/32.png) [@tabemann](https://forum.clockworkpi.com/u/tabemann)\
**Post date:** [June 16, 2025, 3:11pm UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/18 "2025-06-16T15:11:46Z")

</div>

Yes, the user should be able to add their own commands ─ think Unix shells, where arbitrary commands start new processes that invoke user-supplied executables. You should really look at how existing shells, including Unix shells, Forth REPL’s, Lisp REPL’s, the MicroPython REPL, and like do things before you move forward.

As for my making apps for it, to be honest, I am the primary author of my own OS for ARM Cortex-M microcontrollers, a Forth named zeptoforth, as discussed in [FORTH on the PicoCalc](https://forum.clockworkpi.com/t/forth-on-the-picocalc/17330), so I spend most of my time when I am programming outside of my day job working in Forth and, to a lesser extent, assembly.

---

<div class="post-metadata">

**Author:** ![Astrox](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/astrox/32/13039_2.png) [@Astrox](https://forum.clockworkpi.com/u/Astrox)\
**Post date:** [June 17, 2025, 6:24am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/19 "2025-06-17T06:24:21Z")

</div>

Application Ideas:

1. Simple Graphing Calculator
2. Simple Spreadsheets

Tell me if you want to make one of these.

---

<div class="post-metadata">

**Author:** ![yatli](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yatli/32/6253_2.png) [@yatli](https://forum.clockworkpi.com/u/yatli)\
**Post date:** [June 17, 2025, 6:28am UTC](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027/20 "2025-06-17T06:28:24Z")

</div>

I’ll be very interested if the OS provides functionalities akin to DOS technologies, e.g. load drivers, autoexec.bat, memory manager, certain interrupt-based functionalities etc.

… and thus (when memory limit is not an issue), modern concept such as swapping, readline library (where you can tab, ctrl-R, etc. and configure your own key handlers), and shell languages.

[Next page](https://forum.clockworkpi.com/t/eol-astralixi-lyra-os-megathread/18027.md?page=2)
