PIXILAB Blocks® is software for producing and managing rich experiences for visitor centers, museums, exhibitions and corporate presentations. It features a unique mix of content and display management, control system capabilities, interactive presentation and mobile guide functions.

Blocks runs on Macintosh, Windows and Linux computers, connecting to virtually any number of displays, players and other subsystems. You produce, configure and manage everything over the local network using your laptop computer.

Below you'll find a collection of guides and how-to:s on the configuration and use of Blocks.


Here's version 4.4 of the Blocks server.

The Blocks Manual tells you how to install the program on a MacOS or Windows computer.

:!: In order to use Blocks, you must have a license key. The program will not start without a valid license key connected.

For Linux, there's a complete server image, including the operating system, ready to install and run on most PC-style computers.


Newer version of Blocks are released from time to time. To update your Mac/Windows version, simply download the latest version above and re-install. To update the Linux version:

  1. Download the gzip-file containing the latest version.
  2. Move the PIXILAB_Blocks_Linux.tar.gz file to the home directory of the pixi-server user of your Linux server.
  3. Unpack the file on your Linux server, thus replacing the previous files/folders with the same names, by running the following from a terminal window opened under the pixi-server user's account:
cd /home/pixi-server
tar xvzf PIXILAB_Blocks_Linux.tar.gz

Make sure you keep other aspects of your Linux-based server up to date as well by following these instructions.

See the release notes for details, as well as relevant posts on our forum. If you're not yet a forum member, just send an email to info@pixilab.se, titled FORUM and we'll be happy to bring you on board.

Display Spots

How-to guides helping you installing and configuring displays with your Blocks system. Blocks can be used with a wide variety of display devices and technologies.

:!: Devices may change from time to time outside our control as new devices are introduced and old models are taken off the market. The guides presented here are "best practices", and are not to be considered as endorsements or purchase recommendations. You're should perform your own tests to ensure performance, reliability and compatibility before chosing a device or software.

Application Notes

Custom Panel Styling

As everything in Blocks is based on standard HTML5 web technologies, you can use common techniques such as CSS and web fonts to change the look of buttons, panels and blocks in general. Read more about how to do so here. There's also some examples of ready-made styles and associated test blocks found om our github repository.

Control System Functions and Tasks

For basic control needs, binding buttons and other controls directly to properties provides a level of programmability that's intuitive and easy to use. More complex actions can be programmed using the step-based programming capabilities provided by Tasks. Learn more about how to use Tasks here.

For complex applications, calling for fully custom designed solutions with advanced "code level" programming requirements, Block goes even further, offering advanced scripting capabilities. Here's a case study showing how advanced scripting can be used to build a custom solution.

Device Drivers

Blocks also comes with a plug-in architecture for controlling most devices equipped with a network, serial data or IR remote control port. Learn how to install and use drivers on your Blocks system here.

New device drivers are written by PIXILAB and by our partners. If you're familiar with the control protocol of a device to be controlled, and have sufficient software development expertise, you can write your own devices drivers.

Art-Net/DMX512 Control

As discussed in the Manual, Blocks has built in support for controlling lighting fixtures based on the Art-Net/DMX512 Control protocol. While controlling single channels and common basic functions is straightforward, and built into Blocks as standard, controlling more advanced fixtures, with numerous controllable parameters and operating modes, can be more challenging. To help keeping things manageable, such complex fixtures can be described by a fixture description file, specifying its function-to-channel mapping.

Read more about how this works, and how you can obtain or create additional fixture definition files, here.

Live Video

Blocks supports live video feeds based on a number of formats and protocols.

Blocks Server Configuration File

Some fundamental settings of the Blocks server are controlled through a configuration file. This includes things such as which port number the server listens to, where its data files are located, etc.

Linux-based Server

The following guides are specifically related to our Linux-based server.

Keeping your Linux-based Server up to Date

PIXILAB regularly revisits and improves the Linux server image, resulting in newer releases. To keep up to date with important enhancements, follow this guide.

Timekeeping in Blocks

Most computers, mobile devices and tablets will synchronize time automatically via internet using NTP servers or by other means. Pixilab Player kiosks must be configured to use a NTP server to keep the computer clock on time. See this section for details.

Hardware RTC clocks will drift away substantially over time if it does not get sync from the internet.

In the case of a offline installation with no or very limited access to the internet there are still methods to get perfect syncronised time in the system. Setup a dedicated hardware NTP server on the local network that synchronises its built-in clock via radio or GPS. Even without any means to synchronise such device to a reference clock it has a high-quality temperature compensated machine clock that outperforms any PC clock in terms of stability and can easily be manually maintained from a web browser or the front panel.

We have two application notes available using two different method to show time.

The animated wall clock will work even if the Player device is not correct or synchronized as it is fetching the time from a script property the server once every hour to keep the clock on time. This assumes that the server time is maintained manually or automatically.

The world clock example requires that the Player device is configuredto maintain its own local clock.

:!:Both Android and iOS devices are designed for constant internet access and generally there are no configuration settings to get the time from a local server. In this scenario it may be most straight forward to use the method in The animated wall clock.

It may be possible to use a DNS server entry they direct any request to a local NTP server. Wireshark may be the tool to find out what NTP server a particular device uses.