Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

luc-github/EspLuaEngine

Repository files navigation

EspLuaEngine for ESP boards EspLuaEngine

Unleash the power of flexible scripting on your ESP32 with EspLuaEngine! This library brings the versatility of Lua 5.4.7 to ESP devices, enabling dynamic and adaptable IoT applications.

While primarily optimized for ESP32, EspLuaEngine is also compatible with ESP8266 and ESP8685 platforms, albeit with reduced performance. This cross-platform support allows you to leverage Lua scripting across a range of ESP microcontrollers.

Lua 5.4.7

Warning

Disclaimer

The software is provided 'as is,' without any warranty of any kind, expressed or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software. It is essential that you carefully read and understand this disclaimer before using this software and its components. If you do not agree with any part of this disclaimer, please refrain from using the software.

🌟 Key Features

  • Highly Flexible: Easily extend Lua with custom C functions and constants tailored to your project needs.
  • Resource-Efficient: Optimized Lua 5.4.7 implementation designed for ESP32's constrained environment.
  • Arduino-Compatible: Seamless integration with the Arduino framework for ESP32.
  • Customizable: Add only the functionalities you need, keeping your project lean and efficient.

πŸš€ Quick Start

#include "EspLuaEngine.h"
EspLuaEngine* lua;
void setup() {
 Serial.begin(115200);
 lua = new EspLuaEngine();
 
 // Register custom functions and constants
 lua->registerFunction("myCustomFunction", l_myCustomFunction);
 lua->registerConstant("MY_CONSTANT", 42);
 
 // Execute a Lua script
 lua->executeScript("print('Hello from ' .. _VERSION)");
}
void loop() {
 // Your Arduino loop code here
}

πŸ’‘ Example Scripts

EspLuaEngine comes with several example scripts demonstrating its capabilities:

  1. HelloWorld: A basic introduction to Lua scripting on ESP32.
  2. GPIO: Demonstrates GPIO control using Lua scripts.
  3. Files: Showcases file operations using the ESP32's file system.

Check out the examples/ directory for the full scripts and more advanced use cases.

πŸ”§ Customization

EspLuaEngine shines in its ability to adapt to your project's specific needs:

  • Add Custom Functions: Extend Lua with C functions tailored to your hardware or application.
  • Define Project-Specific Constants: Easily add constants that are relevant to your project.
  • Select Modules: Include only the Lua modules you need, optimizing for size and performance.

πŸ“š Documentation

For detailed API reference and customization guides, visit our Wiki.

🀝 Contributing

We welcome contributions! Whether it's adding new features, improving documentation, or reporting issues, your input is valuable.

πŸ’–Supporters

πŸ’ŽBecome a sponsor or a supporter

  • A sponsor is a recurent donator
    As my sponsorship is not displayed by github your logo / avatar will be added to the readme page with eventually with a link to your site.
  • A supporter is per time donator To thank you for your support, your logo / avatar will be added to the readme page with eventually with a link to your site.

Every support is welcome, indeed helping users / developing new features need time and devices, donations contribute a lot to make things happen, thank you.

πŸ“œ License

This project is licensed under the LGPL-3.0 License - see the LICENSE file for details.

πŸ™ Acknowledgments


Elevate your ESP32 projects with the flexibility of EspLuaEngine! πŸš€βœ¨

About

Add Lua engine to your firmware using ESP boards

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /