NeoJS

Logo

NeoJS is a JavaScript scriptable NeoPixel LED Controller with an easy to use Web UI

View the Project on GitHub

NeoJS is a ‘JavaScript’ scriptable NeoPixel LED Controller with an easy to use Web UI ‘Out-of-the-Box’

Image of NeoJS Logo

For the End User - (Release)

NEOJS is a scriptable LED Controller that can be used by beginners and experts to learn, test, prototype, experiment, and deploy NeoPixel addressable LEDs and LED patterns.

There’s no need to install software or drivers on your computer or device to get started. Everything you’ll need to connect, control, program, and edit files are available ‘Out-of-the-Box’ using only your web browser.

Educators can use NeoJS as an educational ‘Toy’ to teach programming skills using a fun, interactive, and easy to use platform. NeoJS provides a collaborative classroom environment that connects teachers and students like never before with features like an interpreter environment, the ‘live’ REPL, and multi-user web UI. There are downloadable lesson-plans, and activity sheets to help get educators started with NeoJS.

NeoJS is a ‘Blank Canvas’ ready to be used as a tool or a resource by artist, technicians, or anyone wanting to rapidly develop and deploy LED installations. With the integrated web server, led controller, and the JavaScript VM NeoJS provides and easy to use framework to build and deploy a fully customized LED installation.

For the Developer - (Source)

NeoJS is also a Arduino Sketch that demonstrates the use of a script interpreter (Elk JavaScript VM) from within the Arduino Development Environment (IDE). Leveraging the Arduino development environment and several well known and tested Arduino drivers/libraries to create a scriptable LED Controller with WiFi access, web configuration, a web file editor (to edit the patterns), and a web (or serial) REPL to interact with the VM ‘live’.

Status

NeoJS right now is still very much in the ‘just hacked together’ … ‘prototype’ … ‘proof of concept’ …

However, this is one of the objectives we are trying to demonstrate with this project. We want to show by adding a VM layer into an Arduino sketch not only changes the dynamics of the sketch, (by making it scriptable) while maintaining access to the vast collection of Arduino libraries and drivers available today. Quickly glue various ‘Arduino Libraries’ together and map them into a JavaScript VM.

Screenshot

Image of NeoJS Screenshot

Getting Started

See the Getting Started Guide

Thank You

Cesanta Software - Elk JavaScript Engine

me-no-dev - ESPAsyncWebServer

Adafruit Industries - NeoPixel Driver

Benoît Blanchon - ArduinoJson

Espressif Systems - ESP32 core for Arduino & ESP Microcontrollers

ESP8266 Community Forum - ESP8266 core for Arduino

Arduino open-source project