hey folks
Thank you for exchanging tips and trying to solve each other's issues, I love to see people interested in MicroPython on this board.
The Lab for MicroPython is still a "Lab" project, we use that label on things which are the internal efforts but we can't prioritise in matter of development timelines, yet we try to maintain the project and fix issues.
What I have noticed is that the ESP32S3 can be a bit quirky when it comes to uploading files to it, and this happens with every editor.
I even had issues using mpremote
to fs_cp
files, and that's the official MicroPython tool for the job.
While we were investigating the issue in Lab for MicroPython we realised that the MicroPython implementation for this port/board has some native USB quirks that don't respect a fixed amount of bytes sent over serial but just randomly pushes bytes over the CDC device.
Sorry if this can sound too advanced, but it's just to say that if the host computer side fails to properly parse the response from the board when a file is transferred or if the board sends back some garbage, this spurious data can end up in the transfer and corrupt files.
When you get one of those weird errors because file copying has been messed up, you're better off mpremote
into it getting a REPL and doing something like this
from os import listdir, remove, rmdir, chdir
then via a series of listdir
and chdir
head into the paths which contain the corrupted files and one by one remove
and then go back up to use rmdir
to remove the directories.
Installing the libraries for now is still a bit quirky because you need to copy file by file from the host computer to the board's lib
folder, but we've been investigating how to batch-copy properly formatted libraries.
You can also mpremote mip
to install packages available either on the MicroPython-lib repository or from a GitHub repo.
Check this page for further info
https://docs.micropython.org/en/latest/reference/mpremote.html
Hope this helps get more familiar with it.
Please keep in mind that Lab for MicroPython, while being the tool we're working with to develop some demos and applications (yes, we dog-food) is still thought to be an introductory tool which embraces the Arduino philosophy of simplicity.
We do our best, bear with us 
I'm open for questions about it, but won't be able to officially commit to development.
Mostly keeping my eyes peeled 