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:
systemctl --user stop blocksd # if the service is installed
blocksd run -vYou'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:
systemctl --user start blocksd
journalctl --user -u blocksd -f # follow the logsCheck Device Status
In a separate terminal, scan for connected devices:
blocksd statusFor full details including serial number, firmware version, and battery level:
systemctl --user stop blocksd # also stop any foreground daemon
blocksd status --probe
systemctl --user start blocksdTry 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:
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 offRead Device Config
Query and modify device settings:
blocksd config list # show all known config IDs
blocksd config get 10 # read velocity sensitivity
blocksd config set 10 50 # set velocity sensitivity to 50Launch 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:
blocksd uiThis 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.
blocksd ui --port 8080 # custom portRunning as a Service
For daily use, run blocksd as a systemd service so it starts automatically on login:
systemctl --user enable --now blocksdCheck the service status:
systemctl --user status blocksdWhat's Next
- Configuration: customize daemon behavior via TOML config
- Web Dashboard: learn more about the real-time UI
- CLI Reference: all available commands
- External API: integrate with your own applications