As for accessing the file system some users will use upycraft, I personally use Ampy and find it sufficient. The ampy tool you need to make sure you kill any currently running processes on the m5 from the command line before starting it. With ampy you can have full REPL functionality, you can put files and get them on to your computer and also run the python functions from the command line on your M5 in real time. For a primer on how to use Ampy please refer to this document provided by Adafruit https://cdn-learn.adafruit.com/downloads/pdf/micropython-basics-load-files-and-run-code.pdf
Yes the two power pins can supply the complete module, I am using 12V for the ones I have which will also power a LoRa module.
As already answered yes it is automatic, just transmit the data and it is sent out, I am using a Modbus protocol based on one of the Arduino Libraries but it needed a lot of changing to make it compatible with the M5Stack. Works with some Smart Meters I am working with running on the second core of the ESP32 with WiFi and Screen handling on the main Arduino core.
You need to make sure you connect all ten connections between the sub board and the main board, there were no instructions with my units so I had to figure them all out. A, B, C and D next to the connector, 5V and GND to the top left of the connector, Vin T2 and R2 on the left side of the main M5Stack connector and if you want to use the current measurement you need to connect pin34 on the right hand side of the main connector. I found the easiest way was to use 0.1" pitch pins and solder them to the small board first and then the main board.
The current measurement is done by the other chip on the small board, it appears to be the current flow into the whole system if the unit is powered from the external power connections marked 24V and G
@jcsbanks Really sorry about the psram problem. The Wavgat store just one of our distributors. Did they refund or send you replacement ? Maybe you can open a dispute for help. If they cannot do any refund or replace, please contact me via firstname.lastname@example.org
finally have some time to continue on with this, I tried the esp32 download tool with exactly the parameters above and the demo files and I am getting an error in the CMD window of ..
"imageIsOk()" failed at ....\src\msw\bitmap.cpp(922) in wxBitmap::CreateFromImage(): invalid image
even if I only select the bootloader.bin section or any single part. odd .. so I looked at using the esptool.py supplied and copied the loader script from the flash.sh (made for linux), that works but I get exactly the same failed to connect as I do with platformio and also the same timing looking at pulseview, not surprising since both methods rely on esptool.
So I ended up adding a 100nF between the B-E of VT1, oddly enough I cannot see any improvement in the timing on pulseview but it programmed first attempt and every one thereafter so I am leaving it in place. perhaps the timing the ESP sees is a little different to what my salaea clone probe is showing.