I've had more than a few ideas which share the common attribute of being "smart devices", and in general I've treated them as individual efforts with no deliberate shared components. Lately I've been digging-deeper into a specific project and it's evolving into more of a system of components that work together to for different shapes of useful things.
This is the "product" view, or whatever you want to call the perspective of a person who is working with the thing.
As I see it more as a system from the product perspective I start to see how from a technical or hardware perspective the pieces have similarities that could be shared as well. It's a little different because from this perspective, the similarities are not parallel to the product similarities but often orthogonal.
By default I have an aversion to this sort of thinking, because it has a whiff "industrial efficiency", which is responsible for so many evils of our time. So I'm taking this slowly and cautiously to make sure any choices I make are firmly rooted in producing a superior tool of the highest quality and not simply a way to make things cheaper/easier/faster/etc.
At the center of this is the ESP32 and Micropython. As much as I'd prefer a more open piece of hardware there's no denying the availability of the ESP line of MCU's. Not only are they cheap and plentiful now, if the supply of new chips becomes threatened there are countless consumer devices containing these modules. At one time I was deeply invested in the CollapseOS project which was built around the Z80 microprocessor for similar reasons, but at this point I'd be willing to bet there are more salvageable ESP modules out there than Z80's.
Something else the ESP has going for it is the recent switch to the RISC-V ISA, which means that it has a CPU core that can be synthesized in relatively small FPGA fabrics. Using Micropython provides a much higher-level portable abstraction but for me it's encouraging that even though the ESP itself is proprietary, some of it could be recreated out of generic logic if it came to that.
The last thing I'll say about the ESP is that it's often used as a module that can be used in one project and "recycled" into another fairly easily. This makes it particularly attractive to designers like me who aim for cradle-to-cradle hardware.
Micropython pairs well with the ESP by providing a consistent and portable layer over the top of the ESP's proprietary hardware. If I had to move everything from the ESP to another device it is at worst an exercise in porting only Micropython and at best simply copying the firmware from one device to another.
There are, of course, potential exceptions if I use hardware features of the ESP that simply don't exist on other devices, but I do my best to avoid those.
I spent a lot of time considering this layer of the system and very seriously considered writing a new programming language for it. That may still happen someday, but right now Micropython strikes a solid balance between the type of stability and dynamism I want at this layer of the system. Unlike regular Python, Micropython has a narrow and stable language surface area and an integrated module/package system whose modules are more like device drivers than the vast library of overlapping packages available for standard Python.
Micropython also provides a REPL, a user interface not unlike the 8-bit microcomputers I grew-up with which ran BASIC. It's hard to explain this to people who grew-up with seeing programming distinct from using a computer but on something like a VIC-20 when you turn it on the first thing you see is a prompt looking for you to write some BASIC code. This code can be a complete program or it can be a simple as a few functions that well... function like what most people would call commands like loading a file from tape or changing the video mode.
An ESP running Micropython functions almost exactly like this, and provides what could be called an operating system for the MCU. With no software other that Micropython you can list the files in a directory, run a program, join a WiFi network, etc. It's just like the old 8-bit machines except with Python instead of BASIC. Having this fundamental foundation available no matter what other software or role the ESP plays in the device is incredibly enabling and gives the person using the device much more power than typical consumer hardware.
Having this combination at the heart of a system of devices creates a broad range of possibilities, but what's most exciting to me are the ones that I haven't yet or simply cannot imagine. The idea of producing a range of devices that are useful out-of-the-box, but contain the potential to be combined and customized in ways that I would have never considered is very exciting to me, and I think could help address some of the worst problems we have with the way these devices are used to limit and abuse humanity.
Jason J. Gullickson, 2026