0.1.4 • Public • Published

    IMU BLE / MQTT Subscription

    This package allows code in a web page to subscribe to data that is published by an ESP32 connected to a BNO055 IMU. The ESP32 should be running either the MicroPython code in imu-tools, or the Arduino (C++) code in Arduino-BLE-IMU. See those projects for information on how to configure the ESP32.

    Additional examples are in osteele/imu-client-examples.

    Usage – MQTT

    To use this code with an MQTT broker, include the MQTT library in the header (between the <head> and the </head> tags) of the HTML file:

    <script src=""></script>

    Add the following to sketch.js to import the onSensorData function, and use it to subscribe to sensor data:

    import {
    } from "";
    mqttConnect({ hostname: "" });
    onSensorData((data) =>"sensor data:", data));

    The hostname option to mqttConnect can also specify a port number: "". The options may also include username, password, and deviceid. If deviceId is specified, only messages from the specified device are processed.

    Connection Settings Control Panel

    The MQTT broker can be set by enabling a control panel that allows the user to specify the MQTT connection settings.

    Add the following to the HTML header:

    <script src=""></script>

    The page will now display a control panel in the upper right corner.

    The location of the control panel can be customized by adding an HTMl element with id connection-gui.

    The controller saves the connection settings to local storage. They are used by all pages that include this library.


    This code uses the Eclipse Paho JavaScript Client for MQTT connectivity. It uses dat.gui to display the control panel.




    npm i imu-tools

    DownloadsWeekly Downloads






    Unpacked Size

    23.6 kB

    Total Files


    Last publish


    • osteele