Step 1: Check Operating Manual for starting up with the system


Operating Manual is your main source of detailed information about Marvelmind Indoor “GPS” system. Download, study it and follow the recommendations before deploying any Marvelmind system. If anything is unclear, check the Help page

Sources of help:

  • Marvelmind Robotics List – a list of companies operating in the fields relevant to autonomous robotics and precise indoor positioning


Network planning and implementation:

Use cases:

Application Notes:

Other useful photos, PDFs, STLs, STEPs, archives:

Step 2: Install STM driver

Download STM32 driver

Download and install STM32 driver on your computer once

The driver is required on your computer in order for the processors used in beacons and modems to be visible in Windows. Linux already has it. Thus, you don't have to install it

DfuSe programmer

Download and install STM32 driver on your computer once

The DfuSe programmer is required, if you decide to upload the DFU SW. This version or v3.0.4 or v3.0.3 - depending on your operating system, computer's HW, etc.

Step 3: Download and install the latest stable SW and API

Download Marvelmind SW pack

Download latest SW pack

The main SW pack required for any Marvelmind hardware. The pack also includes the API

Download Super-Modem SW

Download Super-Modem SW

Required for Super-Modem only - the latest stable SD-card image and HEX file for Super-Modem. It is separate from the main SW pack, because of its large size - the SD card image (1Gb)

Marvelmind Robot v100 SW

Download SW for Robot v100

The latest SW pack for Robot v100 (1.8Gb)

Robot v100 original: Download Robot v100 SW pack_2020_12_20 (for robots shipped prior to 2020.Dec.20) (1.8Gb)

The most basic requirements

  • Always use SW from the same pack only: Dashboard SW + Modem SW + Beacon SW
  • Don’t mix SW from different SW packages. If not from the same SW pack, the SW compatibility between the Modem, the Beacons, and the Dashboard SW is not guaranteed
  • Always press the Default button in the Dashboard, when uploading the SW
  • Start with default settings only => remember to press the Default button in the Dashboard, after updating the SW

SW releases archive

    • New features:

      • New hardware (HW) for Super-Beacons is supported. We have two types of Super-Beacons: Super-Beacon (produced until Dec.2020) and Super-Beacon-2 (starting from Jan.2021).
        • Super-Beacon-2 has MIC/TELEC certification for Japan. Super-Beacon didn’t have it and won’t have it. From the SW point of view and the main functionality point of view the Super-Beacons are equal. There are additional improvements with optional external microphones and some differences in 4×4 pinout. See more in the Operating Manual
        • Both types of Super-Beacon HW are tested and supported now and in the foreseeable future
      • Similarly to Super-Beacons, new hardware (HW) for Super-Modems is supported. We have two types of Super-Modems: Super-Modem (produced until Nov.2020) and Super-Modem-2 (starting from Dec.2020).
        • The Super-Modem SW is the same for both versions and the HW is detected automatically. You can see the type of your HW in the Dashboard, when the modem is USB connected
        • Both types of Super-Modem HW are supported now and in the foreseeable future. Only the latest Super-Modem-2 HW has been thoroughly tested in this release. The older HW will be tested in the coming weeks. The probability that is already well supported is very high
      • Supported option CAN interface for Industrial Super-Beacon, Industrial-RX and Industrial-TX. CAN interface with other interfaces are described in detail
      •  Dashboard:
        • Possibility to assign own icons instead of hedgehog’s default icon
        • Enhanced and enriched interface of Robot v100
        • Possibility to draw a floorplan directly in the Dashboard
    • Improvements:

      • Dashboard
        • Realtime Player in NIA mode with low location update rate improved
    • Known issues (to be confirmed soon in this release):

      • Verification tests of the SW release with Super-Modem HW are still to be done
    • New major SW release: Marvelmind SW pack v6.240
    • Please, notice that Super-Modem SW is still being prepared. Thus, if your system is using Super-Modem, use the previous SW pack
    • New features:

      • New Modem v5.1 is supported
      • MF NIA is supported and fully commercially available. MF NIA is particularly great for multiple drones and multiple noisy mobile objects when location update per mobile beacons is important. MF NIA allows to have up to 5 times higher update rate than NIA in the configurations with 5 or more mobile objects. See more:
      • MMSW0002: Heading packet GPHDT for NMEA0183 introduced
      • MMSW0003: UBX (u-blox) protocol for PX4
        • Great feature for fully autonomous flight with PixHawk & PX4
        • Supports the Paired Beacons instead of u-blox thus resolving one of the most critical issue for the indoor flight – direction, when compass doesn’t work
        • Check out the Drones page
      • It is not necessarily now to make a filter selection for Super-Beacons, Mini-RXs, and Industrial-RX/Industrial Super-Beacons. The system is handling this information automatically
      • A new parameter in IA: “Max. hedges readout per cycle”. Update rate per mobile beacon/hedgehog doesn’t directly depend on the number of mobile beacons, because they calculate their location independently from the modem and at the same time. However, if you want to track all those hedges in the Dashboard and there are many hedges at once, the radio bandwidth may be become a bottleneck. Thus, this parameter helps to define the optimal number of hedges that share their location with the modem at once. For example, if you have 60 mobile beacons, you can choose all 60 to be sending their location to the modem with each location update. Even though, they could have 8-10Hz location update per mobile beacon, 60 messages per location update create high radio traffic load and lead to the reduction of the update rate to every beacon. Thus, the real location update rate may reduce to 1-3Hz instead of 8-10Hz – depending on the chosen radio profile. However, if you choose, 10 hedges to be updated at once, then you will still have your 8-10Hz per beacon, but on the modem side, you will see your hedge with 8Hz/60*10 location update, i.e. 1/6 of the real location update on the hedges’ side.
      • Stereo microphone support enabled. External stereo microphones are very useful and very powerful when it is needed to provide the highest performance for larger maps consisting of many submaps (warehouses, for example), or the stationary beacons are close to the horizon and the embedded microphone in Super-Beacon or Mini-RX don’t perform too well anymore. Stereo microphones are used, for example, in Marvelmind Autonomous Delivery Robot v100
      • In the paired beacon configuration, it is now possible to send data between the hedges via UART or via radio and to choose it from the Dashboard
      • Option to never sleep. Before, the beacons would automatically sleep after 1 min, when the connection with the modem lost
      • There is a new flag in IA indicating incorrect positioning detected by the system. Previously – in NIA only
      • New and richer coloring of beacons and buttons in the Dashboard in different modes (sleep, no radio, no ultrasound, etc.)
      • Several new modes in the Dashboard for beacons: with coordinates, without coordinates, small dots
      • New button: Freeze zones. It blocks changes in all kinds of zones (service zones, no-driving zones, etc.) and in the robot path. It is done it prevent accidental changes of the zones after they are created. Use Save map button to create backups for the maps and service zones. Use Save path button to store paths
    • Improvements:

      • In NIA, when the service is selected, there is no anymore an automatic submap size limitation. Previously, it was calculated based on a fixed formula and the size of the submap depended on the distance between stationary beacons. For shorter distances between the beacons, the submap could have been smaller than wanted. Now, there is no such a dependency and the size of the submap is defined by the Limitation of Distance, if a service zone is not defined, or the service zone for the submap, if it is defined. By default – the service zone. But, again, if the service zone is defined. If it is defined, it possible still possible to manually switch to higher limitation of distance and, for example, for 10-m submap, the limitation of distance will be 30m. It will lead to slower update rate, because the system will wait longer for an ultrasound to arrive. But in same cases, it may be interesting and required by the user. So, such an option exist
      • In IA, there is an internal check now that the map and the timing of “hedgehogs” and “owls” are loaded to hedges correctly
      • New warnings and messages in the Dashboard for the end users:
        • When the user tries to activate more than 4 stationary beacons per submap – only up to 4 stationary beacon per submap is supported. For more – build more submaps
        • When the user tries to introduce in a submap in IA stationary beacons with the same ultrasonic frequencies. It is not allowed, because IA submaps must have beacons with different ultrasonic frequencies
        • When only one hedge per cycle is selected in the Paired Beacons configuration – at least, two are required
      • In radio profile, FEC is not disabled for 38kbps and 153kbps. The radio becomes incompatible with the previous SW versions, but we ask to update the SW for all beacons and modem to the latest from the same SW pack anyway. So, the change is unnoticed to a regular user, but brings higher update rate due to shorter radio pulses
      • Updated 500kbps profile to achieve compatibility between Modem v4.9 and Modem v5.1
      • Improved ultrasonic trigger (distance measurement) for Super-Beacons, Mini-RXs, Industrial-RXs, Industrial Super-Beacons
      • Dashboard now shows a message when there is no lock between gyroscope angle and the ultrasonic angle in the Paired Beacons configuration. Used, for example, in the following cases: and
      • Improved tracking in IA in 2D
      • Log-files of the Dashboard now have extension .CSV instead of previous .log
      • Several robots driving simultaneously are supported in the Dashboard now
      • Default height of the service zone is 10m
    • Bug fixes:

      • When one of the hedges were lost over radio in NIA, another were lost too – fixed
      • RX485 if power save mode with Industrial Super-Beacons didn’t work properly – fixed
      • IMU fusion of angle with power saved enabled didn’t work properly – fixed
      • Simultaneous positioning in two submaps (M2 button in the Dashboard or “oranges”) for defining handover zones in didn’t work well in IA – fixed
    • Known issues (to be fixed in the next releases):

      • The button in the Dashboard defining the axis and the starting beacon – – works well only, when the submap is frozen. If it is not, the behavior of the submap/map can be unstable
    • New features:

      • Support of up to 120m range in NIA. Works with special horn antenna with external microphone with Super-Beacon and Mini-RX
      • Modem can find too closely placed beacons now. Previously, both devices would be overloaded by RSSI
      • Support of geofencing zones in IA (previously, only in NIA)
      • Inverse and non-inverse geofencing zones (allowing and forbidding zones)
      • “IMU via modem” from beacons are available via radio in the Dashboard now with each location update. Previously – only via USB directly from modem to streaming, but not to the Dashboard
      • Dashboard streams out via UDP the received “IMU via modem” data
      • “IMU via modem” is supported in IA as well
      • All hedges stream our location data of all other hedges in IA now. It was previously supported in NIA only. In both architectures it is possible to turn the functionality off and increase the update rate by saving on the streaming time
      • Now IA supports new types of streaming packets via UART and USB: a) raw distances; b) raw IMU data; c) telemetry data (RSSI, battery voltage; d) quality of positioning. This have been supported in NIA only before. In IA and NIA these packets can be turned on from the Dashboard. By default only streaming of location data is enable
      • New types of devices added: robots and workers. And new layers of buttons in the Dashboard added to each of the new types
      • Player is now split into two parts: a) Player window, b) Statistics/Analytics window. Statistics/Analytics windows are customer specific and customized by request
      • Dashboard warns users that switched the Dashboard into streaming-only mode when they try to change settings in the beacons, because they can’t in this mode
    • New API features:

      • Function of read/write of configuration memory of the modem (settings and the map)
      • Function of angle received from the Paired Beacons feature
      • Function of manual entry of coordinates of stationary beacons
      • Function of read/write air temperature (as a parameter for speed of sound calculation)
    • Improvements:

      • When user starts entering distances in the table of distances manually, the automatic building up of submaps freezes to stop interfering with manual entries
      • LEDs of all beacon blink identically. Previously, for the same mode, different beacons could blink differently
      • Optimized power saving in Super-Beacons, Mini-RX and Industrial-RX and Industrial-RX beacons
      • Default size of submap and IA and NIA is the same now – 30m. Previously, 30m in NIA and 20m in IA
      • More settings are stored in the file of settings created by Save Map button
      • Quality of tracking of Mini-TX with Super-Beacons, Mini-RX and Industrial beacons
      • Dashboard automatically saves maps with any changes of settings and enters the link to the map into the log so that the Player could play log properly and use the right map accordingly
    • Bug fixes:

      • Corrected loading map into the hedges when button Load Map pressed in IA
      • Now the distance in the submap matches the distance in in the embedded oscilloscope in IA
      • Correct height entry of stationary beacons in overlapping submaps. Previously, when one of the heights enters, some other heights could alter
    • Known issues (to be fixed in the next releases):

      • Direction in the Paired Beacons configuration may not work properly with location update rates 1Hz or lower

Mobile beacon (“hedge”) interfaces

Via virtual UART via USB: Supported interfaces

This is the easiest way to connect since no soldering is required and protocol is the same for different operating systems.


SPI & UART interface pins on beacon board

Mobile beacon (“hedge”) libraries

Python library for beacon

      • Here is the Python code for Linux-based devices integration via virtual UART via USB
      • Library is easy to use. Also, here is detailed description and example
      • Code is fairly universal; Tested on:
        • Ubuntu 16.04
        • Raspbian Jessie
        • Mac (OS X 10.10)
        • Python 2.7 & Python 3+
      • There are handlers of different exceptions, for example, non-standard states of COM/USB

The Python library provides quick and easy ability for integration of ultrasound navigation system with various Linux-based devices. Among them are Raspberry Pi and other single-board PCs. This code is free to use in your applications (please include a reference link to this web page).


C library for beacon

      • Here is the C code + guiding document
      • Supported operating systems:
        • Microsoft Windows
        • GNU/Linux (including Raspberry Pi)
        • Mac OS X
      • Additionally, link to Github repository
        • v2018_04_06:
          • Improved processor load
          • Fixed compiling in Visual Studio
          • Added parsing for Paired Beacons angle
          • Added parsing for distance raw data
          • Added parsing for IMU raw data
          • Added parsing for IMU fusion packet


Android/Java library for beacon

      • Here is the Java code and simple Android application
      • A simple Android app for testing (old by now. Performance not guaranteed)
      • Tested on:
        • Samsung S7 (API 25)
        • Huawei P6 (API 22)


Mobile beacon (“hedge”) integrations

Connection of Marvelmind hedgehog to Arduino via UART and SPI


ROS support for PC and single-board computers including Raspberry Pi

Marvelmind ROS package – GitHub link.

Marvelmind ROS package v1.0.11 compatibility and main changes:

      • Supports receiving telemetry, quality and waypoints data
      • hedge_rcv_bin allows to specify serial port baudrate in command line
      • Supported ROS versions:
        • Noetic for Ubuntu 20.04
        • Melodic for Ubuntu 18.04

Please, check the instructions on ROS integration.


Pixhawk support and NMEA interface description

First of all, please, see the dedicated Drones page.

See integration with PixHawk on PX4.

Here is a detailed PixHawk and Marvelmind Integration Manual.

Please, also check the instructions on Pixhawk integration and description of interfacing via NMEA0183 protocol.


Sending path to your robot/copter

    • Here is an explanation how to send path data via mobile beacon to your robot/copter and sample code.
    • Check a corresponding chapter in the protocol description. Request of writing the movement path
    • Relevant forum discussion


Modem and Dashboard interfaces

Protocol of data exchange with modem via USB interface


The Dashboard software log description

      • Correct: – see a corresponding chapter
      • Outdated: Forum link or direct link to the image. First column appeared later, and it is discussed in this topic. It is an additional absolute column – a timestamp – time in milliseconds passed from January,1 of 1970 (UNIX time) – Dashboard SW permanently writes coordinates into log file ‘hedgehogs.log’ that is stored into the Dashboard folder


Data exchange with Dashboard via UDP

Updated on 07.Dec.2019

  • New SW: Marvelmind SW pack v6.190
    • New feature: support of jitter for IA for larger maps consisting of multiple submaps
    • New feature: ultrasonic gain plateau is enabled by default to equalize ultrasonic signal strength difference with different distances between mobile and stationary beacons
    • New feature: support of NMEA0183 streaming in Mini-RX, Super-Beacon, Industrial Super-Beacon, Industrial-RX and Industrial-TX
    • New feature: support of Paired Beacons feature in IA with fast angle from IMU that is unlinked from the location data from ultrasonic. For example, you have the Paired Beacons and rotate your robot clockwise by 90 degrees. You will get the angle with 12-15ms delay from the USB or UART. Location data will be still updated with regular 4-16Hz update rates or so
    • New feature: Advanced power saving:
      • Power saving is on by default for all types of beacons, except for Beacons HW v4.9
      • It is possible to turn on and to turn off power saving feature individually per beacon (previously – per modem)
      • Overall more economical sleep between location updates and in general in the sleep mode
    • New feature: It is possible to set the gain of ultrasonic reception directly in the embedded oscilloscope – very convenient for the tests, when using the oscilloscope
    • New feature: it is possible to switch between several streaming modes in the mobile beacon: none, USB only, USB+UART, USB+UART/Bluetooth. The feature allows to achieve the highest update rate, because time savings on streaming. In order to enjoy the savings all mobile beacons must have the least possible streaming mode. If one mobile beacon has full streaming enabled, it is equivalent that all mobile beacons have it and there will be no time saving
    • Improvement: update rate in IA increased – excessive safety times have been reduced inside the timing slots
    • Update: SW for Super-Beacons is a part of the main SW pack now
    • Bug fixed: Mini-RX, Super-Beacons and Industrial Super-Beacons don’t wake up now, when are connected to USB charger, but not to a USB host (computer). You must update using DFU in order to fix the bug

Known issues and not yet supported features and functionalities, but earlier promised (to some customers) and work in progress:

  • Tracking in IA 3D is supported, but without 3+1 redundancy. Thus, direct line of sight/hearing is required for all stationary beacons
  • Reading and writing parameters of modem and map by reading/writing raw damps of memory via API – work in progress and will come later
  • Entering air temperature via API – work in progress and will come later
  • Streaming of the angle of the Paired Beacons via API is not supported. Streaming from the mobile beacon directly to your robot/drone is supported and has been supported for a long time
  • Streaming of IMU data via UDP is not supported yet – IMU via modem mode
  • Some minor settings are still not saved in Save Map feature. Ongoing revision


Updated on 4.Nov.2019


Updated on 08.Oct.2019

  • Correction update before main SW release: Marvelmind SW pack V6.160/6.166/6.170
    • Bug fix: streaming via virtual UART over USB didn’t properly work in Mini-RX and Industrial-RX in IA configuratio

Updated on 01.Oct.2019

  • Correction update: Marvelmind SW pack v6.166
    • Correction: proper detection of Mini-RXs, Industrial Beacons and Industrial Super-Beacons in Linux
    • Improvement: drastically improved power consumption in IA mode for Mini-RX, Industrial Beacons, and Super-Beacons
    • New feature: support for IA in Industrial Super-Beacons
    • Changes: default ultrasound settings for Industrial Beacons and Industrial Super-Beacons are now 25kHz (metal sensors’ frequency) instead of previous default ultrasonic 31kHz (default for 16mm plastic sensors)


Updated on 25.Aug.2019

  • Major update and several new features: Marvelmind SW pack v6.160
    • New: Support of new HW – Industrial Super-Beacons
    • New: Paired beacons in IA and dual-head in IA. Demo:
    • New: Support of TDMA Mode 1 and Mode 2 in IA
    • New: Support of RSSI for automatic selection of submaps in IA maps with multiple submaps
    • New: Embedded Realtime Player for streaming location data in IA hedge
    • New: Both mobile beacons (“hedgehog” or hedgehog or hedge) and modem have a flag showing that the mobile beacon left geo-fencing zone
    • New: Possibility to set the COM part number for the modem for the Dashboard manually. And, as a result, a possibility to support more than 1 Dashboard and more than 1 modem per computer. Also, supported in API now
    • New: Support of 4 beacons per submap in IA (previously – up to 3 beacons)
    • New: Support in API of possibility of controlling axis vs. beacons relative position
    • New: Support of summing up of up to 3 microphones as a single microphone – used in Marvelmind Badge and Marvelmind Jacket – for more guaranteed tracking in challenging environment with obstructions
    • Updated: Radio profile 868MHz
    • Bug fix: minor USB connectivity issues with Mini-RX
    • Bug fix: corrected measurement with microphone n2 and Realtime Player enabled


Updated on 21.May.2019

  • Major update and several new features: Marvelmind SW pack v6.130
    • Support of submaps in Inverse Architecture (IA):
    • Support of vertical submaps in IA – useful for tracking in long aisles in warehouses, where XZ coordinates (along with the aisle and height) are important and Y coordinate (across) of the aisle is less so
    • Support of TDMA in IA – allows nearly perfect tracking in challenging conditions with obstructions in IA
    • Support for the Paired Beacons SW feature in IA. Now both IA and NIA allows Location+Direction functionality shown here:
    • Support for streaming of location data via virtual UART from the mobile beacon in IA
    • Support for Load Map with sleeping beacons to add new beacons for building larger maps
    • Support for streaming out center of Paired Beacons as opposed to locations of each of the beacons – option in the Dashboard
    • Service Zones for submaps are handled now by context menu (right click on the dot) instead of in a separate window
    • Mobile beacons (“hedges”) can be named now, for example, the name of the robot or the person – not only addresses as before
    • Support of advanced history in IA. Possibility to have duplicated ultrasound frequency combinations in submaps
    •  Improvements and bug fixes:
      • Temperature measurement by beacons with low temperatures and power voltage measurements
      • Stability of beacons with addresses >128
      • Height settings of stationary beacons in IA (“owls”)
      • Table of distances in IA with >2 stationary beacons
      • Load Map of vertical and intersecting submaps
      • Prevention of other beacons going to sleep on timeout during long SW update of a beacon over radio on slow radio profile
      • Smoother and more polished Realtime Player in the Dashboard


Updated on 22.Mar.2019

  • Major new and long-awaited Inverse Architecture (IA) introduced: Marvelmind SW pack v6.08
    • It is not a fully mature release yet – for those who can’t wait 🙂 New minor updates shall come pretty soon. If you see bugs, please, report to
    • If you have Mini-RX HW with earlier SW release that shows “Bootloader”, when connected to the Dashboard, do DFU programming right away:
      • Open the housing
      • Switch DIP switches similar to the instructions in the Operating Manual for HW v4.9
      • Uupdate the SW via DFU to the latest. After that, normal HEX programming via Dashboard will be possible
    • If your Mini-RX is discharged due to long shelf storage:
      • Switch both DIP switches off
      • Charge the beacon normally via USB for 2h
      • Upload the latest SW (DFU or HEX – depending on your original SW)
      • The beacon will have longer standby time now
    • Only one submap up to 30x30m supported. Support for multiple submaps shall come in a couple of months
    • Multiple mobile beacons without update rate reduction per mobile beacon unlike in NIA. Update rate is still slightly going down due to radio, but it has a lesser impact than in NIA
    • If two stationary beacons (“owls”) are used – 2D (XY) mode is chosen automatically. If 3 stationary beacons – 3D (XYZ) mode
    • See more on the Architectures comparison
  • Beacon naming change:
    • DSP beacon => Mini-RX
    • Mini-beacon => Mini-TX
    • Beacon RX IP67 => Industrial-RX
    • Beacon TX IP67 => Industrial-TX
  • Improved Industrial-TX: power saving; IMU data is streamed out to modem along with ultrasonic location updates
  • Improved power saving and battery protection for Beacon HW v4.9, Mini-TX and Mini-RX
  • New feature: hedgehog streams out its address in the raw IMU stream
  • Marvelmind SW package now contains not only pure SW, but also protocols and manuals. Note, that the manuals maybe updated independently from the SW. Thus, check the latest manuals on Downloads page


Updated on 07.Mar.2019

  • We are happy to publish a long-awaited Marvelmind API! 🙂
    • API library included
    • Windows and Linux supported
    • Intel/AMD and ARM processors supported
    • API Manual included
    • C-example included

Updated on 21.Feb.2019


Updated on 13.Dec.2018

What is new:

  • Support for DSP beacon and Mini-beacon added
  • IMU fusion of angle of Paired Beacons added
  • Change: IMU is switched off by default to save power
  • New power saving features – battery lifetime improved
  • Other improvements: faster connectivity to the Dashboard over USB; improved blinking of beacons with lost radio connectivity; etc.
  • Bug fix: manual entry of coordinates into the table of distance
  • Bug fix: angle – result of the Paired Beacons SW feature started working incorrectly in SW v6.01 – fixed now

Updated on 26.Nov.2018

What is new:

  • Major new feature – support for 255 beacons and 255 submaps per modem
    • Now it is possible to build truly large maps including up to 255 beacons (stationary+mobile combined) and up to 255 submaps
    • Notice that for larger maps, consisting of many submaps, most probably, you will have larger distances between modem and beacons. It is particularly important to place modem in the middle of the network of beacons to provide good radio coverage to all beacons in the map
  • New feature: user must setup handover zones between submaps to guarantee handover quality for complex maps with multi-floor and similar
  • New feature: default wireless connection is setting is now 153kbps (used to be 38kbps). Radio profile 153kbps provides radio coverage range nearly as much as 38kbps and update rate nearly as high 500kbps, i.e. it is a middle of 38kbps and 500kbps, combining the best of both
  • Correction: USB streaming in power save mode improved
  • Correction: Zero IMU button in the Dashboard is improved, while button Reset IMU is removed completely
  • Correction: ultrasound TX is not reset to 31kHz when Default button is pressed. Now, several types of ultrasonic frequencies supported, so 31kHz is not anymore a default ultrasonic frequency for all beacons
  • Improved: both energy saving and tracking quality with Power Saving mode enabled
  • Improved: only beacons with selected tick in the Dashboard lower menu will be accepted to the network – not any addresses. This improves predictability of the network, when there many beacons that may not belong to the network. Their attempts to join the network will be blocked
  • Improved: now, submaps support up to 4 beacons only. More than that – build another submap. Up to 255 beacons and up to 255 submaps are supported per beacon
  • Bug fix: improved map building with active hedgehog
  • Bug fix: duplicated address might work incorrectly in some cases

Updated on 01.Oct.2018

  • For HW v4.9 and v4.5: Dashboard SW v5.77 + Beacon SW v5.96 + Modem SW 5.96
  • It is an upgrade release with one major new feature and several corrections, improvements and bug fixes
  • Notice that SW support for HW v4.5 is about to be discontinued. So, it is recommended to get HW v4.9 or newer. HW v4.5 and HW v4.9 can work together in the same network
    • In the SW pack, only DFU SW for HW v4.5. And HEX and DFU for HW v4.9

What is new:

  • Major new feature – Real-time Player
    • Produces high-quality and very smooth track in real time (similar to the original Player, but in real-time – not from the CSV file) even in challenging conditions with an original poor raw track by doing real-time post-processing (filtering and interpolation) of several latest location measurements
    • Especially good for tracking of slow moving objects, like, people or producing location data for slow-moving autonomous robots. Less suitable for providing real-time location data for fast drones, because of inherent higher latency due to internal post-processing
    • Option to trade-off between latency vs. smoothness
  • Updated protocol and interfaces:
  • Bug fix: more stable path sending to a robot
  • Bug fix: corrected direction indicator in the Paired Beacon SW feature
  • Bug fix: improved map building with active hedgehog


Updated on 27.Aug.2018

  • For HW v4.9 only: Dashboard SW v5.72 + Beacon SW v5.93 + Modem SW 5.93
  • It is a major release with several new major features
  • Linux version of the Dashboard and Dashboard API will follow in the next minor release
  • Important notice for 500kbps:
    • Build the map in the 38kbps radio profile first
    • Modem will measure and store beacons’ frequency offsets
    • Only after that switch the system to 500kbps radio profile

What is new:

  • Multi-floor support:
  • Support of 3D (XYZ), 2D (XY), 1D (X) in a single map
  • Vertical submaps. Especially useful for precise Z support:
  • Support of submaps with Z-only data
  • Support of streaming of IMU data with each location update
  • Possibility to create 3D (XYZ) path, for example, for autonomous drones/copters
  • Support of direct manual entering of stationary beacons’ coordinates
  • Q – quality of positioning from modem and mobile beacon
  • Support of speed in NMEA stream based on IMU data
  • Streaming of telemetry from mobile beacon
  • Improved embedded Player of locations CSV file
  • Improved filtering of distances and location
  • Improved handovers between submaps
  • Reworked and improved ultrasonic trigger
  • Warning, when a second instance of Dashboard is started
  • Improved Load Map function
  • Bug fix: locking beacons to axes
  • Bug fix: locking beacons to substrate
  • Other bug fixes and improvements


Updated on 14.Mar.2018

What is new:

  • Update rate is measured with 1 digit after point, i.e. 8.2Hz instead of 8Hz
  • Timestamp in coordinates packet in streaming corresponds to the moment of emission of ultrasonic
  • Additionally, time from the moment of ultrasonic pulse emission to the current moment (packet time) is provided
  • Modem is streaming now angle from the Paired Beacons (previously, didn’t stream it)
  • Bug fix: IMU packets with ultrasonic packets from hedge via UART
  • Bug fix: compass works now properly
  • 6 symbol CPU ID introduced


Updated on 11.Mar.2018

What is new:

  • 1D mode supported now: So, it is possible now to have configuration consisting of 1 modem + 1 mobile beacon + 1 stationary beacons to have constant tracking of the distance from the stationary beacon to mobile beacon and vise versa. It is also possible to have distance tracking from several stationary beacons simultaneously. Each of them shell be a Submap. Multiple mobile beacons are supported too. Below is a screen capture of an exampled 1D system deployed with 1 stationary beacon (1 submap) and 2 mobile beacons (20 and 23):

  • Improved support of IP67 beacons
  • Switching between radio profiles is faster and more robust now
  • Possible to choose radio power in dBm
  • Fixed bug in robot path sending
  • Fixed bug in Write All command in the Dashboard
  • Fixed bugs in testing routing
  • General improvements and bug fixes

Updated on 25.Jan.2018

What is new:

  • New major feature for beta testing: IMU + ultrasonic sensor fusion. With update rate based purely on ultrasonic as low as 4Hz, you can get effective update rate of 100Hz from mobile beacon equipped with IMU thanks to the new sensor fusion feature. Expected update rate in future SW releases – 200Hz on the same HW
  • Tracks below:
    • 4Hz ultrasonic-only track => location update latency ~250ms
    • 4Hz ultrasonic + 100Hz IMU => location update latency ~10ms
    • 100Hz IMU-only track => location update latency ~10ms
    • Each square is 5x5cm
  • Notice, that IMU raw data protocol has changed. Also, notice that 100Hz location update is available only from the mobile beacon – not from the modem
  • Here is a Python code to extract 100Hz fast location update from mobile beacons via UART and virtual UART over USB
  • Code is in beta testing. So, your feedback is highly appreciated
  • General improvements and bug fixes


Updated on 04.Jan.2018

What is new:

  • New feature: CSV log file player. You can read tracks of mobile beacons recorded by the Dashboard into the CSV file and play it back directly in the Dashboard. You can choose exact time from the log, length of the track and even get some basic analytics, like: maximum speed, average speed, etc.
  • Improved radio profiles (38kbps, 153kbps, 500kbps) with better sensitivity. Tested line of sight distance on 500kbps with full-size quarter-wave antennas was >400m. Expected distance with 38kbps is even larger
  • Improved stability of waking up from sleep
  • Improved power saving mode
  • True update rate for paired beacons is shown now. Previously, it was shown for each beacon separately, i.e. 1/2 of the true update rate
  • Improved internal system clock synchronization
  • Dashboard now creates a new CSV log file every time, when the system starts/wakes up and every time, when a map is frozen
  • General improvements and bug fixes


Updated on 15.Nov.2017

What is new:

  • New: Now the SW for beacons and modem supports 2 main bands (915MHz and 433MHz) and 2 additional bands (868 MHz and 315 MHz) in a single file, i.e. you don’t have to select a separate file per frequency from the SW pack. Though, you still have to choose between SW for modem vs. SW for beacon and you have choose your HW (beacon v4.9 (5 sensors) vs. beacon v4.5 (4 sensors)). Note, that 315MHz additional band is recommended to be used with 433MHz HW boards and 868MHz – with 915MHz HW boards, because they are closer in frequencies. Remember, that the HW is not tuned for the additional bands and radio range can be severely reduced, as compared to the range in the regular main bands the boards are actually designed for. However, still, you may use additional band now, if you wish to do so, for example, to minimize interference with your onboard telemetry or because your country’s regulations don’t allow either 433MHz or 915MHz systems
  • New: Raw distance data streaming supported now
  • New: beacons streams out location data and clearly marks now whether it is its location or another beacon
  • New: flag introduced “Accept new/woken devices”. It is possible now to forbid the modem to automatically take into the map accidentally woken up beacons. Previously, if the beacon woke up for any reason, it would stay active, because it would respond to the modem’s signal and thus the beacon’s battery could be depleted for no purpose
  • New: a watchdog timer introduced in beacons to improve stability. As a drawback, the deep sleep mode that was previously recommended for shelving the product with absolute minimal current consumption is not supported anymore. For shelving, it is recommended to put both DIP switches in OFF position
  • New: mobile beacon protocols are updated (raw distance data added; flag of source of location data). Check them out
  • Improvement: more robust building of bigger maps made of frozen submaps
  • Bug fix: distances in the table of distance could be changing in some settings even, if the map was frozen
  • Bug fix: corrected loading of saved maps with submaps from a file
  • Bug fix: mirroring of a full frozen map consisting of submaps works now properly
  • Bug fix: uploading firmware over radio to a beacon in the frozen map
  • General bug fixes

Updated on 29.Oct.2017

What is new:

  • Improved: Power saving features are significantly improved. Note, that power saving is off by default and shall be enabled in modem settings: “Power save functions”
  • General bug fixes

Updated on 28.Sep.2017

What is new:

  • New feature: Two mobile beacons (‘hedgehogs”) can be paired and work together as a single beacon without update rate reduction. Moreover, each beacon streams out in this mode not only its own location, but direction where the pair is facing. This feature hugely simplifies autonomous driving and flight. Here is updated protocol with the changes
  • New feature: Save Map/Load Map feature and buttons are active now. You can build a very complex map with submaps and save all settings for the map, submaps, and all beacons including their ultrasonic gain, triggers, etc.
  • New feature: streaming user payload from mobile beacon to modem. See the table with speed vs. payload
  • New Arduino sample file: sending user payload from mobile beacon to modem
  • Improved: Until beacons are really awake, they are not shown as alive in the Dashboard anymore. Previously, they could be shown as green and alive before disappearing on timeout after a minute or so and that could confuse
  • General bug fixes

Updated on 13.Aug.2017

What is new:

    • New feature: path sending to copters
    • New feature: now each hedgehog streams out coordinates of all other hedgehogs – not only its own coordinates, i.e. now all robots/copters may know location of all other robots/copters
    • New feature: support of extended memory for Modem_256 (modem supporting up to 256 beacons. Current modem HW v4.9 supports up to 30 beacons)
    • New feature: extended update rate options to 0.1Hz and 0.2Hz
    • Improved service zones with 8 points
    • Improved sleep modes
  • Bug fix in modem: modem, sometimes, was not recognized by PC after PC reboot
  • Bug fix in sabmaps: after one of the beacons in submap of 3 beacons lost, system remained in 3D mode with insufficient number of beacons. Now it turns to 2D mode automatically
  • Bug fix of submaps with 2 beacons: they might lose tracking of hedge after modem reboot
  • Bug fix in embedded oscilloscope for distances between beacons >30m
  • Bug fix: occasionally, beacons sent previous location measurement, when no ultrasonic signal received. Now send a flag, that no signal received
  • Bug fix: improved operations with IMU

Updated on 05.Jun.2017

  • For HW v4.9 and v4.5 SW pack: Dashboard SW v5.31 + Beacon SW v5.63 + Modem SW 5.63

What is new:

  • Please, make sure that you are using right SW version for your HW – v4.5 vs. v4.9
  • Improved radio synchronization in challenging conditions
  • Increased channel spacing for 915MHz band
  • Improved oscilloscope scaling
  • Significantly improved trigger mode
  • Quality of ultrasonic signal assessment enchanced
  • Repetitive waking up of sleeping beacons
  • Timed out beacons are not removed from the map now, but marked as unused
  • As a customized feature, it is possible to have now 2 additional external buttons connected to 4×4 pins. They perform now 2 actions: (1) manual log of coordinates, (2) remote clearing the map of traces. Customized functionality may be assigned to those 2 external buttons
  • Improved waking up command
  • Improved performance for complex maps with multiple submaps
  • Multiple and various bug-fixing and error corrections

Updated on 27.Mar.2017

  • For HW v4.9 and v4.5 SW pack: Dashboard SW v5.16 + Beacon SW v5.51 + Modem SW 5.51
  • Since SW changes are pretty big with this release, please, use DFU for SW uploading. Future SW upgrades can be done with HEX, as usually.

What is new:

  • Please, make sure that you are using right SW version for your HW – v4.5 vs. v4.9
  • Full support of HW v4.9 – both 433MHz and 915MHz boards
  • Major change in ultrasonic signal triggering mode and AGC – completely new technique is employed now. It shall bring better results in noisy environment as well as when the ultrasonic signal is either too strong or too weak
  • Improved scanning of radio frequencies for better searching of beacons
  • Increased precision of geo-referencing from ~11cm to ~1.1cm
  • Added a new mode of raw data streaming from the modem’s UART – real-time raw distances and RSSI data
  • Usual bug-fixing and error corrections

Updated on 16.Feb.2017

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v5.06 + Beacon SW v5.41 + Modem SW 5.46
  • For HW v4.5 (5 sensors) Dashboard: Dashboard SW v5.06 – installation file with drivers. It is suitable the most for the very first installation of the Dashboard

What is new:

  • It is possible now to build a fully functional map/submap for 3D navigation using only 3 stationary beacons. Before, one would need at least 4 stationary beacons per map/submap for 3D navigation or 2 stationary beacons for 2D navigation
  • It is possible now to enter values in the table of distance between stationary beacons manually. Before it was fully automatic only
  • It is possible now to remove restriction on the minimal distance between stationary beacons or stationary beacons and mobile beacons. Before it was 0.35m at minimum. Now, it can be set to 0mm. As before, the distance between beacons is not limited anyhow. So, mobile beacons can as close to each other as one wishes
  • Enriched features of embedded oscilloscope designed for making possible a deeper analysis of implications of higher location update rate settings on the system performance
  • C and Python and UDP sample codes support now mm-output format, i.e. fully compatible with the main SW pack. To switch back to cm-resolution format
  • Usual bug-fixing and error corrections

Updated on 12.Jan.2017

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v5.01 + Beacon SW v5.40 + Modem SW 5.40

What is new:

  • Fixed bug that affected on proper writing of settings into the beacon in some circumstances
  • Faster beacon wake up time
  • Ultrasonic gain self-calibration introduced in beacons: Dashboard > View
  • Optimized displaying of beacon’s parameters, while beacon wakes up
  • Notice that C and Python and UDP sample codes are written for cm-output – not mm-output, i.e. not directly compatible. You can turn on compatibility mode to switch back to cm-resolution format

Updated on 20.Dec.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.94 + Beacon SW v5.37 + Modem SW 5.37

What is new:

  • Fixed bug with SPI of mobile beacon
  • Significantly improved resolution of embedded oscilloscope
  • Now the Dashboard has an install file
  • Distances and coordinates are given now in millimeters
  • Notice that C and Python and UDP sample codes are written for cm-output – not mm-output, i.e. not directly compatible. You can turn on compatibility mode to switch back to cm-resolution format

Updated on 11.Dec.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.92 + Beacon SW v5.35 + Modem SW 5.35

What is new:

  • Distances and coordinates are given now in millimeters
  • Key protocols are updated. Please, see them inside the SW package archive
  • Notice that C and Python and UDP sample codes are written for cm-output – not mm-output, i.e. not directly compatible. You can turn on compatibility mode to switch back to cm-resolution format

Updated on 08.Dec.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.91 + Beacon SW v5.34 + Modem SW 5.34

What is new:

  • Some beacon addresses bug fix
  • Modem streaming bug fix

Updated on 26.Nov.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.89 + Beacon SW v5.33 + Modem SW 5.33

What is new:

  • Interface with modem is done now in exactly the same format as with the beacon (UART/virtual UART, SPI)
  • NMEA support fixed: mm vs. cm output
  • Other various bug fixes

Updated on 10.Nov.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.88 + Beacon SW v5.32 + Modem SW 5.32

What is new:

  • Tested support of at least 30 beacons per modem (29 stationary beacons + 1 mobile beacon or 26 mobile beacons + 4 stationary beacons or anything in the middle)
  • Various bug fixes, particularly, in submaps

Updated on 29.Oct.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.87 + Beacon SW v5.28a + Modem SW 5.31_6cb9597

What is new:

  • UDP location streaming from modem is supported now. Previously, location data had to be requested each time – point by point
  • Bug fix in multimaps

Updated on 25.Oct.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.85 + Beacon SW v5.28a + Modem SW 5.28_1564fd4

What is new:

  • Minor update

Updated on 13.Oct.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.85 + Beacon SW v5.28 + modem SW sw5_28_1564fd4

Important! The SW introduced rather major changes, so some settings are affected too. After programming do the following:

  • While a beacon/modem is USB connected, press “Default” button (botton-right corner) to upload default settings to the beacon
  • Check radio profile settings on the beacon and on the modem. Choose the same. Otherwise, the modem won’t see beacons over the radio interface

What is new:

  • Some bug fixes and improvements

Updated on 12.Sep.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.74 + Beacon SW v5.20a + modem SW sw5_20_745fac6 + DFU files

Important! The SW introduced rather major changes, so some settings are affected too. After programming do the following:

  • While a beacon/modem is USB connected, press “Default” button (botton-right corner) to upload default settings to the beacon
  • Check radio profile settings on the beacon and on the modem. Choose the same. Otherwise, the modem won’t see beacons over the radio interface

What is new:

  • A bug in oscilloscope timing was fixed
  • Modifified protocol. Now timestamp is milliseconds instead of alpha-cycles => our Python and C examples are not yet corrected accordingly
  • Addresses in devices will be now preserved even with major SW changes
  • It is now possible to disable additional location filtering in hedgehog by turning it off in the Dashboard. It is especially useful for small update rates of 0.5-2Hz
  • Improved timing with sending location data at update rates of 16Hz and below
  • Other minor bug fixes and improvements

Updated on 01.Sep.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.73 + Beacon SW v5.19 + modem SW v5.19_f6c5d90

What is new:

  • Major new feature: NMEA support
    • Here is the NMEA protocol implementation description
  • Advanced energy saving features
    • Tested running time by beacon with 16Hz update rate and fully-charged embedded 1000mAh battery is up to 72h
    • Expected/calculated running time by beacon with 1Hz update is nearly 16 times longer => 48 days
    • External 10,000mAh power bank & 1Hz update rate on beacon shall give >1y running time from the same battery
  • Accellerated embedded oscilloscope
  • Optimized map creation for complex multi-beacon multi-submap maps with scanning ultrasonic sensor pairs feature
  • Other bug fixes and improvements

Updated on 23.July.2016

  • For HW v4.5 (5 sensors) SW pack: Dashboard SW v4.70b + Beacon SW v5.15 + modem SW v5.15_4279848
  • For HW v4.3 (4 sensors) SW pack: Dashboard SW v4.72 + Beacon SW v5.17 + modem SW v5.17

Important! The SW introduced rather major changes, so some settings are affected too. After programming do the following:

  • Connect each beacon via USB cable and assign addresses from the Dashboard again (2, 3, 4, etc.), since the SW resets addresses to all beacons to 1
  • While a beacon is USB connected, press “Default” button (botton-right corner) to upload default settings to the beacon
  • Check radio profile settings on the beacon and on the modem. Choose the same. Otherwise, the modem won’t see beacons over the radio interface

What is new:

  • Major new feature: Submaps
    • You can create several independent submaps, for example, for separate rooms with 2-6 beacons in each submap or even a few submaps in one big hall and merge them into a single solid map
  • Major new feature: Dashboard => Substrate
    • You can upload your real floor layout in .png or .tiff or .jpg or .bmp format on the map with beacons and put beacons in the right position on the layout
  • Other multiple bug fixes and improvements
  • If updating from SW v4.62 and fresher, just follow basic SW routing update: Run the Dashboard => Advanced view => Firmware => Choose the file => Program

Updated on 17.May.2016

What is new:

  • Bug fix: when powered by external power supply, the beacons didn’t wake up
  • Bug fix: data on heights of beacons were lost at some point of time
  • Other smaller bug fixes and improvements
  • If updating from SW v4.62 and fresher, just follow basic SW routing update: Run the Dashboard => Advanced view => Firmware => Choose the file => Program

Updated on 10.Mar.2016

What is new:

The key new features:

  • Support for Indoor “GPS” mini – system with two stationary beacons
  • Support of Z-coordinate in UDP protocol with the Dashboard
  • Various pther improvements and bug fixings

Updated on 02.Feb.2016

What is new:

  • For HW v4.5+ only! (beacons with 5 ultrasonic sensors)

Several major improvements:

  • Support for external flash memory for additional capacity in modem
  • Support for the 5th ultrasonic sensor providing even wider coverage in ultrasonic
  • Multiple other new features

Updated on 17.Nov.2015

What is new:

  • Various bug fixing
  • Further usability improvements

Updated on 02.Oct.2015

What is new:

  • Advanced power saving modes
  • Various bug fixing
  • General usability improvements

Important! Some earlier HW versions do not support all power saving modes. Use “Analog power in sleep” enabled first. It will increase power consumption by 5-8mA in active mode. If you happen to have a newer HW version, disable analog power in sleep. If system continues working normally – use it. It saves battery. Default mode – “disabled”, i.e. if your HW does not support it, the system won’t work stable. Updated on 20.Aug.2015 Important! Please, use addresses for beacons in the range of 2..63. There were reports that addresses 64..99 don’t always work well with SW v3.73. This bug has been fixed in the later versions.