Even having several interesting and powerful electronics simulators, such as TinkerCad for Arduino, it is interesting to test and debug microcontroller applications on real hardware. With that in mind we have built a remote microcontroller laboratory, based on a set of PHP files that allow users to edit programas, compile and upload to a remote board, on a remote laboratory, and access the serial port of this board for debugging purposes and testing embedded systems. Basically, it runs a makefile. It is compatible with Arduino boards ESP32 / 8266 and also it would be easy to be used with mBed and other boards using the UF2 bootloader.
On 2021, it is being used to help a microcontroller course (in Portuguese):