This page gives an overview of the official OpenHPS modules that are available. This list does not contain third party modules that provide nodes or data services.


The core module offers the processing network model and commonly used nodes for sampling absolute and relative positions. It offers 2D, 3D and geographical positioning through trilateration, triangulation, fingerprinting and velocity processing.

Positioning Algorithms

  • @openhps/imu - Adds IMU processing nodes for fusing IMU sensors.
  • @openhps/rf - Adds RF processing nodes and data objects.
  • @openhps/fingerprinting - Adds various fingerprinting nodes and services for offline and offline positioning models.
  • @openhps/video - Provides general data objects and data frames for working with images, video data or cameras.
  • @openhps/opencv - Provides linkage with opencv4nodejs and OpenCV.js for computer vision algorithms on the server or browser.
  • @openhps/openvslam - Provides bindings to OpenVSLAM
  • @openhps/orb-slam3 - Provides bindings to ORB-SLAM3


  • @openhps/geospatial - Enables the concept of geospatial spaces (e.g. building, room) on top of reference spaces.

Data Services


  • @openhps/socket - Provides node communication through Socket.IO for remote models.
  • @openhps/rest - Provides node communication through restful endpoints.
  • @openhps/mqtt - MQTT client node communication and standalone MQTT server.



  • @openhps/sphero - Example implementation for controlling and receiving sensor data from Sphero toys.
  • @openhps/csv - Read and write data frames from/to CSV files.
  • @openhps/web - Provides Web components