Eсть интерпритируемые языки
nodemcu(LUA 5.1) и
Micropython(Python 2.7 с натяжкой) еще
Mongoose OS(JavaScript version 6) - все они работают путем загрузки ядра и запуска консоли на данном языке(плюс запуск файла по умолчанию из файловой системы). Имеется файловая система на пару мегабайт(в свободной области флеш памяти), код можно компилировать в байткод на самом контроллере(просто занимает меньше),
библиотеки у них вкомпилены в ядро - в основном есть все популярные драйвера перефирии. Есть мануал как что-то свое подключить - по сути достаточно лишь описать какие функции будут доступны в языке высокого уровня и их типы данных.
работает это не быстро - но задач можно решить много.