Среда разработки Mu
Для CircuitPython (и для MicroPython тоже) имеется удобная среда Mu.
https://codewith.mu/

В Mu есть всё самое необходимое для успешного начала работы с CircuitPython. Теперь приступим к программированию.
REPL — интерпретатор языка Python
Если отладочная плата подключена к компьютеру, редактор Mu автоматически её увидит и в нижнем правом углу окна появится иконка микросхемы без красного крестика. Если так, то значит всё хорошо и можно работать дальше.
Запустим интерпретатор и будем выполнять программу по шагам. Это станет необычным опытом, если до этого вы работали только с Arduino и программировали исключительно на компилируемых языках.
Жмём кнопку Последовательный. В нижней части редактора откроется консоль интерпретатора. Если на плате уже работает какая-то программа, нам следует прервать её выполнение комбинацией Ctrl+С. В результате появится приглашение нажать любую кнопку для активации командной строки REPL (Press any key to enter REPL). Жмём любую кнопку. Результат:

Итак, теперь интерпретатор языка готов принимать наши команды. Чтобы убедиться в этом, напишем простую программу по сложению двух чисел.
Вводим команды друг за другом, каждый раз нажимая Enter. Сначала присваиваем число 5 переменной a. Затем число 6 для b. Затем складываем их и результат присваиваем переменной c. Наконец, выводим результат функцией print.

Работает! Ну а теперь будем управлять светодиодом. Для этого нам потребуется подключить библиотеку board, которая специфична для каждой отладочной платы. Именно эта библиотека знает как пронумерованы контакты на плате, и какие у них есть синонимы.
Чтобы посмотреть все доступные контакты, используем функцию dir.

Над понимать, что это все возможные имена контактов вместе с синонимами. Физических контактов меньше. Например, D13, LED и L — это одно и то же.
Следующий шаг — настройка контакта. Так же как и при работе с Arduino нам следует определить, в каком направлении будет работать контакт: на ввод или на вывод. Для этого подключим из библиотеки digitalio два класса: функцию DigitalInOut и Direction:
from digitalio import DigitalInOut, Direction
Создаём объект класса DigitalInOut, указывая за какой контакт он будет отвечать. Мы будем работать со светодиодом на контакта D13. Его и пишем, вернее его синоним.
led = DigitalInOut(board.LED)
Устанавливаем направление. В нашем случае это OUTPUT.
led.direction = Direction.OUTPUT
Наконец, зажигаем светодиод присваивая led.value значение True (истина, как HIGH на Arduino). Вот что у нас получилось:

Посмотрите на светодиод, он горит!
Работа с файлами
Чтобы открыть файл, жмём кнопку Загрузить и выбираем нужный файл в проводнике windows.
Кнопка сохранить — сохранит файл, и если он находился на устройстве, сразу запустит его на выполнение.
