Welcome to Mirrorcle Docs#

_images/mirrorcle_banner.png

Mirrorcle offers a comprehensive Application Programming Interface (API) for full control of Mirrorcle’s MEMS mirrors and electronics.

The Mirrorcle API allows for generation of content (MEMS positions and correlated digital outputs), control and streaming of content, reading of analog inputs, synchronization with additional Controllers or peripherals, tracking, etc. This allows users to integrate Mirrorcle’s beam-steering solutions into any system and for any application.

Mirrorcle’s software development kits (SDKs) are available in multiple languages and on various platforms:

  • C++ (Windows and Linux)

  • LabVIEW (Windows)

  • Matlab (Windows)

  • Python (Windows and Linux)

  • Java (Android)

For more information on Mirrorcle’s software products, including the Mirrorcle Software Suite and its numerous applications and SDKs, please visit https://www.mirrorcletech.com/wp/products/software/

Highlighted Video Guides:#

In this video, we explain several methods of operating Mirrorcle’s Dual-Axis MEMS Mirrors and demonstrate the necessary setup steps to achieve each mode.

In this video, we show what you can achieve in the first 5 minutes after receiving a Standard MEMS Mirror Development Kit from Mirrorcle Technologies.

New Major Release 11.2#

Read the major release notes for 11.2 here

Latest Mirrorcle API update#

11.2.0.0#

Release Date 2026-04-03

  • MirrorcleDraw

  • Added a user‑configurable minimum sample rate limit, controlled via the MinSampleRate parameter in the mirrorcledraw.ini file

  • Fixed waveform discontinuity in triangle patterns when the sample rate is low and not divisible by frequency.

  • Updated MirrorcleDraw color distrbution in gradient and jet coloring mode to distribute colors only over displayed (non-blanking) content.

  • Updated protection when number of points exceed buffer limitation.

  • MirrorcleDemo

  • Added color projection options to the Marquee text scrolling demo with ini-file configurable color modes.

  • MirrorcleShow

  • Improved missing‑file detection and error‑handling logic to provide clearer messages and prevent application crashes.

  • Fixed ILDA file‑path detection issue on Linux.

  • C++ SDK

  • Transitioned the solution and SDK project to use the v143 toolset, enabling developers to build and run the SDK with Visual Studio 2022.

  • Note: The minimum required Visual Studio version to build the SDK is now Visual Studio 2022 with v143 toolset.

  • Added support for Ubuntu 24.04.

  • Added GetLinearRasterPatternSize function to calculate size of the data for pre-allocation ahead of LinearRasterPattern function call.

  • Added GetPointToPointPatternSzie function to calculate size of the data for pre-allocation ahead of PointToPointPattern function call.

  • Added GetInterpolateDataSize function to calculate size of create data for pre-allocation ahead of InterpolateData function call.

  • Updated FilterData function to resolve pre-allocation issues in “zeroPhase” filtering. It is no longer necessary to pre-allocate 3x array size to output arrays, but only match input arrays.

  • Updated RQWavefrom function to clamp amplitude (0 to 1.0) to prevent output waveforms exceeding -1 to +1 output range.

  • Fixed incorrect number of points count in HersheyDataSize.

  • Fixed incorrect return value in InterpolateData function for single‑key‑point cases.

  • Matlab SDK

  • Added RQWaveform function and example to the MATLAB SDK.

  • Updated MirrorcleTrack script to work with latest laser tracking hardware.

  • LabVIEW SDK

  • Added RQWaveform to the MTIDevice LabVIEW library.

  • Added example vi for RQWaveform.

  • Added GetLinearRasterPatternSize and GetPointToPointPatternSize functions to the MTIDevice LabVIEW library.

  • Added use of the Get…Size functions in vi LabVIEW SDK examples to pre-allocate arrays accurately.

  • Mirrorcle MEMS Controller Bootloader Application

  • Fixed issue where the Refresh button became disabled after a failed connection attempt.

  • Fixed connectivity issues when COM port numbers exceed 100.

  • Python SDK

  • Transitioned the Python SDK to Python 3.13

  • Note: this update requires Python 3.13, as earlier versions are no longer supported.

  • Added GetLinearRasterPatternSize, GetInterpolateDataSize, GetInterpolateDataTrapezoidalSize, GetInterpolateDataLinearSize, and GetPointToPointPatternSize functions to the Python SDK.

  • Added use of the Get…Size functions in MTIDevice-Demo.py to pre-allocate arrays accurately.

  • Fixed data-type errors in InterpolateDataTrapezoid and InterpolateDataLinear functions.

  • Removed support for 32-bit Python distributions.

Table of Contents#

What's New

Indices and tables#