Take a minute and try to define what a “computer” is — it isn’t as easy as you’d think. A computer definitely needs some way to perform basic math, which requires a processor and at least a tiny bit of RAM. But your microwave has those and you probably wouldn’t call it a computer. Even the first generation of home computers would be pretty alien to most of our younger readers, because they generally lacked mass storage, network connectivity, graphical operating systems, and other features that are commonplace today. Ramin Assadollahi’s PortablePy may not fit everyone’s definition of a computer, but it is nonetheless a really cool ultra-compact clamshell device with a full keyboard.
Most devices of this nature, including some that Assadollahi has built in the past, utilize single-board computers (SBCs) like a Raspberry Pi or a LattePanda. Those are undeniably computers in the modern sense. But the PortablePy does not have an SBC. Instead, it is built around Adafruit’s PyPortal Titano IoT device that is running on a Microchip ATSAMD51J20 and an Espressif ESP32. Those are both microcontrollers, which could be considered “computers” depending on how flexible your definitions are. Microcontrollers contain a processor, RAM, usually some sort of EEPROM or flash storage, and other components in a single chip. In many ways, they are comparable to those early home computers. But they generally don’t run operating systems or software; they run firmware that is much closer to “the metal.”
In this case, Assadollahi’s PortablePy boots up almost instantly into a Python interpreter that can be used to write and execute code. The display is the PyPortal Titano’s built-in 3.5” 320x480 color TFT touchscreen. Text is entered through M5Stack’s very cool CardKB mini keyboard, which itself contains a Microchip ATmega328P microcontroller to monitor the keyboard matrix and to send text to the connected device. That keyboard communicates via I2C, which makes it a snap to use with the PyPortal. Power comes from a small 1000mAh LiPo battery through a basic charger/regulator board. All of those components are housed within a compact 3D-printed clamshell case that folds closed when it isn’t in use. Assadollahi doesn’t say what he plans to do with this Python microcomputer, but it is cool to see so much functionality crammed into such a small enclosure.