Welcome to Mirrorcle Docs#
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#
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#
Getting Started
Guides
SyMPL 3D LiDAR
What's New