Easy to think raspberry pi, but with a full Linux you won’t get that intrinsic understanding that you fully control the hardware, you never control the “bare metal” unless you are a much more advanced user.
IMHO the feeling of not being in full control of your computing device is not a good starting point. I’m very fortunate to have started out on my 8kb BASIC machine.
https://www.olimex.com/Products/Retro-Computers/AgonLight2/o...
Or with keyboards: https://wildbitscomputing.com/
https://www.kickstarter.com/projects/spectrumnext/zx-spectru...
Or you can go mobile: https://www.clockworkpi.com/product-page/picocalc
https://andywarburton.co.uk/post/gr3ml1n-a-compact-handheld-...
And if you want a real challenge, the one euro computer:
https://www.olimex.com/Products/Retro-Computers/RVPC/open-so...
I have been playing around with a per scanline generated display on a rp2350 outputting to a tiny LCD. I think there's potential for some pretty fancy stuff on HDMI. A 2350 with PSRAM, HDMI connector plus a MicroSD for bulk filesytem, and USB for input could be quite a fun micro PC.
I would be tempted to make somthing that had a second RP2350 with its own PSRAM sitting unutilized just as a temptation to users to figure out how to get more out of the gadget and learn about different multiprocessing architectures.
One of these https://www.waveshare.com/core2350b.htm
With one of these https://www.waveshare.com/rp2350-matrix.htm
Mounted on top, and an HDMI connector squeezed in somewhere,
I am a bit reminded of what GeoWorks Ensemble managed on a 640k 8086. Theoretically you could make a tiny system like this do even more.
I was looking at similar recently for a project, and came across FrankOS: https://github.com/rh1tech/frank-os
It's a BASIC interpreter/OS for the RP2040
“A class or object is a map with a special __isa entry that points to the parent. This is set automatically when you use the new operator.
Shape = {"sides":0}
Square = new Shape
Square.sides = 4
x = new Square
x.sides // 4
”So
- Shape is a map (it is created using the syntax defined earlier, using a literal string as key)
- Square is a class?
- x is an object?
Or is this language prototype based? If so, why mention the word “class”? If not, isn’t it confusing to use “new someMap” to create a class and “new someClass” to create an object?
I also find it curious to see that division is defined on lists and strings. What would that mean?
Edit: reading https://miniscript.org/files/Strout_iSTEM-Ed2021.pdf, it is prototype based. That’s interesting for a teaching language.
- a manual
- an installer
when you have Web pages can now
- be offline (PWA)
- be responsive and run on pretty much any device
- run pretty much anything thanks to WASM but anyway already have JS/HTML/CSS as bare minimum
- can have the instructions AND the runtime on the same page, on any device, instantly
- can connect with physical hardware, see recent https://hacks.mozilla.org/2026/05/web-serial-support-in-fire... or even with APIs.
Apparently not that friendly on HN :-D
The miniscript language itself is MIT License:
https://github.com/JoeStrout/miniscript
The Minimicro code doesn't seem to have any license in the repository or code:
https://www.gnu.org/licenses/license-list.html#Expat
For minimicro-sysdisk: I am suspicious that the author just forgot to include a license. Their other repos are mostly MIT or ‘The Unlicensed (also ‘free’ but not ‘copyleft’), and some have licenses added after creation. Suspicion is not something to be legally relied on of course…