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.


Go to, click on Clone or Download, and download the


Do the same with (as stated in the manual linked above).


Install ArduinoJson v6 using the library manager.

The Code

The repository is here:

The code consists of two components:



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:


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


The clients are MakerDisplays, you can get them here:

Or later from here:

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:

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.