low.js (free Node.JS port) arguably provides the cheapest option to build electronics for many companies, and now we also provide the best tools for doing this

low.js is a port of Node.JS for ESP32 based microcontrollers. With low.js we are bringing ease of programming, scalability of programs and easy connectability to the Internet on to small devices.

To get straight to the point…

Cheapest unit costs for most network-connected electronics

The ESP32 chip, introduced by Espressif in 2016 is powerful (240 Mhz) and boasts, among over things, Wifi and Bluetooth. But most importantly, it is cheap. Bought in bulk, the ESP32-WROVER, a module which adds 4+ MB Flash and 4+ MB PSRAM to the EPSP32 chip, is available for under $3. Compared with options from other companies, this is a low for Wifi-enabled microcontrollers.

The ESP32-WROVER module (PCB antenna version)

What many people do not know, is that the ESP32 is also a bargain if you plan an electronics board with Ethernet connectivity. All needed is a PHY chip like the LAN8720 which adds an additional $1. As far as we know, this is also a low for Ethernet-enabled microcontrollers.

So at least when any network-connected or IoT electronics is planned, we strongly advise you to take a look at the ESP32 platform.

Cheapest development and maintenance costs in many cases

low.js provides

  • JavaScript ES 6 support,
  • most of the Node.JS API,
  • access to microcontroller peripherials in a Node.JS manner with the low.js for ESP32 API,
  • fully managed Ethernet and Wifi interfaces,
  • a built in file system

and also allows to mix in C/C++ code with the low.js native API if needed.

With low.js, the software of your electronics device can be developed by the same developers who do website or server development. No low-level programming is needed. This reduces costs, and even more importantly, it is easier to have people around to maintain or continue develop the software.

low.js also makes it easy for you to provide software updates to devices already deployed in the wild through Over-The-Air updating (see below).

Still, of course, low.js does not help with developing the hardware. As a side note, we created custom hardware for several clients and can help you get this done in a cost-efficient manner, too.

Now we provide the best tools: Bulk flashing and Over-The-Air updating even easier!

With our latest update of low.js, we made development and deployment of electronics even easier.

Before, flashing low.js and syncing the low.js user application on to the microcontroller file system were two seperate steps. You can now build custom low.js firmware images based on your needs – all without compiling any low-level code. These firmware images can include:

  • A pinned version of low.js Basic or low.js Professional
  • The on-board web-based IDE + debugger of low.js Professional
  • npm packages such as ws, axios, mysql or others
  • Custom settings (for example Wifi SSID and password)
  • Static read-only user files, optimized for speed
  • User files to prepopulate the file system with

These firmware images can be used to bulk flash many chips at once during the production process of your electronics.

Also, low.js programs written in JavaScript can receive image files over the Internet (uploaded by user in web browser or requested from server) and pipe them to low.js (via lowsys.createFirmwareStream()) to update themselves.

Documentation on the custom firmware feature can be found on the low.js website. An example project which features low.js custom images, Over-The-Air updating (and also a Vue based single-page browser application) can be found on GitHub.

The website served by the custom firmware example program, available on GitHub.