low.js: Review of (the last months of) the year 2020

2020 is almost over, and before it is, we would like to give a sign of life here before 2021 arrives and give some insights what is happening at neonious for everyone who is interested to know.

What’s this about?

As you might know, we develop low.js, an Open Sourced port of Node.JS for ESP32 based microcontrollers or Linux machines with just a few MB of RAM. With low.js any ESP32 microcontroller or such low level Linux machine can be easily programmed and easily connected to the Internet.

The ESP32 is a good choice for any product, as nowadays it is a stable and good working chip, with fast dual CPU, Wifi and Bluetooth and costs of under $ 3. Adding Ethernet costs not more than another $ 1.

A very small but fully functional ESP32 board.

If your project uses the ESP32-WROVER with 16 MB Flash (still low costs of under $ 4 for the chip), low.js can be used with the neonious IDE: A full blown IDE with visual debugger, breakpoints and everything. It is served right from the microcontroller and accessible via web browser over Wifi or Ethernet.

The neonious IDE in action.

This IDE is currently only available for the ESP32 based devices. On Linux or macOS computers low.js also runs, but there it is basically a command line program, just a replacement for Node.JS.

What we were up to.

In the last months, we ported low.js with the neonious IDE to Linux machines, for a paying client who is designing a Linux based device which he wants to have easily programmable by the end users of the device. It is working well, and of course even snappier than on the ESP32, as Linux based devices have more horsepower.

We do not have plans on making this version of low.js public yet. We will think about this in the new year.

However, this project has resulted into us fixing some things which we also fixed in the ESP32 version. So, yesterday we published low.js 1.6.0 with the following changes:

  • neonious IDE: Files with problems (syntax) no longer run, now throw with the info that the user shall fix the errors noted in the Problems tab.
  • neonious IDE: Locals and call stack are now shown more reliably when the program is paused.
  • Support for memory ceiling when using low on POSIX machines.
  • Better memory handling.
  • Native API now also works on ARM machines.
  • Added URL to global scope.
  • New neonious.one certificate added.
  • Fix for transpilation on POSIX machines.
  • Fix for MQTT module.
  • Some bugs fixed which were found by validator software.

This new version 1.6.0 is the most stable version yet – we actually believe it to be rock-stable. Still, if you find a bug, please report.. Stability is important for us!

That’s it for now. Thank you for reading and we wish you a happy new year! For more information, please take a look at our website at https://www.neonious.com/ !