Luanode for ESP32 and ESP8266

A Lua SDK, multi-task support, for ESP32 and ESP8266

Similar projects worth following
We want to make Lua run on the ESP32 Wi-Fi chip, as well as ESP8266, which is the most integrated solution for Wi-Fi applications in the industry. Lua, a well-known programming language, is simple and powerful code, and rapid development for the resource constraints microcontroller. Thus, Luanode is here. In Luanode, we provide some Lua modules for developers to operate periphs more conveniently. Unlike programing with C, the developers can just invoke the methods in the modules to operate periphs, it is no need for them to understand modules in detail. Developers can read/write GPIO in just one line. We believe that the Luanode will make it easier to create great IoT application than ever before!

Why we start this project

We want to make Lua run on the ESP32 Wi-Fi chip, as well as ESP8266, which is the most integrated solution for Wi-Fi applications in the industry. Lua gives you the benefits of a well-known high-level programming language - simple and powerful code, and rapid development - all in the constraints of a microcontroller. Using Lua on the ESP32 will allow you to create beautiful Internet of Things (IoT) devices with ease, much quicker than with C or similar compiled languages. With extras modules we provided, which are written by C and required by Lua directly, will help developer to develop faster. For instance, the module named gpio will provide methods to operate device IO pins, the developer doesn't need to understand the detail of how to read/write pins, they only need to require the module and then invoke the methods. What's more, this Kickstarter campaign is different from the exist software-only project, we provide not only source code but also hardware for backers to speedup development. We believe that the powerful language, modules, hardware and app samples we provided will make it easier to create great IoT application than ever before!


is a WiFi enabled System On a Chip, provided by Espressif, for IoT. The following image is the appearance of ESP32 prototype which we are now testing (Note: the product may be a little different from that).

ESP32 Prototype


is a Lua SDK for ESP32, multi task support (Compatible with ESP8266).

Luanode utilizes embedded Lua (eLua) for programming. Lua, which is a powerful, fast, lightweight, embeddable scripting language. Lua is a good choice for constrained devices.
  • Flexible expansion and customization capabilities
  • Small, fast start
  • Notepad editting

We provide some Lua modules to operate periphs, the sdk users don't need to care about how this modules work. They don't even need to write any C code to operate the periphs. What they need to do is just load the modules and invoke the methods encapsulated in the modules. For example, if you want to set a pin to high level, what you need to do is to invoke gpio.write(level, pin).

FreeRTOS is ported in Luanode. So Multi-task is supported.

The simple powerful script language (Lua) with the Lua modules, which are implement by C, will speed up user application development. Thus, the Luanode will make it easier to create application for IoT than ever before!

You can download the source from Github: Luanode on Github

We will keep updating the project on Github.


Tank control: a funny application of Luanode is to control a Wi-Fi tank via phone. There is a camera install on the tank, and the video captured by the camera will be transmitted to your phone and displayed on app (support both Android and iOS). The tank is well-designed and suitable for field experiments.

The tank, named DOIT WiFi Video Car, with ESP8266 inside, is a successful product of DOIT. Hardware: The tank consists of T300 Tank Chassis, Esp8266 development kit, 720p HD Camera, 18650 bettery, and WR703N Wireless Router. Software: Luanode, app(a client to control the tank). With the help of Luanode, it is easy to program for the development kit to control this tank. In the program,we start a task to deal with the command sent from phone, if the kit receives a moving command, then utilizes gpio and pwm module to drive the motor to move.

Since Luanode can run on both ESP8266 and ESP32, it is easy to replace the ESP8266 with ESP32 without changing too much for this tank. Now we are working on replacing ESP8266 with ESP32 and testing the tank.

You can move the tank via app, as you can see from the following video. Extended devices are easy to add to the tank and then provide extend functions. For example, you can add a mechanical arm on the tank and use the chip to control it to fetch something, it's funny, right?

The tank video on Youtube:

Another video:

The app in the video support both iOS and Android. The iOS app was published on App Store. If the backers receive...

Read more »

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates