(Notes by Paul MacDougal with some light editing by Pete and Jenny Soper. A volunteer for February notes is needed.) Problem Of The Month (P.O.T.M.) Paul MacDougal reviewed his long history of making some kind of puzzle to give to his nieces. A last minute flash of inspiration resulted in a maze in which two "pointers" following identical mazes were modified to be two "pointers" following different mazes. This requires the pointers to be able to move relative to one another. Controlling this movement and creating compatible mazes induced development of software for creating and manipulating mazes. The "problem" this month was to suggest new features for this maze software. Code Review Of The Month (C.R.O.T.M.) Carl converted Paul's short python script to a class-based implementation. There was some discussion of Paul doing a sys.exit(x) from within a script that is running separate threads and how that might mess up. "FOO" vs "foo" vs "_foo" vs "__foo" conventions in Python. (And let's not forget "Foo"!) Presentation: ESP8266 OTA by Paul MacDougal ESP8266 supplier Espressive has done all the hard work to use Over The Air firmware/data update (OTA) in its libraries. Paul showed a simple sketch to do OTA from the Arduino IDE which is just running a python script. Multicast DNS (mDNS) is used for identifying development boards via name rather than IP address. A simple sketch to do OTA by connecting to a device using HTTP was shown. There was discussion of using ports 80 vs 8080 (really < 1024 vs > 1023). A simple sketch to do OTA by device accessing a server at a known IP address was shown and there was discussion of security (or lack thereof) of OTA programming.