Glad to help and you will find tons more information on this topic on the MicroPython and CircuitPython sites:
https://learn.adafruit.com/adafruit-feather-m0-express-designed-for-circuit-python-circuitpython/circuitpython-setup
https://learn.adafruit.com/category/circuitpython
I'm actually not very knowledgeable about this topic. I'm involved with a Python-based open source automation software project so there was some buzz about MicroPython on the ESP8266 in that community a while back. I flashed my WeMos D1 Mini ESP8266 with the firmware, played around with it for a while, then realized that I'm actually way better with C++ than Python so there is really no benefit for me that makes the performance penalty of running the interpreter worthwhile. For someone who's better at Python it could be great. The thought is also that Python is more beginner-friendly than C++, which I suppose is true, though I don't think C++ is really so difficult as some people make it out to be.
Regarding microcontroller, definitely take the time to research what that means in relation to Arduino. That's an essential bit of knowledge. Basically the microcontroller is the chip that acts as the brains of the Arduino board. The Arduino boards have their own names but more important is the model number of the microcontroller chip the board is based on (which are the things I talked about in my previous reply). For example, the Arduino Uno and the Arduino Nano may look very different but they both use the ATmega328P microcontroller so mostly the difference is just the form factor of the circuit board that the microcontroller is soldered to. Your code will essentially run the same on either board. The same holds with Zero vs. Adafruit M0 (SAMD21G18), or the WeMos D1 Mini vs "NodeMCU" boards (ESP8266).