Skip to main content

A121 SW Release Notes

Release 1.10.0

  • Added IQ imbalance compensation: There is now a possibility to compensate for IQ imbalance and thereby improving distance linearity. Calibration struct is not backward compatible.
  • Fixed issue with ghost reflections: To avoid issue with ghost reflections, increasing PRFs in subsweeps is now not allowed.
  • Added exploration server lib and STM32 integration to stubbed SDK: This makes it possible to build the exploration server on custom PCB:s.
  • nRF Connect SDK: We’ve updated the XM126 SDK to support version 2.9.1.

Release 1.9.0

  • Updated tank level reference application presets: There is no longer a need for close range leakage calibration as well as the power consumption for small and medium tanks is vastly improved. Along with other fixes and optimizations for tank level measurement, the large tank new max range is now 23m.
  • XM126 module software: An improvement has been made to the XM126 ability to use BLE simultaneously as A121 but increases RAM usage by 8kB.
  • Hardware Integration Guideline: General update to the integration guideline for PCR Sensors A111 and A121.
  •  

Release 1.8.1

  • ESP32: We have added all our Reference Application to all the ESP32 targets.
  • Distance Detector, Update: Removed a problem where the memory could be overwritten if multiple peaks were detected.
    Impact: Avoid crash, freeze, or other undefined behaviour when finding a lot of peaks with the distance detector​.
  • Distance Detector, Update: Improvements in the close-in range (<100mm). Changes to the CFAR threshold method and minor adjustment to the distance filters have improved the near sensor accuracy.
  •  

Release 1.8.0

  • Distance Detector, Update: We have added the possibility to override the automatic PRF setting in the detector. In rare cases, ghost reflections could appear close to the sensors due to folding when using too low PRF. The override will be at the cost of slightly longer measurement times (ms).
  • Vibration Example, Update: Improvement in the sensor’s ability to measure lower frequencies. Specifically frequencies between 1-10Hz.
  • ADC Correction: A rare issue where sensors showed degradation in ADC linearity.
  • Calibration Correction: A very rare issue in the calibration sequence that randomly caused the calibration to fail. Likely never discovered by customers that act on a “calibration failed” warning by simply calibrate again in their application.

Release 1.7.0

  • New Example Application; Waste: We have added an Example Application specifically for Waste Level. It is focused on securing good accuracy from weak reflectors like plastic or paper waste.
  • New Example Application; Hand Motion Detection: This application is targeting hand motion detection for controlling faucets. It can be used in other scenarios with similar set-ups.
  • API Documentation Improvement: We have enhanced the descriptions for the Distance Detector C-API. Note that all C-API descriptions are included in the doc folder in the SW packages.
  • Removed the sensor ID config function: We removed the unused sensor ID config functions from Distance Detector API. Specificly acc_detector_distance_config_sensor_set and acc_detector_distance_config_sensor_get
  • Minor bug fixes

Release 1.6.0

  • New Application, Parking: On popular demand we are now releasing a Reference Application for Parking. As additional functionality we have manage to solve the highly requested obstruction detection. We can now report if the sensor is obstructed by water (or something else). Depending on requirement, power consumption could be as low as <50mW. A User Guide is added to the documentation.
  • Presence Detector Improvements: 1. Phase boost functionality improving the detection of slow motions. 2. Automatic sub sweep configuration. Based on the range config we automatically configure the sub sweeps for optimal performance including optimal profile selection based on range and optimal HWAAS setting to ensure maximum SNR over the full range. This leading to reduced power consumption.
  • I2C protocol: Added application ID to ensure backward compatibility.
  • Temperature: Updated signature of temperature adjustment factor function. Note that this function is not backward compatible.
  • ble _monitor integration (XM126): Added Distance and Presence detectors so they can be use by, for example, Home Assistant.

Release 1.5.1

  • Distance Detector: We have a built in limitation (unintended) resulting in that only 10 peaks could be measured. If more peaks existed then the results was written to undefined memory areas resulting in a undefined behaviour. This is now expanded to 20 peaks maximum.
  • Calibration: We have improved the robustness of the calibration routine. We changed the type of the calibration result data from uint8_t to uint32_t to avoid memory alignment issues.
  • nRF Connect: We updated the SW package to support version 2.5.2

Minor Bug fixes: As always.

Release 1.5.0

 

    • Saving Distance Detector calibration: The possibility to cache the Distance detector calibration, either dynamically or beforehand, have been added. Can be done at multiple temperatures and will speed up the usage of the distance detector and thus save power. The User Guide will provide detailed information.
    • Improved offset compensation: We have improved the accuracy performance on distance measurements based on temperature information. An example have been added to the SDK.
    • I2C example code: Our I2C examples now also include the Breathing Reference Application.
    • I2C examples available for XM126. For XM126 & XM125 the following is now available:
        • Ref app breathing
        • Distance detector
        • Presence detector

    • Sensor calibration issue fix: A quite rare but severe bug causing the calibration to fail was discovered and solved. Approximately 1 in 250 sensors is affected. The issue is completely removed with this release. Either the calibration completely fails and the sensor becomes non operational or the calibration passes but with a time-shift problem causing all measurement to have an offset of 60mm.
    • nRF Connect Support: Update nRF Connect SDK to v2.5.1

 

Document Updates: The following documents have been updated. Sparse IQ User Guide, Distance Detector User Guide. I2C User Guides.

Release 1.4.0

 

    • XM126 SDK: We are releasing two different SW packages for XM126. One Exploration Server, needed to run our Exploration Tool and an SDK based on Zephyr RTOS. Download the SW on our Developer Site. You find a Getting Started Video in our YouTube channel.
    • New reference application, Touchless button: This has been available in our Exploration tool, and for A111, for a while. Now we also release it for the A121 SDK. Very reliable and performance optimized functionality.
    • Example Application, Vibration measurements: We release an example application for vibration measurements. Down to 10 micrometer displacements and frequencies up to 50kHz will be possible to detect.
    • Sensor calibration optimizations: We have made some improvements on our calibration method in order to improve the time it takes and the power it consumes.
    • Code example, Calibration caching: Many customers have requested this and now we have added example code on how to store your calibration results in cache. The time and power consumption it takes to load a saved calibration will be approximately half compared to redo a calibration every time.
    • Distance Detector changes: We have removed close-in range as default in the detector. It now has to be selected to be in use. The main reason is that users not wanting to measure very close to the sensor get rid of a lot of power consumption and time overhead.
    • Documentation Updates: Mainly new user guides and datasheet for the XM126. You can download them here.
    • Minor bugfixes and improvements

Release 1.3.0

 

    • New Example Use Case, Surface Velocity
    • Improved example code
    • Distance Detector: Improved threshold settings and peak detection that we feel will make it easier to use the detector.
    • Source file restructuring: We have made a restructuring of the source files in the SDK. We want to make a separation between example applications and reference applications. Ultimately we do take a larger responsibility of the overall performance of our references compered to our examples.
    • Minor bug fixes and improvements

Release 1.2.0

 

    • Calibration correction: We had a problem with false calibration needed warnings. Solved.
    • Presence Detection: We have now included an example of how to run presence detection over I2C.
    • Smart Presence Detector: We have added different operation modes to the presence detector. Especially useful if you have an ultra low power use case such as using the radar to wake up other more power consuming devices.
    • Max Distance: Increased to 23m
    • Also various additions and improvements to the Exploration Tool, mentioned below.

Release 1.1.0

 

    • Reference Application: We released a new application for Breathing detection.
    • API: Ripple 2.0 compatibility. Available in a separate SW package. Read more about Ripple here.
    • Example code: An example how to run the Distance Detector over I2C
    • Example code: New low power examples
    • Calibration: Improvements in the calibration routine, Decreased  stack usage.
    • Compilers: Updates to support ARM Compiler 6.20.1
    • Documentation: Updated power consumption figures for Distance and Presence Detectors

Release 1.0.0

 

    • Compilers: Compiler support for IAR, armcc, armclang M0/4/7
    • Compilers: Compiler support for gcc M33
    • New XM125 Module: SW support for our new module.
    • Reference Application: Tank level reference application. Previously only in python but now also in C-code. Different pre-sets depending on the size of the tank.
    • Reference Application: Smart presence reference application. Previously only in python but now also in the SDK. Different pre-sets depending on the distance you want to detect presence within.
    • Folder hierarchy: New structuring of our source files
    • Documentation: Complete documentation for all released features.
    • Datasheet: Version 1.0 of the Datasheet.
    • Minor bug fixes.

Errata: When using the double buffering functionality, measurements coinciding with SPI activity might have distorted phase. The issue is well understood, and we are implementing a solution that will be included in an upcoming release.

Release 0.8.0

 

    • Distance Detector: The C implementation of the DIstance Detector.
    • High Speed Mode: With this it’s now possible to collect sweeps per frame faster. Up to ~100 kHz. There are some limitations. Only available for profile 3-5. You can only utilize 1 subsweep and cannor run in continous mode.
    • WinUSB fix: Previously some users had to manually install drivers for the EVK to be detected as a WinUSB device. This is now automatic.
    • Presence Detecor improvements: Depthwise Inter and Intra score added to the results

Release 0.7.1

 

    • Pulse Repetition Frequency update: PRF is now possible to set to 15.6 MHz. 13 MHz is still the default value.
    • Optimize Prepare: We have done some optimizations when switching between different configurations. This results in huge power consumption savings and the trade-off is a 0.5 kBytes penalty in Heap consumption.
    • Calibration updates: Improvement in calibration that will result in better radar loop gain for higher profiles and calibration data integrety improvements.

Release 0.6.0

 

    • Presence Detector: Hugely improved performance and configuration possibilitites including:
        • Separate output for inter and intra presence
        • Inter-frame timeout for faster loss of detection
        • Inter-frame phase boost to increase detection of very slow motions
        • Example on how to work with multiple configurations
        • More information can be found in our online documentation.

    • Assembly Test: Same purpose as for A111. A test program that can be included in your production or prototyping to ensure that the sensor is assembled correctly onto the PCB.
    • Service API: Changes to simplify the use of the Sparse IQ service API.