Low.js for NR runtime on ESP32

Hi,

Is it possible to use low.js on esp32 for NR runtime?

Thanks!

1 Like

having never heard of it until now and given the very small memory size of the esp32 I'm going to guess no... but that is a guess. Does look interesting though as a potential micro-target platform to deploy to, but I think it would need some work.

Thanks. I'm thinking on Raspberry PI Zero and ESP32 on the same board. RPI runs NR runtime and EPS32 is in charge of GPIOs. But NR runtime in ESP32 looks much more attractive from all aspects.

Just to help me understand, do you mean putting the two devices on the same breadboard or PCB board? I'm assuming that is what you mean, but I want to be sure.

Would be a cool project, making NR run on a esp32, but unlucky me, I just have a couple of ESP-WROOM-32 lying around in the drawer

Note however that low.js is only supported on ESP32-WROVER modules and not on ESP-WROOM-32 modules, as these don’t have the 4 MB of PSRAM required [2]. So, you should take this in consideration when choosing your ESP32 board to test low.js.

This would open a lot of possibilities :grin:

You are right. I need one board for my iot project with fully autonomous work on a processes. And I need to reprogram it time to time. Process can't depend on internet connection.

A question on this subject, if I wanted to run the runtime only (say on a Pi Zero) using the current flow without starting the editor, how is this done? There was a lot of work done to divide the runtime and editor code so there must be some thinking along these lines. I assume only starting the runtime would reduce the resources required and possibly enable use of lower powered hardware?
Thanks

yes - well that is part of the reason to split out the runtime. However how much it saves, and how practical it is is all down to someone actually doing the work to try it (both on a full sized machine and then smaller devices) - all of which requires time and effort - so yes - we would be happy if some people decided to get involved and try this out - so that we can then work out the bits we didn't fix cleanly in the split.

If Node-Red is running on a machine - all I'd think it would be doing editor wise is listening for a connection to start.

I can't imagine that takes up much resources until you actual connect a browser to start editing
[edit]following Dave's comment - I was thinking CPU not memory requirements - silly me :slight_smile: [edit]

I think we are not talking about running the editor here - just the runtime to interpret some form of minimised flow (ie only a highly restricted palette of nodes).

Either way both the editor and runtime currently load up a load of stuff (way more than 4 MB) of node files, libraries, icons, etc etc - and the low.js needs most of that already !

1 Like

Ok, for those of us still trying to understand, the logic is that you may be able to start the runtime only and then only load a minimised flow and the nodes that are in that flow (only) ? :sweat_smile:

yes - that would be the theory... if you look at the source of the full project you can see it pulls in the existing dependencies - https://github.com/node-red/node-red/blob/master/packages/node_modules/node-red/package.json
In theory one could build another "top level" project that only pulled in the runtime - (and you would probably want some core nodes - but again they themselves would need to be minimised etc)
But still mostly theoretical until someone does it for real.

1 Like

Thanks a lot. A bit complicate for my skills.

Exactly)))