All Projects → andygeiss → esp32-transpiler

andygeiss / esp32-transpiler

Licence: MIT license
Transpile Golang into Arduino code to use fully automated testing at your IoT projects.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to esp32-transpiler

esp32-ota
ESP32 OTA based on ThingsBoard Open-source IoT Platform
Stars: ✭ 45 (-15.09%)
Mutual labels:  esp32
ESP-Alerts-for-Android
Send Android Notifications to an ESP32 with OLED display
Stars: ✭ 42 (-20.75%)
Mutual labels:  esp32
hman-stomper
Stomp Box based on ESP32
Stars: ✭ 26 (-50.94%)
Mutual labels:  esp32
idf-installer
ESP IDF Windows Installer
Stars: ✭ 56 (+5.66%)
Mutual labels:  esp32
IMU-VR-Full-Body-Tracker
Inertial Measurement Unit (IMU) based full body tracker for Steam VR.
Stars: ✭ 46 (-13.21%)
Mutual labels:  esp32
Sweet.apex
Next Generation of Apex Development
Stars: ✭ 43 (-18.87%)
Mutual labels:  transpiler
micronova controller
Allows you to easily control via MQTT any Micronova equiped pellet stove. (MCZ, Extraflame, Laminox, and many others brands!)
Stars: ✭ 30 (-43.4%)
Mutual labels:  esp32
opcua-esp32
Embedded OPC UA Server on ESP32 based on open62541 stack
Stars: ✭ 82 (+54.72%)
Mutual labels:  esp32
deqaf
Decaffeinate CSS stylesheets client-side
Stars: ✭ 30 (-43.4%)
Mutual labels:  transpiler
ESP DoubleResetDetector
ESP_DoubleResetDetector is a library for the ESP32/ESP8266 Arduino platform to enable trigger configure mode by resetting twice.
Stars: ✭ 34 (-35.85%)
Mutual labels:  esp32
Homekit
Homekit for ESP32 with Arduino framework
Stars: ✭ 80 (+50.94%)
Mutual labels:  esp32
owlos
DIY Open Source OS for building IoT ecosystems
Stars: ✭ 43 (-18.87%)
Mutual labels:  esp32
x
The Jule programming language
Stars: ✭ 35 (-33.96%)
Mutual labels:  transpiler
schwalbe
"Transpiler" from the Schwalbe Programming Language to Swift
Stars: ✭ 28 (-47.17%)
Mutual labels:  transpiler
canairio sensorlib
Particle sensor manager for multiple sensors: Honeywell, Plantower, Panasonic, Sensirion, etc. This is sensors layer of CanAirIO project too.
Stars: ✭ 24 (-54.72%)
Mutual labels:  esp32
ESP32 Thing
Development platform for the Espressif ESP32 WiFi/Microcontroller SoC
Stars: ✭ 66 (+24.53%)
Mutual labels:  esp32
ESP32BleAdvertise
Simple library for BLE advertise using ESP32 in Arduino
Stars: ✭ 39 (-26.42%)
Mutual labels:  esp32
PMserial
Arduino library for PM sensors with serial interface
Stars: ✭ 41 (-22.64%)
Mutual labels:  esp32
cito
Ć programming language. Translated automatically to C, C++, C#, Java, JavaScript, Python, Swift, TypeScript and OpenCL C.
Stars: ✭ 1,372 (+2488.68%)
Mutual labels:  transpiler
cassidy
Cassidy programming language, bringing static typing, strictness, safety and precision into your web project
Stars: ✭ 25 (-52.83%)
Mutual labels:  transpiler

ESP32 Transpiler

Go Report Card Build Status BCH compliance

Purpose

The Arduino IDE 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. Look at the mapping and the tests to get the current functionality. It is also not possible to trigger the C/C++ Garbage Collection, because Golang handles it automatically "under the hood". Go strings will be transpiled to C constant char arrays, which could be handled on the stack.

Installation

go get -u github.com/andygeiss/esp32-transpiler

Usage

Usage of esp32-transpiler:
  -source string
        Golang source file
  -target string
        Arduino sketch file
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].