$3,535
pledged of $30,000pledged of $30,000 goal
98
backers
Funding Unsuccessful
The project's funding goal was not reached on Sat, June 25 2016 9:28 AM UTC +00:00
Last updated June 25, 2016

Luanode For ESP8266 and ESP32

This project is a Lua SDK for ESP32, multi task support (Compatible with ESP8266). ESP32 is a WiFi enabled System On a Chip for IoT.

Luanode For ESP8266 and ESP32

This project is a Lua SDK for ESP32, multi task support (Compatible with ESP8266). ESP32 is a WiFi enabled System On a Chip for IoT.

$3,535
pledged of $30,000pledged of $30,000 goal
98
backers
Funding Unsuccessful
The project's funding goal was not reached on Sat, June 25 2016 9:28 AM UTC +00:00
Last updated June 25, 2016

About

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!

Our stretch goals

All of the source code will be released Open Source (MIT licensed) on GitHub right after this project is alive on Kickstarter. But we still have some awesome extended stretch goals, so please consider backing this project!

  • 15000 USD - We will provide some great applications of Luanode. The applications include Wi-Fi Tank, and interesting Robot (we are still working on it), they can be controlled by PC, Android/iOS device . All documents and source code (including Android/iOS app) will be released open source!
  • 20000 USD - Although the FreeRTOS is ported in Luanode, we will port some other embedded operation system (OS), such as uCOS and Contiki, for Luanode. The developers will have more options when they are going to create a multi task project. If you are familiar with other OS, please feel free to contact us, and we will try to integrate it to Luanode! 
  • 25000 USD - We will develop and provide more modules! This is according to users and backers. Please tell us what sensors do you utilize and the major function you want, then we will try to provide a new module for you. 
  • 28000 USD - For those backers who support more than 180 USD, we provide a Wi-Fi Tank as a thank. The tank will mention in the following section, the documents, source code, including Android/iOS app are also free! 

ESP32

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
Esp32
Esp32 prototype
Esp32 prototype

Note that this kickstarter campaign is NOT merely a software campain! We have a supporting factory to produce hardware in ShenZhen, China. We release Luanode as open source code, and also provide hardware for our backers.

Luanode   

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). 

Lua Programming:

You can use Lua to program via uart, and then run immediately. The program style likes the following image. Input your code behind the prompt ">".

Lua Programming
Lua Programming

FreeRTOS is ported in Luanode. 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 the repository on Github: https://github.com/Nicholas3388/LuaNode

We will keep updating the project on Github.

Applications

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.

Application
Application

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.

WiFi Tank
WiFi Tank

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.

WiFi Tank
WiFi 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 app in the video support both iOS and Android. The iOS app was published on App Store. If the backers receive the tank, they can download the app for free and test with it. Download link: https://itunes.apple.com/us/app/doit-video-car/id1068695561?l=zh&ls=1&mt=8 . The Android app was not published, it will send to our backers or clients directly by email.

WiFi-Killer: 

Another funny application for Luanode is named Wifi-killer (Based on https://github.com/robber5/wifi-killer). A Denial of Service (DoS) example for Luanode. It send deauth attack packet to target client by automatic. The phones near the target will not be able to connect to the target, when the deauth attack packets are continue sending to it. 

To attack a target, you need its MAC, and the write to the code. Replace the array named ap in the user_main.c within the wifikiller folder with target MAC, then build it. After that reset the device, it will loop send packets to target!

How to get target MAC? Utilize the tool named WirelessMon, the following screenshot is the tool. It's a free tool.

WirelessMon
WirelessMon

You can find your target MAC from the SSID list at the bottom of UI.

It is easy to change the example to attack all Wifi providers which are near your Esp8266/Esp32.

More applications are being developed. We will provide some of them as business products. We are also plan to provide some of them as rewards for those backers who give us big support.

What will backers get from this Kickstarter

  • As a backer you’ll get the Luanode source code, ready to run, to put on your favourite ESP32/ESP8266 development board. Bug fixes and critical updates will also be provided to all backers.
  • A detail document to help you get started.
  • The backers will get the ESP32 Dev kit provided by DOIT, for those backers who give big support will get a WiFi Tank as a reward.

What will the money be used for

This Kickstarter campaign is all about raising money to fund the development of a piece of free and Open Source software. The funds will be used for subsistence of our engineers while developing the software. Quality software requires time and money to develop, and with your pledge to this campaign we can put our efforts into making Lua run silky smooth on the ESP32 as well as ESP8266. In particular the areas that will receive attention are:

  • Hardware: We need money for hardware prototype, and then use it to develop the software. Once this Kickstarter campaign is completed, we will start producing ESP32 dev board for this project backers. We have a supporting factory to produce hardware in ShenZhen, China. Hardware manufacturing will cost money, plus, we will ship the hardware to backers around the world, it will also cost some money.
  • Software: The bulk of the work consists of programming the port of Lua to the ESP32/ESP8266 chip. This is highly technical work that requires a deep understanding of Lua, of embedded operation systems and microcontrollers, and of the ESP32/ESP8266 chip. We will concentrate primarily on: (1). Porting Lua to the hardware and provide a convenient Lua code input console for users. (2). Support multi-task application and provide file system. (3). Provide some common modules.
  • Documentation: The fund will provide for writing useful documents to help developer to get started.
  • Support: Part of the fund will be used to form a Luanode community for user. The creators of the project are keen to provide guidance and support for such community.

What is the timeline of this campaign

  • The Lua has initially ported to ESP32, the backers can access it on Github and test it (if you have ESP32) about one weeks after this Kickstarter campaign is alive.
  • The Beta version of Luanode will be released about two weeks. The stable version will be released at the end of May before the hardware producing.
  • Since we need some time to produce hardware, the estimate delivery time of hardware will be the middle of July, come along with stable Luanode. A community will be formed at that time.

Extras

The IoT is a hot topic and it needs an efficient way to build it. MCU and small embedded devices are the heart of the IoT and can be hard to program because of their limited resources, and the fine details associated with low-level peripheral access. Lua was written specifically to run on such small devices and make it easy to program them. The IoT is a huge topic, and create a successful open source project for IoT is not an easy job. It requires time and money to develop. Thus, we need your help, not only money, but also your feedback. Please feel free to contact us, if you have any question.

Who are the people behind this project

Wei Wang: He got his master's degree from Guilin University of Electronic Technology in 2012. He has more than 4 years work experience on Embedded System. He used to be an Indie Game Developer.

DOIT(www.doit.am): DOIT is a high-tech company, who focus on IoT technology and open source hardware, he supports this project and provides hardware for this project. His successful products include WifiMCU, Doit Video Tank, and Wifi sniffer, etc.

DOIT
DOIT

References and Acknowledgements

ESP32_RTOS_SDK: https://github.com/Espressif/ESP32_RTOS_SDK

ESP8266_RTOS_SDK:https://github.com/Espressif/ESP8266_RTOS_SDK

NodeMCU:https://github.com/nodemcu/nodemcu-firmware/tree/master/app/lua

esp-open-sdk: https://github.com/pfalcon/esp-open-sdk

Lua: www.lua.org

eLua: http://www.eluaproject.net/

Espressif:http://espressif.com/en

DOIT:http://www.doit.am/

ESP8266 Community Forum:http://esp8266.com

wifi-killer: https://github.com/robber5/wifi-killer

Risks and challenges

Now we have prototype of ESP32 for developing, and we have completed porting Lua to Esp32. We have a supporting factory to produce products in ShenZhen China. But we haven't finished running a file system on the hardware, we are still working on it. Plus, the lua input console is almost done in a few days.
Another obstacle we are now facing is how to disable the arrow key input. We don't want user to move the cursor, if the cursor on the console is moved to the exist content, the new input content will cover the exist content.

Learn about accountability on Kickstarter
Questions about this project? Check out the FAQ

Support

  1. Select this reward

    Pledge US$ 19 or more About US$ 19

    Reward one ESP32 development kit.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    18 backers
    $

    By pledging you agree to Kickstarter's Terms of Use, Privacy Policy, and Cookie Policy.

    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge US$ 39 or more About US$ 39

    Reward 6 ESP32 development kit, cheaper than retail.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    78 backers
    $

    By pledging you agree to Kickstarter's Terms of Use, Privacy Policy, and Cookie Policy.

    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge US$ 219 or more About US$ 219

    Reward a DOIT video car as a thank.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $

    By pledging you agree to Kickstarter's Terms of Use, Privacy Policy, and Cookie Policy.

    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (59 days)