What is the Adafruit PyPortal?PyPortal is an Internet of Things (IoT) device that is designed to live on your desk and provide you with information via a small 3.2” LCD touchscreen.
The entire device measures only 88.3mm by 64.3mm by 11mm, and so the resistive touchscreen dominates the display.
Programming PyPortal is made possible thanks to CircuitPython, which is a version of MicroPython (Python 3 for microcontrollers) developed by Adafruit for their boards. PyPortal comes with CircuitPython pre-installed, but it is worth downloading the latest release and flashing it on to the board, which is a simple process of pressing reset twice and dragging the downloaded image to the PyPortal. Using CircuitPython with PyPortal is a breeze, requiring nothing more than a computer running an IDE. For beginners, we recommend using Mu which has an Adafruit mode ready to get your projects moving. For the more advanced users, Microsoft’s Visual Studio Code is a free and lightweight IDE that offers a few power features not found in Mu. For the Arduino makers among us we can also programme PyPortal using the Arduino IDE thanks to Adafruit’s excellent guide.
The primary focus of PyPortal is CircuitPython and this is where we see the most benefits from the board. Adafruit has packaged libraries to handle the various features of the board and to simplify our workflow. For example, there is a special file called secrets.py which is used to contain sensitive information, such as API keys and WiFi credentials. This means that we can easily build IoT projects from tutorials and templates without including these details in the main code.
To fully review this board, we spent a day building a conference badge which provided us with a digital business card via a QR code. So walking around a conference we show off our logo, but with a press of the screen, a QR code pops up ready to be scanned. Now, this may seem complex, but on the contrary, we used the Adafruit slideshow, button and PyPortal libraries to quickly prototype a slideshow that advanced automatically. Then we created two large hidden buttons on the touchscreen where we could press and control the slides to advertise ourselves at a conference. Alternatively, you can use the Adafruit PyPortal to display "Avengers: Endgame" posters.
Final ThoughtsLet's be clear; this is not a cheap board. $55 gets us a lot of functionality though. PyPortal will appeal to those that want to get data from the web and display it in a low power device. So news headlines, weather, Bitcoin data, etc. It also offers us a unique touchscreen keyboard interface that can be used for home automation projects.
As PyPortal can be programmed in CircuitPython (a version of Python 3), it means that anyone who can code in Python can already code this board. Sure it has a few libraries made for this board, but the basics are the same. This is a great board and it is worth every penny.
- ESP32 WiFi connectivity is easy to use
- Touchscreen is clear and bright
- Very easy to code with CircuitPython
- Needs a case for continued use