Control ClickBeetle “BlueBeetle” RBG LED via RaspberryPi Zero W

RaspberryPI Zero W contains WLAN and Bluetooth with LE capability. This makes it perfect controlling BLE peripherals via the BLE-stack Bluez like FEEUs ClickBeetle (

Bluez versions in the aptitude repository are pretty old. For this reason it is better to use Bluez from and compile it.

First get sure bluez is uninstalled:

sudo apt-get --purge remove bluez

Choose the latest version from the repository

in this case it is bluez-5.9, so we download it to our homedirectory:

cd ~; wget

we uncompress the package by

tar xvf bluez-5.9.tar.xz

We need to make sure all the necessary libraries are installed:

sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev

Now we are ready to compile bluez (this will take a while):

cd bluez-5.9
export LDFLAGS=-lrt

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-library -disable-systemd

sudo make install
sudo cp attrib/gatttool /usr/bin/


So lets bring up the bluetooth peripheral:

sudo hciconfig hci0 up


Let’s turn on our ClickBeetle BlueBeetle with the installed demo firmware and search for it via:

sudo hcitool lescan

with CTRL+C we can exit the scan process.


Now lets write a small script to control ClickBeetle. For that we will start gatttool with the BLE device address which is E2:73:E1:07:17:53 in this example:

sudo gatttool -b E2:73:E1:07:17:53 -I -t random


Entering connect followed by characteristics giving following result:

We see the characteristics we want to use to write data is having the value handle 0x0015. This information we will need to write data.


To control the RGB LED, data must be written in the style: “m,R,G,B”. Example: “m,255,0,0”


We start creating our script by:

nano clickbeetlecmd


Following script is using the gatttool to control writing data to value handle 0x0015.

#HEXVAL=$(hexdump -e '"%X"' <<< $STR)
HEXVAL=$(xxd -pu <<< $STR)
echo "$HEXVAL"
gatttool -b $1 --char-write -a 0x0015 -n $HEXVAL -t random

We close nano with CTRL+w and CTRL+x.


Now we need to make clickbeetlecmd executable and copy it into the bin folder by:

sudo chmod 755 clickbeetlecmd
sudo cp clickbeetlecmd /usr/local/bin/

Great, we are ready. ClickBeetle can be now controlled by RaspberryPI Zero W by following command:
(ClickBeetle E2:73:E1:07:17:53, turning LED red maximum, LED green off, LED blue off)

sudo clickbeetlecmd E2:73:E1:07:17:53 255 0 0


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.