4 ms·
CircuitPython is a fork of MicroPython, and they periodically bring in commits from MicroPython to stay up to date. One advantage of CircuitPython is that your
by thamer 4y ago
CircuitPython is a fork of MicroPython, and they periodically bring in commits from MicroPython to stay up to date.
One advantage of CircuitPython is that your board gets mounted as a volume like a USB drive, and you can just copy code.py onto it to install your program; it's just a more user-friendly experience. For comparison MicroPython only exposes a file system through a tool called rshell[1], that you need to use to copy code over. CircuitPython also seems to have a lot more libraries due to Adafruit's investment in this ecosystem, although I suspect that most of them could easily be adapted to work with both.
[1] https://github.com/dhylands/rshell https://github.com/dhylands/rshell
- comfydragon 4y agoVarious MicroPython implementations, specifically the STM32 port (which runs the PyBoard), expose their filesystem as a USB mass storage device that you can copy files into directly. So I wouldn't say that it's exclusive to CircuitPython by any stretch.
- matt_trentini 4y agoRShell is a nice tool but the 'official' way to interact with a MicroPython device is with mpremote [1]. One of the key features of mpremote is that it allows folders to be mounted on your device from your PC. For me, this allows a workflow that's even more efficient than using USB since no copying is required at all. Work on your PC (often using the unix port in a container [2] to test), then mount the folder and execute on the device. Brilliant. :) I should probably write up how I use this workflow..! It would be good to also allow USB volume mounting on more MicroPython ports (stm32 only) as - I agree - it's more intuitive for beginners. But LittleFS [3] is a much more robust filesystem than FAT, which is required for USB mounting. LittleFS is preferred by the core team and has had more focus recently. [1] https://docs.micropython.org/en/latest/reference/mpremote.html https://docs.micropython.org/en/latest/reference/mpremote.ht... [2] https://hub.docker.com/u/micropython https://hub.docker.com/u/micropython [3] https://github.com/littlefs-project/littlefs https://github.com/littlefs-project/littlefs