What will you build?

Bringing Node.js to IoT: Meet low.js

Sarah Schlothauer
© Shutterstock / Ekaterina Kondratova

Are you a hobbyist or professional struggling with JavaScript eating up your RAM? With low.js you can use Node.js with low system requirements. Find out what potential low.js brings to the table for developers.

Node.js has been changing the capabilities of JavaScript since its creation by Ryan Dahl in 2009. Now, there is another way that you can use Node.js with impressively low system requirements. The low memory footprint of low.js opens up new doors for embedded devices.

How low can you go?

Introducing low.js: a port of Node.js that allows you to program JavaScript with low system requirements. It is based off of the embeddable JavaScript engine DukTape , which focuses on portability and a low memory footprint.

Sometimes JavaScript can use a bit more memory than we need or anticipate. However, Low.js uses less than 2 MB of disk space and around 1.5 MB of RAM.

On GitHub, it’s recommended to use use low.js with ESP32. ESP32 is low-cost, low-power, with Wi-Fi and Bluetooth capabilities. (The cost may vary depending on your location and availability, but prices hover around 12 USD, and can even drop into single digits.)

SEE ALSO: Top 5 IDEs and code editors for Node.js

For both hobbyists and professionals alike, this low cost is an attractive solution. Especially if you have to factor in unit cost for production, keeping materials affordable is key.

Bringing Node.js to the IoT

So, why should we care about such low requirements? It’s not like our computers are commonly chugging along on such low RAM. Except, there are still plenty of use cases where low.js shines. For instance: IoT devices.

With such low requirements, Internet of Things devices don’t need any costly modules. They can run Node.js scripts on a smaller, more cost effective device. Lower system requirements also allows for devices to use less power and conserve limited resources for tasks other than JavaScript code.

This can create a whole new world of IoT capabilities that aren’t as limited by RAM or system memory. Because of this, JavaScript could be implemented on more IoT devices. Everything that’s useful about Node.js as well comes along with it.

The low.js website gives some more food for thought on its capabilities in the professional setting:

low.js for ESP32 adds the additional benefit of fast software development and maintenance. The complete software stack of an IoT product (microcontrollers, websites, servers) can be based on the same software base. No specialized software developers are needed for the microcontroller software.

SEE ALSO: Ryan Dahl is fixing his Node.js design regrets with Deno

Ready to begin?

There are two versions of low.js available depending on your needs. The community edition runs on POSIX-based systems (Linux, uClinux, or Mac OS X) and is open sourced on GitHub. All this version takes is a little simple programming knowledge to get it up and running.

Then, the ESP32 edition that is adapted for the ESP32 microcontroller is available for purchase. This version comes pre-flashed and is therefore available to use right out of the box, but other than this it is identical to the free, open source version.

Peruse through the documentation for more details about this project. According to the documentation, only half of the Node.js API is currently implemented. Currently, its creators are progressing on the other 50%. They state that “only non-depreciated, non-experimental APIs of Node.js will be implemented”. The status of each is reflected on the site.

What will you build?


Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is the editor for She received her Bachelor's degree from Monmouth University, West Long Branch, New Jersey. She currently lives in Frankfurt, Germany with her husband and cat where she enjoys reading, writing, and medieval reenactment. She is also the editor for Conditio Humana, an online magazine about ethics, AI, and technology.

1 Comment
Inline Feedbacks
View all comments
no one
no one
3 years ago

or simply dont use the worst programming language ever