If you're working with the Inkplate 10 (or similar model) you might commonly want to do something like: connect to WiFi, hit some API over HTTPS, and display something. If you're doing this with the Arduino IDE then here's an example project that will demonstrate WiFi, HTTPS and deep sleep. Hopefully, this will save you time getting set up as the HTTPS part can be complicated.
If you're not familiar with the Inkplate it's a lovely project the uses recycled Kindle screens and adds an ESP32, lithium battery charger, RTC backup battery, touchpads, an SD card slot, and a bunch of GPIO pins. The Inkplate 10 that I'm using has a 9.7 inch, 1,200x825 display with 3-bit grayscale. In deep sleep it consumes just 22 microamps making it very suitable to run on a battery.
My barebones project connects to the WiFi network of your choice, hits a public API that returns the IP address you are using and displays it on screen. It then goes into deep sleep for 30 seconds.
The only complicated part is that the HTTPS/TLS functionality does not have a built in list of root CA certificates. So you either have to provide that (which takes up a lot of memory) or grab the CA certificate of the specific site you are connecting to. In this example, I used openssl s_client to get the certificate for the API I am hitting.
You simply grab the last certificate that is output by the openssl s_client command and include it in the code. Of course, embedding the specific certificate a site uses in the binary is brittle because your project will break if the site changes CA certificate, but it does work and it uses little memory.












