This website is being served from a TiDAL badge from Electromagnetic Field 2022. The badge contains an ESP32 microcontroller and runs MicroPython. On it I am running a modified version of picoweb, hacked to be a bit more performant and better suit my needs.
It's very satisfying that I've been able to reuse something I already had, lying in a drawer, instead of continuing to host my site on someone else's computer, or buying extra hardware to do it. Consider it a small experiment in permacomputing. And it is still an experiment - I may end up wanting to do more with this website than this hardware is capable of. But right now I am enjoying the constraints - it encourages you to be creative.
Although this is running on a microcontroller, microcontrollers are not what they used to be. There have been sites in the past running from 8-bit devices with firmware written in assembly. My device is more than 10 times faster, with possibly 1000 times more memory. That allows for the software to be written in Python, making development a lot easier. It's actually a pretty capable system, and I believe a lot of the slowness is coming from the wireless connection rather than the CPU. Let's bear in mind how wasteful a lot of modern computing can be, and how few resources are actually needed for a lot of our tasks.
Some server info:
Clock frequency | 160 MHz |
RAM | 8 MB |
Flash | 8 MB (4 MB internal filesystem) |
Storage | SD card |
Power consumption | 0.1 W idle, 0.5 W when busy |
Connectivity | WiFi |
And some live server stats:
Uptime | 38.20 hours |
Homepage requests | 28226 |
Free memory | 5522 KB |
Disk usage | 4 MB |
I've made some modifications to the badge:
todo list: