In the prior two posts I discussed the mistake made on the PyPortal that rendered all timing very inaccurate (was that 1000 Hz PWM tone actually 970 Hz or 1030 Hz or somewhere in between?). Adafruit suggested adding a RTC, but that wouldn’t fix the PWM issue (or any other timing related issue). So the PyPortal is probably simply not the right solution for anything that requires fairly accurate timing.
There is a new Arduino form factor device, Adafruit Metro M4 Express AirLift, that combines WiFi with a ARM M4 CPU. The price point isn’t too bad at $35. Add another $35 for an Arduino Touch Screen Shield (2.8 inches, slightly smaller, sadly). So now the BOM is $70 plus the cost of a case. But it is worth noting that this cheaper M4/WiFi device did include the 32 KHz crystal.
But this does beg the question, if it isn’t just easier to stick with the original NTP clock solution with slightly different hardware (a RPi Zero W, with 2.8″ Touch Screen). That’s a $49 solution. In fact one could bump up to the 3.5″ Touch Screen, with a BOM cost of $59. That has the advantage that there are nice mounting holes for screws on the display (the RPI Zero W plugs onto the back of the display)