Support for Other Languages and Platforms
Aside from using Arduino / C++ code, you can also get other platforms to run on many different MCUs. For example:
- Espruino - JavaScript interpreter on microcontrollers
- MicroPython - Python
- NodeMCU - Lua (Specifically for ESP boards, e.g. ESP32)
- ... and more.
Arduino
Arduino Reminders and "Gotchas"
- No "Standard Library" (e.g.
std::.*
)!!!- Due to the limitations in memory on most MCUs, as well as the difficulties in porting the STL for every variation of board, by default the Arduino IDE does not include the C++ std library in compiling.
- Many devs find this out quickly when they try to use strings
- If you really need some STL stuff, you can check out versions of the standard library that have been ported to support Arduino / AVR Microcontrollers, such as maniacbug/StandardCplusplus and its forks.
- Due to the limitations in memory on most MCUs, as well as the difficulties in porting the STL for every variation of board, by default the Arduino IDE does not include the C++ std library in compiling.
- String concatenation
- Using Arduino's
String
, you can concatenate using+
, but the different units have to also be strings. - This means that this will work as shorthand (casting):
String concatenated = (String)"Hello" + spaceVar + "World";
- Using Arduino's