The PyPortal is an exciting new product that makes it easy to build IoT devices that communicate over WiFi with builtin TLS/SSl support for secure communication. It also has a 3.2" TFT touchscreen, MicroSD card slot, speaker, light sensor, temperature sensor, 8MB of SPI flash, and STEMMA connectors for I2C, and digital/analog connections.
Running the show is an ATSAMD51J20. This is much like the MCU on the other "M4" boards but, like the Metro M4 Grand Central, with 1M flash and 256K of RAM. This provides space for all kinds of CircuitPython code. And because the board contains an ESP32 coprocessor to handle WiFi communication, the SAMD51 can focus on running your code.
In this guide we'll take a PyPortal and a few other pieces and build an alarm clock, complete with a display of the current weather, a snooze button, and the ability to trigger another function... for example asking an IoT coffee maker to start brewing that crucial first coffee of the morning.
The complete code is available, written in CircuitPython. It is easy to make customizations by using any editor to change the code, then copy it back onto the device.
Power related alternatives.
Various hardware bits and pieces for assembly.