My logic does not run
The most common cause is not clicking RUN. Creating logic and running it are separate steps: click RUN at the top, and check that the device icon shows a connected (green) state.
RUN reports an incompatible configuration error
The device selected at project creation differs from the board of the connected controller. Change the project's device to the actual board, or use All Devices for projects that run on multiple boards (Part 3).
Connection works on the same network but not from outside
Connecting from a different network (external internet, cellular, etc.) uses remote connection traffic, which has a monthly free quota. Once the quota is used up, external connections are limited until the next reset date. Connections on the same network are unaffected by the quota.
Settings changes are not applied
Some items are locked for editing while running. Stop with STOP, make the change, and click RUN again.
A condition triggers too often, or almost never
Sensor readings can flip between true and false in a short time. If the condition triggers too often, stabilize it with the Hold Time option (Part 4). If it almost never triggers, check that the comparison operator and target value match the variable's type.
AI analysis results are not written to variables
AI Analysis is an action, so it runs only when the condition of its control is met. For continuous analysis, set the condition to Always or Once so the analysis keeps running.
No camera feed is shown
Check in Settings → Camera that the camera is registered correctly and that no other program is using it. For USB cameras a faulty cable or hub may be the cause; connect through a different cable or port and check whether the symptom persists.
Dashboard widgets show no values
Widgets show live values while the controller is connected and running. Showing only default values in the editing view (stopped state) is normal behavior.
Notifications (push, Telegram, email) do not arrive
First check whether the action actually executed; if its condition is not met, the action does not run. For Telegram and email, also verify the bot token and server settings registered in Settings.
Audio stutters or playback is delayed
This is common on older operating systems whose audio server is PulseAudio. On devices with limited resources, PulseAudio's buffering and scheduling readily cause dropouts. Upgrading to a version that uses PipeWire as the default audio server is the reliable fix: Debian 12 (Bookworm) or later, Raspberry Pi OS Bookworm or later, and Ubuntu 23.10 (Mantic Minotaur) or later, including the current LTS release, Ubuntu 24.04 LTS (Noble Numbat).
The operating systems where this can occur are:
- Debian 11 (Bullseye) and earlier
- Raspberry Pi OS Bullseye and earlier
- Ubuntu 20.04 LTS (Focal Fossa)
- Ubuntu 22.04 LTS (Jammy Jellyfish) (PulseAudio is the default audio server; PipeWire is used only for some functions)
The main causes are:
- High resource overhead: audio processing falls behind on resource-limited devices.
- Buffering and scheduling: the default timer-based scheduling (
tsched=1) can cause audio buffer underruns or overruns. - Instability of Bluetooth audio
No sound from a Bluetooth speaker
Check that the speaker is paired and connected, and that it is set as the default
output device. On Raspberry Pi OS with PipeWire, check in the Sinks list of
wpctl status that the default device (marked *) is the Bluetooth speaker.
See the appendix for connecting it and
setting the output device.
The error "Failed to create new vlc instance." appears
Grablo uses VLC for media playback and audio recording. Installing from the .deb package pulls VLC in as a dependency, so nothing extra is needed there, but this error appears in environments without VLC. Install it from the controller's terminal.
sudo apt-get update sudo apt-get install -y vlc
Installation reports that the account is not in the sudoers file
The login account lacks administrator (sudo) rights. Connect to the controller,
switch to root with su, and add the account to
/etc/sudoers. See Appendix B
for how to connect.
su nano /etc/sudoers
The password for su is the root password entered when the operating
system was installed. Add one line in the following form, save, and install again. In
nano, press Ctrl + X, then Y and Enter when asked whether to save.
username ALL=(ALL:ALL) ALL
Files cannot be uploaded
File uploads require a connected device. If uploads fail while connected, the free storage (1GB) may be full; remove unused files (Part 3).
Does the controller keep running after the web browser is closed?
Yes. In Grablo the web browser and the controller are separate. Logic written in the browser is sent to the controller when you click RUN, and from then on the controller runs the stored logic regardless of the browser (Part 2). If the controller reboots, it keeps running according to its stored run state and logic.
How many controllers can one project use?
One project connects to one controller. The same controller can be set in several projects, but a controller runs only one project at a time. Running a new project clears all previous settings and the controller runs with the new ones; if another project is already running, stop it first.
To run the same project on several controllers, duplicate the project and connect a different controller to each copy (Part 3).
Why do some I/O devices work only on Raspberry Pi 0 to 4?
Some I/O devices, such as stepper motors, NeoPixels, and the HX711, require GPIO control with precise timing in microseconds (1/1,000,000 s). A regular PC's CPU runs many programs in turn under a multitasking operating system, so it cannot guarantee that timing.
The Broadcom SoC on the Raspberry Pi 0 to 4 can drive GPIO through DMA, producing very short, precisely timed signals without CPU involvement. The Raspberry Pi 5 controls GPIO through a separate chip, the RP1, so this timing method is currently not available on it.
How does Grablo differ from Arduino?
Arduino is an open-source hardware platform based on microcontroller boards; programs written in C/C++ are uploaded from a PC to the board and run there. Networking and multimedia are not on the base board and need separate modules.
Grablo is a platform that runs on single-board computers such as the Raspberry Pi and on PCs, and logic is built by arranging blocks in a web browser instead of writing text code. It provides I/O devices such as sensors and motors, networking, audio and video, and industrial communication, and devices can be controlled and monitored from dashboards. Grablo does not run on Arduino boards. For the hardware differences, see the appendix.