Colibri Programming Languages
zeptoforth
zeptoforth is the primary supported programming language for the Colibri family. Each I/O module will contain the source code for its own usage, meaning that the MCU's firmware doesn't need updating when new I/O modules are available and installed.
Forth is a unique programming language and some people are very unhappy with it, and hence we will try to support additional programming languages to the best of our abilities.
MicroPython
MicroPython is a rather large environment, and it will be challenging (or even impossible) to squeeze it into some of the MCUs (such as MCU1 with the LoraWAN stack).
Lua
Lua is a neat little language that is easily embeddable in any C hosted (and other) environment. The flash memory footprint is said to be in the 100-200kB range.
C++ - Arduino
Since we are using most STM32 MCUs, and practically every MCU marketed at the Maker community is supporting the Arduino approach. Now, the recent acquisition of Arduino by Qualcomm might lead to a decline in the platoform's popularity, and CurrentMakers is too small to invest resources in this uncertainty. The only reason to use Arduino software platform is because of its incredible popularity.
C - STM32Cube HAL / Bare-metal
It is of course very possible to implement a software stack for Colibri using C. Libraries for peripheral access is readily available, or it is quite easy to implement in bare metal programming, see STM32World's [bare metal video series].
OpenPLC
OpenPLC (from a company called Autonomy) is an interesting choice, especially for PLC professionals. It allows for IEC 61131-3 standard programs to be compiled to C and flashed into MCUs. It supports some STM32, ESP32 and RP2350 (external Flash). It is quite likely it is not too difficult to make this work.
WebAssembly
WebAssembly is a kind of runtime sandbox with a well-defined instruction set and memory model. Many languages can be compiled to WebAssembly with the LLVM project. The main advantage to pull this off would be to have a stable runtime on the MCU and "upload" user programs without flashing a binary. What to compile from would still be up for debate.