Here is some feedback about the current version V1.6.3
Quite painful to use:
For instance the first couple hours of playing around:
Documents mention python examples of NTP, which is not current/ does not match with the blockly ntp (which does work)
You can use the "online mode" with the flow.m5stack.com online IDE... but probably have to also use the m5burner -> COM port monitor to see all error codes ( i dont think this com port monitor can send the enter key to the serial port?)
If you try to use the desktop-ide : on the Atom, you have to constantly hold the button and reset and boot into "blue" usb-mode. Then you can fiddle around with the desktop-ide to "refresh" then "connect" then load the hopefully latest save of your blockly, then upload the code (dear god dont hit "run" or else who knows if its uploading or running the last code that errored or what)
Then you have to restart the board, can't see any output. Have to close down the desktop-ide, have to open up a third party terminal program such as putty (guess the buad rate since the m5burner says 750000 but that doesnt work, 115200 does seem to work for some reason) Yay I see the error code that ntp doesnt exist.
Ok so now desktop-usb mode is not compatible with any online functionality. I have to add a bunch more code to make sure wifi is connected before I try to set ntptime... i guess i need to do all wifi connectivity manually now, and the built in ntp library doesnt do any error handling
So its clear the blockly stuff is just a dream and not for practicality, it has no error handling and wont work most of the time without painful amounts of error checking.
It appears none of the development scenarios are designed around the fact you need com-port monitor to see the huge amount of errors that are going to be generated with each new block added
Python is great in theory, but it needs really short feedback loops in terms of error output after every tiny change