Table of Contents

The Result

Click to open in a new window.

Media ID: BvkaLr8oaDR

Click to open in a new window.

Media ID: BvlUtRkoJBb

Arduino Library Setup

To manually import a library into the Arduino IDE go to the menu Sketch-> Include Library-> Add ZIP Library, and select the downloaded zip file.

Maker_LED_Matrix_32

Go to https://github.com/e-radionicacom/Maker_LED_Matrix_32, click on Clone or Download, and download the Maker_LED_Matrix_32-master.zip.

IS31FL3731

Do the same with https://github.com/BornaBiro/IS31FL3731 (as stated in the manual linked above).

ArduinoJson

Install ArduinoJson v6 using the library manager.

The Code

The repository is here: https://github.com/pauls-3d-things/connected-makerdisplays

The code consists of two components:

Server

Requirements

The server is written with typescript, a typed variation of JavaScript.

Please install nodejs first, to be able to run this.

To run the server use a shell and got into the server/ directory, then run:

npm install
npm run build
npm run serve

Then, go to http://localhost:4444/balls and verify the output is as follows:

[{"x":0,"y":0}]

Enable CLI Rendering

To enable the CLI render, go to http://localhost:4444/renderCli

Add more bouncing pixels

To add more bouncing pixels to the screen, go to http://localhost:4444/addball

Client

The clients are MakerDisplays, you can get them here: https://www.crowdsupply.com/e-radionica/maker-led-display

Or later from here: https://e-radionica.com/

They sponsored the boards, so I could try them (and thus write this article).

Open the client.ino file.

Modify the following variables according to your network and the host name of the computer running the server:

const char* SSID = "<YOUR SSID HERE>";
const char* PASSWORD = "<YOUR PASS HERE>";
const char* SERVER = "http://<YOUR SERVER IP HERE>:4444/balls";

Then, flash the software according to their manual: https://github.com/e-radionicacom/Maker_LED_Matrix_32.

Otherwise use these settings.

Running everything

First, start the server. Then, one by one add displays to expand the animation across all displays.

Turning displays off is not supported, i.e. they will not be removed. Turing a display off and on will result it being added at the bottom of the screen again.