node-red-contrib-st7735s 0.0.3
IPS LCD for ST7735s controller
node-red-contrib-st7735s

Node-Red node to talk to ST7735S TFT displays, connected by Raspberry Pi's SPI.
The node is using JSPyBridge to provide the JS bindings for the Python ST7735
using Standard Error as the IPC. Additionally, all the functionalities provided is using the PIL Image and ImageDraw module. Requires Node.JS >= 16 and Python
to be installed.
Usage
Enable SPI
Enable the Raspberry Pi SPI interface via GUI or raspi-config
Install the Python ST7735 from Pimoroni:
Python2
sudo apt update
sudo apt install python-rpi.gpio python-spidev python-pip python-pil python-numpy
sudo pip install st7735
Python3
sudo apt update
sudo apt install python3-rpi.gpio python3-spidev python3-pip python3-pil python3-numpy
sudo python3 -m pip install st7735
Run the python examples to make sure its working. This node fully rely on this installation to be working.
Install node-red-contrib-st7735s
cd ~/.node-red
npm install node-red-contrib-st7735s
or install it via NodeRed pallete manager.
Config:

The default value should be working for 0.96' ST7735S IPS LCD display. However, take note on the Width and Height
values. The ST7735s has a Frame RAM of ST7735_COLS = 132 and ST7735_ROWS = 162. The number of columns is less than
the columns of the display (160). Thus the width is set to 80 and the height to 160 then rotated 90 degree.
The default value of Offset Left and Offset Top is given by Python ST7735 library however it produces some
undesirable artifacts on my testing unit. Setting it to:
Offset Left = 24Offset Top = 0
seems to eliminate it.
Features
- Tested with Raspberry Pi 4B.
- In the
examplesdirectory there is a flow (example.json) that you can use for testing. - Read the
nodedocs for details operation. - Be mindful of
PlayGifandTextScrollnode. These nodes needs to be stopped withStopGifandTextStopbefore drawing another stuff on the LCD.
If you are seeing this error when stopping the NodeRED:
Traceback (most recent call last):
File "/home/pi/Pimoroni/node-red-contrib-st7735s/node_modules/pythonia/src/pythonia/interface.py", line 53, in <module>
com_io()
File "/home/pi/Pimoroni/node-red-contrib-st7735s/node_modules/pythonia/src/pythonia/interface.py", line 42, in com_io
data = apiin.readline()
File "/usr/lib/python3.9/socket.py", line 704, in readinto
return self._sock.recv_into(b)
KeyboardInterrupt
It is ok. It just the JSPyBridge things.
Please Contact Us
If you have any problem when using our package, please contact us..