Smol computers

So I have had the idea for a while, to build a small handheld computer based on a micocontroller board (or mcu), run ulisp on it and write me a set of programs I want to use on it.

But I am bad with prototyping PCBs and don't have a workshop with the tools necessary to make the mechanical parts nice I opted to spend the money and order a PicoCalc. It's pretty much exactly what I had in mind in terms of architecture. And if I'm honest with myself, if I'd attempt to build my own it'd be a lot more frustrating, probably more expensive and likely to end up on my shelf unfinished, collecting dust. I'm not an electronics girl. And most importantly it fulfils my requirements:

So far on my list for applications to write are:

All this is to be able to read, write and publish on gemini, as well as stay in touch with people. It's a long list and email will probably be the last thing I'll implement but it's a journey away from big computers towards something that is smol.

2026-04-24 Switching to Micropython

Initially I had planned to do all of this in ulisp. Implementing some basic shell functions for manipulating files, a program loader to load programs from sdcard, etc. Well that's the easy part.

As I have been reading through documentation, trying to figure out how to get the building blocks for any networked application to work I ran into a severe lack of preexisting libraries. Implementing gemini is simple once you have a tcp socket working via tls. But that's where ulisp's lack of those functionalities became a deep dive into potential yak shaving.

So I looked into other kernels and micropython already has libraries for sockets and tls. And as much as I love lisp, I wanna be finished at some point. So the rational decision is to go with the thing that has a big community and lots of libraries.

That made me think about another thing. Since python is such a common language nowdays, I want my project to be as usable for others so I have to make a clear cut between the "shell layer" and the applications. The shell layer really just a command prompt with a handful of build in cinvenience functions for file handling as well as a program loader that loads any existing pythin script from sdcard into a dedicated namespace and calls its main function.