Home

Awesome

easybotics-rpi-rgb-led-matrix

WORKS ON THE RASPBERRY PI 3B AND RASPBERRY PI 4!!!!

tested on node 8 and node 10, probably works on node13 now

check out this guys fork: https://github.com/easybotics/node-rpi-rgb-led-matrix/pull/9

targetted at raspbian jesse

Pilot your rgb led matrix with Nodejs on Raspberry Pi ! Nodejs binding of rpi-rgb-led-matrix library https://github.com/hzeller/rpi-rgb-led-matrix

Fork of: https://github.com/zeitungen/node-rpi-rgb-led-matrix

Actively being maintained and modified for: https://github.com/easybotics/node-red-contrib-led-matrix

It is binding recent version of rpi-rgb-led-matrix library.

Installation with npm

$ npm i easybotics-rpi-rgb-led-matrix

Installation with git

$ git clone --recursive https://github.com/easybotics/node-rpi-rgb-led-matrix.git
$ cd easybotics-rpi-rgb-led-matrix
$ npm i

Get some Fun

var LedMatrix = require("easybotics-rpi-rgb-led-matrix");

//init a 16 rows  by 16 cols led matrix 
//default hardware mapping is 'regular', could be 'adafruit-hat-pwm' ect 
var matrix = new LedMatrix(16, 16 );
matrix.fill(255, 50, 100);
matrix.setPixel(0, 0, 0, 50, 255);
matrix.update();

The API has changed somewhat since the zeitungen version

LedMatrix API

All operations modify a local frame buffer, only after calling 'Update' are they printed to the display

	rows: height of led panels in pixels
	cols: width of led panels in pixels
	parallelDisplays: number of parallel panels
	chainedDisplays: number of chained panels
	brightness: initial brightness 0 - 100
	hardware-mapping: 'regular', 'adafruit-hat' etc
	rgbSequence: default 'RGB'
	cliFlags: array of cli flags
	set brightness between 0 - 100
	clear the display buffer
	draw colored circle to the buffer
	draw colored line to the buffer
	draw colored text to the buffer
	to use the fonts that come with the repo it looks something like this

	const input = "hello world!"; //whever you get the input from
	const font  =  __dirname + '/fonts/' + "5x8.bdf";
	led.drawText(x, y, input, font, r, g, b);
	led.update();
	fill the buffer with a color
	get height of addressable space
	get width of addressable space
scroll
setImageBuffer
mysterious methods back from before we picked up this library 
	set pixel to a color
	Draw the current buffer to the display (with vsync!)