Want to stay informed? Share your e-mail address for news:

Click here for our GitHub Repository

Node.js for Microcontrollers

Here we are documenting specialities about low.js on ESP32.

Wifi

In contrast to other microcontroller environments, low.js manages the network interfaces for you, just like a PC with Windows or macOS does. After factory reset, low.js creates its own access point to which you can connect.

Switch from Access Point mode to using your router

Connecting your board to your existing Wifi instead of using the built-in access point is important if you want to access the Internet with your user's program.

With the neonious one, you can simply change the Wifi settings in the IDE's settings panel. Then, as long as you did not disable the tracking feature in the IDE settings, you can go to neonious.com/FindMyNeonious to determine your board's new IP address.

With a generic ESP32-WROVER board you have to (and with neonious one you also can) set the Wifi settings using the command line tool lowsync. After setting up lowsync (see the Getting Started example), you have to call:

lowsync settings set wifi.ssid="YOUR_SSID" wifi.password="YOUR_PASS" wifi.mode=station wifi.dhcp=static wifi.static_ip=192.168.0.42 wifi.static_net=255.255.255.0 wifi.static_gw=192.168.0.1

In this call, replace YOUR_SSID, YOUR_PASS, the IP, netmask and gateway IP with the correct values. Your board will immediatly switch the network after this. If you entered wrong data, this will not work. In this case reflash low.js with lowsync and the --reset-network option, which will make sure you keep your data.

If you have a way to track the IP of your board in your network, you can of course opt to use DHCP instead:

lowsync settings set wifi.ssid="YOUR_SSID" wifi.password="YOUR_PASS" wifi.mode=station wifi.dhcp=client

Disk Space

low.js on ESP32 organizes user files in an on-board file system.

Board Available for user's file system
Generic ESP32-WROVER Board 1 MB
neonious one 4 MB (manually upgradable to 12 MB using instructions below)

How to upgrade to 12 MB user's file system on the neonious one

Warning 1: This will erase all your data. Backup first.

Warning 2: If done correctly, this procedere always works. An unexperienced person can break things easily, however. Do at your own risk.

1. Replace the Flash chip on the back of the board with a W25Q128JV.

The W25Q128JV provides 16 MB (128 MBit) Flash. 4 MB of the space is used for the IDE, leaving 12 MB for the user's file system. It is available at Digikey for under $ 2. Other Flash chips are not supported.

The chip to replace is the one marked in red:

When replacing, make sure that the orientation of the new chip is the same the old chip had. The corner with the dot must be in the same location.

This can be done very easily by hand with tweezers, a soldering iron, solder and a desoldering pump. Please watch some of the many YouTube videos documenting this procedere before attemting yourself.

No matter what you do, never use force. If you do, the contacts on the board might go off with the chip, leaving only plastic and nothing to solder the new chip on. The old chip should just fall off, if done correctly.

2. Let the board reload the IDE on the new chip.

The board will blink red when repowered on. It will try to download the new IDE data. This will only work if it has Internet access. To ensure this, reset the network settings (see neonious one documentation) and connect via an Ethernet cable to a DHCP enabled network or connect to your own Wifi using lowsync (see documentation above).

This process will take less than 5 minutes.

3. The board will stop blinking. You have finished your upgrade.