# ESP32 Transpiler ## Purpose The [Arduino IDE](https://www.arduino.cc/en/Main/Software) is easy to use. But I faced problems like maintainability and testability at more complicated IoT projects. I needed to compile and flash the ESP32 before testing my code functionality by doing it 100% manually. This solution transpiles Golang into Arduino code, which can be compiled to an image by using the ESP32 toolchain. Now I am able to use a fully automated testing approach instead of doing it 100% manually. **Important**: The Transpiler only supports a small subset of the [Golang Language Specification](https://golang.org/ref/spec). Look at the tests in infrastructure/ino/worker_test.go for more information. ## Installation First install necessary packages by using: make packages ## Test and Build Now Build the transpiler executable by running: make ## Install Copy the transpiler executable into your $GOPATH/bin directory. Then copy the file which will be used as mapping Golang to Arduino-API: make install ## Usage Usage of esp32-transpiler: -mapping string API Mapping file (default "/home/user/esp32/mapping.json") -source string Golang source file -target string Arduino sketch file