Skip to content

Quick Start ​

Five minutes from plug-in to LED rainbow. This guide walks you through connecting your first device, watching the protocol handshake in real time, and playing with the built-in tools.

Connect a Device ​

Plug in a ROLI Block via USB. If you've run blocksd install, the udev rules are already in place and the device will be accessible without root.

Run the Daemon ​

Start blocksd in the foreground with verbose logging to see what's happening:

bash
systemctl --user stop blocksd   # if the service is installed
blocksd run -v

You'll see the device discovery sequence play out:

INFO  blocksd ready, scanning for ROLI devices
INFO  Master serial: LKBC9PZSOH978HOE
INFO  Topology: 2 devices, 1 connections
INFO  ✨ Device connected: lumi_keys_block (LKBC9PZSOH978HOE), battery 31%
INFO  ✨ Device connected: lightpad_block_m (LPMJW6SWHSPD8H92), battery 31%

The daemon is now maintaining API mode keepalive. Your Blocks will stay alive as long as blocksd is running.

TIP

If you installed the systemd service, you can also start the daemon in the background:

bash
systemctl --user start blocksd
journalctl --user -u blocksd -f    # follow the logs

Check Device Status ​

In a separate terminal, scan for connected devices:

bash
blocksd status

For full details including serial number, firmware version, and battery level:

bash
systemctl --user stop blocksd   # also stop any foreground daemon
blocksd status --probe
systemctl --user start blocksd

Try LED Patterns ​

The LED and config commands open their own MIDI sessions. Stop the service and any foreground daemon before using them. LED commands remain running until Ctrl+C; config commands probe for about eight seconds. Restart the service afterward.

The first LED frame loads a LittleFoot renderer. Pixels follow complete upload acknowledgement and a matching reply to a fresh execution challenge. Visible RGB patterns have been verified on Lightpad M 1.1.0 and LUMI 1.3.9. API acceptance confirms daemon acceptance, not a visible display change. See the LittleFoot notes.

If you have a Lightpad Block or Lightpad Block M, try the built-in LED patterns:

bash
blocksd led solid '#ff00ff'                      # solid magenta
blocksd led rainbow                               # static rainbow
blocksd led gradient ff0000 0000ff                # red → blue gradient
blocksd led gradient ff0000 0000ff --vertical     # vertical gradient
blocksd led checkerboard ff0000 00ff00            # 1x1 checkerboard
blocksd led checkerboard ff0000 00ff00 --size 3   # 3x3 checkerboard
blocksd led off                                   # lights off

Read Device Config ​

Query and modify device settings:

bash
blocksd config list              # show all known config IDs
blocksd config get 10            # read velocity sensitivity
blocksd config set 10 50         # set velocity sensitivity to 50

Launch the Web Dashboard ​

If blocksd is already running, open http://localhost:9010 directly. Use blocksd ui only when no daemon is running; the command starts its own daemon.

For a visual overview of your connected devices:

bash
blocksd ui

This opens a real-time dashboard at http://localhost:9010 showing device topology, battery status, and LED state. The dashboard communicates with the daemon over WebSocket.

bash
blocksd ui --port 8080           # custom port

Running as a Service ​

For daily use, run blocksd as a systemd service so it starts automatically on login:

bash
systemctl --user enable --now blocksd

Check the service status:

bash
systemctl --user status blocksd

What's Next ​

Released under the ISC License.