mBlock — визуальная образовательная среда разработки, ориентированная на обучение программированию и робототехнике. Программа сочетает блочное программирование и поддержку текстового кода на Python, предоставляя интерфейс, понятный начинающим, и возможности для перехода к более продвинутым языкам. mBlock применяется в образовательных учреждениях, кружках и домашних условиях для создания интерактивных проектов, управления роботами и изучения основ вычислительной мысли.
Среда поддерживает работу с аппаратными платформами, такими как устройства Makeblock, Arduino и micro:bit, обеспечивая загрузку прошивок и взаимодействие через последовательные порты и беспроводные соединения. В функционале mBlock обычно присутствуют инструменты для моделирования роботов, визуализации данных, сенсорного ввода и управления исполнительными механизмами. Разработка ведётся в виде блоков или посредством редактирования Python-кода, что облегчает обучение и постепенный переход от визуального к текстовому программированию.
- Блочное программирование: интерфейс на основе перетаскиваемых блоков для логики, управления потоком и работы с вводом/выводом.
 - Поддержка Python: возможность просмотра и редактирования генерируемого кода, а также написание программ непосредственно на Python.
 - Совместимость с аппаратурой: интеграция с Makeblock, Arduino и micro:bit для управления моторчиками, датчиками и периферией.
 - Загрузка прошивок и сериал-коммуникация: инструменты для записи программ на контроллеры и обмена данными по USB/Bluetooth.
 - Функции AI и IoT: встроенные блоки или расширения для базовой работы с функциями искусственного интеллекта и облачными сервисами, а также обмена данными по сети (в зависимости от версии).
 - Визуализация и отладка: средства для мониторинга переменных, отображения графиков и пошаговой отладки программ.
 - Кроссплатформенность: наличие версий для веба и настольных операционных систем, что даёт гибкость развертывания в классах и дома.
 - Образовательные ресурсы: уроки, примеры проектов и шаблоны для преподавателей и учащихся (доступность зависит от дистрибутива).
 - Модульная архитектура: расширяемость через плагины и дополнительные библиотеки для новых плат и функций.
 - Интерфейс для начинающих: локализованный интерфейс и визуальные подсказки, упрощающие освоение основ программирования.