Cheap is good
๐ As seen on:
๐ธ Cheap
How about instead of making an expensive computer do more, we make the cheapest computer do a lot?
Cheap
Because of Moore's law, our "good" computers get faster and faster. This should also imply that at some point our worst computer is going to be fast. I think that day has come.
You can buy a "Cheap Yellow Display" for $10. That is a dual core CPU, gigabytes of storage, a full color touchscreen and more. If we treat it like a real computer, that is a $10 computer. In our modern world, this is hundreds of times slower than your phone. But ... it is hundreds of times faster than a Palm Pilot. And on palm pilot apps started instantly. And the device turned on/off in under a second. Have you seen how long your good pocket computer takes to TURN OFF?
So, let's take something cheap and make it good.
Simple
I wrote ESPOsito to bring that speed, that snap, into the 21st century. It should boot in under a second and show you the same app you were using before, in the same state. It should turn off instantly. Hell, you should be able to turn it off by CUTTING POWER.
Apps load into memory then are COMPLETELY replaced when another app starts. No multitasking. Just do your thing in your app. Try not to crash because it reboots.
You can write a useful app in some hundred lines of C. The API is still in flux, but it is enough for now.
Apps
And it works. It really works. While this is still a rather young project we can use it as an ebook reader. For books of any size. In markdown:
Yes, there is a Free Bookshop with 100 titles (I am not Bezos, dude.)
It can have as many apps installed as you want and will fit in your SD card. They start in milliseconds, they restore their state so even without multitasking you can actually switch apps faster than on "good" hardware.
Of course, if you want to type a lot the on screen keyboard may not be great. Which is why you can, of course, add a keyboard. I use a BBQ20 by solder party
It's small, it's technically simple, it defines a very basic API for apps to implement whatever they want.
Getting Started
- Get a CYD somewhere.
- Go to github
- Let's figure it out together
- Maybe get a 3d printer and make a nicer case?
- Write some apps!
Step 3 is because ... well, I only used this in my hardware. Yours may be a bit different. For example, I have a "2 USB" CYD, which is not the original. The screen driver is different. But if you are willing to put some effort, this project is SIMPLE by most microcontroller standards :-)
I want this to work on more devices. I want it for e-ink. I want it for better systems. Systems with a decent memory size. Systems from the future, when our cheapest computer is even better than this one.
But I want it to feel like this. Snappy. Simple. Fun.
















