Installing BtleJuice

From Embedded Lab Vienna for IoT & Security
Jump to: navigation, search


This documentation describes how to install BtleJuice on raspberrypi 3b+


  • Raspbian Buster with desktop based on Debian Buster(version: february 2020, release date: 2020-02-13, kernel version: 4.19)

Install nodejs

Step 1 Remove nodejs

sudo apt-get purge nodejs && sudo apt-get autoremove && sudo apt-get autoclean

Step 2 run the following script

curl -o- | bash

Step 3 install npm 6.17.1

nvm install 6.17.1
nvm use 6.17.1
nvm alias default 6.17.1
node -v
npm install -g npm
npm -v

Step 3 increases the amount of inotify watches.

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Install BtleJuice and dependencies

Step 1 Install the dependencies of BtleJuice using the package manager.

sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

Step 2 Install Btlejuice

npm install -g btlejuice

RP1: Setting up BtleJuice proxy

Step 1: Attach the bluetooth adapter

service bluetooth start

Step 2: ensure that the adapter is up and running

hciconfig hcix up

X is bluetooth adapter number obtained in the previous step.

Step 3 Find out the IP address


Step 4 Launch Btlejuice


RP2: Setting up BtleJuice core

repeat "install nodejs" and "Install BtleJuice and dependencies" on a second raspberry pi

Open a terminal on the host and run


Step 2: Stop bluetooth service

sudo service bluetooth stop

Step 3: Plug-in the bluetooth adapter

Step 4: Ensure that the Bluetooth adapter is up

sudo hciconfig hciX up

X is bluetooth adapter number obtained in the previous step.

Step 5: Connect BtleJuice core with BtleJuice proxy

sudo btlejuice -u <VM IP address> -w

u: means IP address w: start the web interface

open web page

navigate to


Used Hardware

  • 2x raspberry pi 3 b+
  • 2x Asus USB-BT400 Nano Bluetooth Stick