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

Click here for our GitHub Repository

Node.js for Microcontrollers

All pins can be used for GPIO (with exceptions noted below), PWM, UART, SPI and I2C. All pins support 3 mA and 3,3 V.

The pin layout of the ESP32-WROVER is messy, which is why we cleaned it up with the neonious one. Because of this the pin numbering of the neonious one is different to the pin numbering of a generic ESP32-WROVER board.

Generic ESP32-WROVER Board

# Notes
0 connected to UART/USB adapter chip as DTR, do not pull low during boot
1 TX, connected to UART/USB adapter chip
2 do not pull high while flashing/installing low.js
3 RX, connected to UART/USB adapter chip
4
5
6 not usable by user program, connected to flash/PSRAM
7 not usable by user program, connected to flash/PSRAM
8 not usable by user program, connected to flash/PSRAM
9 not usable by user program, connected to flash/PSRAM
10 not usable by user program, connected to flash/PSRAM
11 not usable by user program, connected to flash/PSRAM
12 do not drive during boot (sets flash voltage)
13
14
15
16 not usable by user program, connected to flash/PSRAM
17 not usable by user program, connected to flash/PSRAM
18
19
20 pin does not exist
21
22
23
24 pin does not exist
25
26
27
28 pin does not exist
29 pin does not exist
30 pin does not exist
31 pin does not exist
32 supports ADC (inaccurate*)
33 supports ADC (inaccurate*)
34 supports ADC (inaccurate*), only supports input
35 supports ADC (inaccurate*), only supports input
36 supports ADC (inaccurate*), only supports input
37 pin does not exist
38 pin does not exist
39 supports ADC (inaccurate*), only supports input
= 24 pins usable by user program

* ADC on ESP32 is non-linear. This is fixed on the neonious one by letting the LPC822 co-processor handle ADC.

neonious one

# Notes
1 connected to red LED
2 connected to green LED
3
4 5 V tolerant, cannot be pulled high (only open drain)
5 5 V tolerant, cannot be pulled high (only open drain)
6
7
8 supports ADC
9 supports ADC
10 supports ADC
11 supports ADC
12 supports ADC
13 supports ADC
14 supports ADC
15 supports ADC
16 supports ADC
17 supports ADC
18 supports ADC
19
20
21
22
23
24* supports touch
25* supports touch
26* only supports input
27* only supports input
= 27 pins usable by user program

* Pins 1 - 23 are provided by the LPC822 co-processor. The user program can use these pins just like the ESP32-WROVER pins as the communication with the co-processor is handled automatically by low.js.