Going viral
I did two things since the last project log that had a much bigger impact than I expected.
First, I uploaded a short video to Youtube in which I add a tiny new feature to my text editor. I made this to be shared on the uLisp forum, as a quick demo for anyone particularly interested.
This highly compelling movie consists of 3 minutes of typing mistakes, several long pauses of nothingness where I count the number of closing parenthesis to type out, set to a soundtrack of a clacking keyboard and labored breathing. With an interlude of forgetting what the key code was, right after checking it, and then checking it again.
The second thing I did was to submit my project to the 2023 Hackaday.io Low-Power Challenge, after which hackaday.com wrote an article about it - and on my birthday! It got some attention, and went viral enough to be picked up by a humbling number of other tech writers, among them a hackster.com article. That article was submitted in a Hacker News post which was voted to the top of the front page for quite a few hours.
I got very excited and spent hours refreshing HN, reddit and youtube to answer comments and questions, during the time I should have been sleeping before the next day of work. If I didn't reply to your comment (there or elsewhere), apologies.
That the video I made would get 14 000+ views was unexpected - 230 hours of probably innocent peoples lives have been spent watching it - and if I had known, I would have put in more effort. It might have helped.
To conclude, I am very happy to see that so many are interested in my hobby project! And several people have approached me to offer assistance, which I greatly appreciate. I am really hoping this will speed along work on the project.
![Running an UXN rom Running an UXN rom](https://cdn.hackaday.io/images/2654691678496922519.jpg)
![Power measurement while running UXN rom Power measurement while running UXN rom](https://cdn.hackaday.io/images/6707531678497018996.png)
Some actual miscellaneous project updates
It's been a long time since the previous project log. I haven't really worked on it as much since then, as I'm trying to get other commitments out of the way first. Here's what I can remember doing:
- I fixed the bug where holding down the arrow keys would greatly increase power consumption. As a bonus, the keyboard scanning code is also much faster now, although still a bit of a mess.
- I rewired power to the SD card through some particular special function GPIO pads on the Apollo3. This allows me to completely turn off power to it when it's not being used, which helps a lot. I got a hopefully lower power storage module in the mail but have not tested it yet.
- This brought max observed average power consumption down to 2mA, which is how I ended up claiming 2 years of battery life.
- I published the source code to https://github.com/andreer/PotatoP - it's somewhat incomplete as there are also bug fixes and optimizations to the Artemis Arduino core and the Adafruit GFX / Sharp Memory Display libraries which I have not yet published. Don't know how best to - I'll get to it.
- I put up a list of components on this project page, which should include all the materials needed to replicate this project.
- I will need to publish a schematic and 3D printing files too. It's not just a matter of uploading existing files, as what I have was cobbled together haphazardly over a long period, and I didn't take notes.
- I rewrote the text editor to use a list-of-strings data structure. It's not perfect, but editing latency - the delay from my finger touching the key to when the display has finished displaying a new character - is now down to 40ms for reasonably sized files, measured by counting frames from the 240fps slo-mo mode on my iPhone. Compare with danluu's excellent summary of input latency.
- I can now edit files of up to about 30kB before it crashes.
- I integrated code for very basic UXN support. UXN is a virtual machine specification made by the super cool Hundred Rabbits artists collective. The PotatoP can now run hardcoded UXN programs and print output from the UXN console device to the display. I'd love to finish implementing graphics output for this some time soon, so I can run their impressive collection of games and programs on my computer.
It does actually seem like a bit when it's all typed out doesn't it ... and I'm much too late for bed again. And my TODO list keeps growing. But I'm definitely enjoying myself.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.