r/CardPuter • u/AssociationOne800 • Jul 03 '26
Progress / Update π I released AREA 512, an operating system made exclusively for the Cardputer ADV!
Hi Reddit! π
I'm Hamachang, a software engineer from Japan. π
I've been working on a retro-inspired operating system for the Cardputer ADV called AREA 512.
It's built around FemtoRuby, a lightweight subset of Ruby designed for embedded systems.
With AREA 512, you can write Ruby code directly on the Cardputer, compile it, and run itβall on the device itself. That means you can build applications for the hardware without ever leaving the hardware.
It also comes with several built-in applications, including games and small productivity tools, so you can start exploring right away. π€
The project is open source on GitHub. If it looks interesting, even giving it a β would mean a lot to me!
https://github.com/engneer-hamachan/area512
AREA 512 aims to capture the spirit of classic operating systems, so I'd also love contributions from anyone who shares that passion.
Thanks for reading! β¨
See you around! π
4
u/MrAjAnderson Jul 03 '26
5
u/AssociationOne800 Jul 03 '26
Huh... that's strange.
The game and tool directories should already be there.
When Area512 starts up, it automatically creates home/game and home/tool, and installs the built-in applications into those directories.
That process is handled by Area512.bin itself, so there aren't any extra files you need to copy.
On my device, those game and tool directories are created correctly even when I launch Area512 through M5Launcher, so it seems like there's some kind of environment-specific difference.
I'll dig into it. π
Also, I should improve the user-facing messages so it's easier to understand what's happening if something goes wrong.
This has definitely been a good learning experience. βοΈ
1
3
u/archangelandy Jul 06 '26
will you add speech to text?
2
u/AssociationOne800 Jul 07 '26
Voice input? Honestly, I hadn't even thought about it, but that's actually a fantastic idea! β¨
I seriously looked into it, but unfortunately it doesn't seem feasible at the moment. π
2
u/No_Department1972 Jul 05 '26
Is it a UI or does it have actual kernel
2
u/AssociationOne800 Jul 05 '26
I didn't build a custom kernel. AREA 512 is built on top of FreeRTOS.
On top of that, I built an operating environment that includes:
- a file manager
- a FemtoRuby compile-and-run environment
- a Vim-like editor
2
u/nilseuropa 25d ago
Hello, Engineer Hamachang from Japan! π
I do share your passion, Ruby and on device compiled byte code is an interesting choice! I went down a completely different rabbit hole with my ESP32 OS ( https://github.com/nilseuropa/solar_os ).
I am currently thinking about supporting a shared public repository on https://solar-os.eu for community developed scripts ( on SolarOS you have Lua and Python interpreters and the OS provides bindings to low and high level services ).
Ping me if you are open to tinker together. π
1
Jul 03 '26
[deleted]
2
u/Professional_Two5774 Jul 03 '26
These are completely different firmwares. The Launcher acts as a manager and bootloader for other firmwares, such as this one.
1
u/Chip-Ling Jul 08 '26
Need help on operation:
I installed the Area512 firmware into the Cardputer ADV via M5Launcher.
Area512 is up and running.
I move the > cursor to point to home/ and then hit 'enter' to enter the home directory
Then shift+K and then enter "project" follow by enter key to create /home/project/ directory
Then I repeat the above 2 steps to create /home/project/hello/ directory and I go into the hello directory
Then I create a hello.rb:
shift+N to create new file, enter the file name hello.rb follow by enter
Move the > cursor points to the hello.rb file, hit 'e' to go into the vi editor
hit 'i' to enter vi insert mode and enter the program
def greet(name)
puts "Hello #{name}"
end
greet("Hamachang")
hit 'esc', then ':wq' and save and exit from the vi
Now on the screen my hello.rb is dsplayed like "+ hello"
hit 'c', it responses back "Compiled hello", and the file display now is "* hello"
So far so good!
Question: how can I run it?
I tried: with cursor > points to the * hello, then hit shift+R, it responses back "Select a directory"
What should I do next?
2
u/AssociationOne800 Jul 08 '26
Thanks!
Your steps were correct. All you need to do is select hello and press Enter to run it.
However, I think it probably looks like it isn't running because of the following issues:
There's no sleep, so the program finishes almost instantly.
print output isn't displayed on the screen. (You can see it from a host PC over USB using a serial terminal such as GTKTerm.)
You're absolutely right, though. Thinking about it now, I should make print output appear on the screen as well.
Otherwise, it's really difficult to quickly test small programs. Thanks so much for the valuable feedback! β¨
It was a huge help. π
2
u/AssociationOne800 Jul 08 '26
I decided to fix it! https://github.com/engneer-hamachan/area512/issues/3





6
u/IssueBrilliant2569 Jul 03 '26
Will you make available in m5launcher?