| Parameter |
Condition / Mode |
Value |
Unit |
| Microphone Configuration | All variants | 12 ultrasonic microphones | — |
| Recording Mode | USB Audio Class 2 | 12-channel capture only · CH1–CH12 are microphone signals | — |
| Bit Depth | All channels | 16 | bit |
| Sample Rates | All recording modes | 48,000 / 96,000 / 192,000 / 384,000 | Hz |
| Acoustic Range | Microphone array | Infrasound and ultrasound capable | — |
| Built-in SSL | SSL Mode · up to 96,000 Hz | Hemispherical localization from the planar array; onboard SSL results are not provided in Highspeed Mode | — |
| SDK SSL | Multiple arrays with hardware SYNC | Full-sphere direction discrimination using synchronized audio streams from multiple arrays | — |
| Supply Voltage (VDD) | Rated input | 5.0 | V DC |
| Absolute maximum | 9.0 | V DC |
| Current Consumption | Active | 250 (typ.) / 320 (max) | mA |
| Standby | 40 | mA |
| Power Dissipation | T_amb = 25 °C | 1.5 (typ.) | W |
| USB Standard | — | USB 2.0 | — |
| Speed Mode | — | Highspeed | 480 Mbps |
| USB Class | — | UAC 2.0 (audio) + CDC (control) | — |
| UAC 2.0 Bit Depth | All modes | 16 | bit |
| UAC 2.0 Sample Rates | 12-channel · 16-bit | 48,000 / 96,000 / 192,000 / 384,000 | Hz |
| Connector Type | — | USB Micro / SM04B-GHS-TBT | — |
| VBUS Input | — | 5.0 ± 0.25 | V |
* SSL mode: Inter-channel amplitude and phase coherence within the audible range (≤ 24,000 Hz) is guaranteed; coherence in the ultrasonic range (> 24,000 Hz) is not guaranteed.
| Parameter |
Condition / Mode |
Value |
Unit |
| SYNC Cycle | SYNC mode | 248 | ms |
| SYNC Pulse Pattern | MASTER output | 1 TIM7 tick HIGH (about 166.7 us); pulse starts at 20 ms × 10, then 24 ms × 2 | — |
| SYNC Marker | 12.1ch · SYNC active | Last channel contains a one-sample negative pulse at each SYNC rising edge * | — |
| GPIO Update Rate | GPIO mode (max) | 100 | Hz |
| SYNC / GPIO Exclusion | — | GPIO and SYNC are mutually exclusive — when GPIO is active, SYNC is disabled regardless of CDC f-command setting | — |
| LED Update Rate | SSL / SYNC mode | 7.5 | Hz |
| LED Count | Ring array | 8 | — |
| LED Brightness Resolution | Per LED | 3-bit (8 levels) | — |
| Manual Control | Via CDC COM port | l command (index 0–9, brightness 0–7; 8 = firmware default) | — |
| Operating Temperature | Continuous | −20 ~ +70 | °C |
| Storage Temperature | Non-condensing | −40 ~ +85 | °C |
| Humidity (Operating) | Non-condensing | 10 ~ 90 | % RH |
| Dimensions (L × W × H) | PCB outline (W × H) | 32.8 × 31.8 | mm |
| Weight | PCB outline (W × H) | 5 | g |
| Mounting | — | 4× M3 screw | — |
* SSL mode: Inter-channel amplitude and phase coherence within the audible range (≤ 24,000 Hz) is guaranteed; coherence in the ultrasonic range (> 24,000 Hz) is not guaranteed.
1. Operating Modes
1-1. Recording Mode
A single hardware variant is available. USB audio output is provided only as a 12.1-channel stream: 12 microphone channels plus one dedicated low-frequency channel.
| Mode | Channels | Sample Rates | Bit Depth | Note |
| USB audio | 12.1ch | 48,000 / 96,000 / 192,000 / 384,000 Hz | 16-bit | 12 microphone channels + 1 low-frequency channel |
* SSL mode: Inter-channel amplitude and phase coherence within the audible range (≤ 24,000 Hz) is guaranteed; coherence in the ultrasonic range (> 24,000 Hz) is not guaranteed.
1-2. USB Output Modes
When SYNC is active, the last channel contains a one-sample negative pulse at each SYNC rising edge. MASTER emits a 248 ms code cycle: 20 ms × 10, then 24 ms × 2 between pulse starts. The SDK detects the pulse from its one-sample drop-and-recovery shape; the threshold is scaled from the volume reported by the audio endpoint.
| Channels | Sample Rate (Hz) | Mode | Note |
| 12.1ch | 48,000 / 96,000 / 192,000 / 384,000 | USB audio | 12 microphone channels plus dedicated low-frequency channel; sole output mode |
Highspeed Mode: The 12.1-channel USB audio stream remains available, but onboard SSL results are not provided.
* SSL mode: Inter-channel amplitude and phase coherence within the audible range (≤ 24,000 Hz) is guaranteed; coherence in the ultrasonic range (> 24,000 Hz) is not guaranteed.
2. Microphone Array Configuration
| Parameter |
Value |
Description |
| Element Count |
12 |
Ultrasonic microphone elements |
| Array Geometry |
Random |
Microphone elements are arranged in a random pattern |
| Element Type |
MEMS |
Fusion of multiple MEMS units |
| Frequency Range |
0 * – >80,000 Hz |
12I · SSL mode |
| 10 – >80,000 Hz |
12N · SSL mode |
* Constant reference point is the barometric pressure at recording start. Below 4 Hz, noise floor increases.
** Upper frequency response extends beyond 80,000 Hz.
The array uses the same 12-microphone hardware configuration in both suffix variants. The I/N suffix identifies infrasound support.
2-1. Individual Microphone Positions
Coordinates in millimeters; all Z coordinates are 0.
Direction estimation: All microphone elements are located at Z = 0, so the built-in SSL cannot distinguish directions mirrored across the microphone plane. Full-sphere direction discrimination is not possible with one MIC1223. It requires multiple MIC1223 arrays synchronized through SYNC and processed with SDK SSL.
| Channel | X (mm) | Y (mm) | Z (mm) |
| 1 | 15.053624 | −8.882500 | 0 |
| 2 | 8.453624 | −8.649038 | 0 |
| 3 | 1.853624 | −8.649038 | 0 |
| 4 | 15.053624 | −2.832500 | 0 |
| 5 | 8.153624 | −2.832500 | 0 |
| 6 | 1.253624 | −2.832500 | 0 |
| 7 | 14.953624 | 3.317500 | 0 |
| 8 | 8.473624 | 2.777500 | 0 |
| 9 | 5.773624 | 2.777500 | 0 |
| 10 | 14.853624 | 9.117500 | 0 |
| 11 | 8.473624 | 6.277500 | 0 |
| 12 | 0.853624 | 9.117500 | 0 |
3. Acoustic Characteristics
| Parameter |
Condition |
Value |
Unit |
| Sensitivity | 1 kHz, 94 dB SPL | −26 ± 1 | dBFS |
| SNR | A-weighted, 94 dB SPL | 65 | dB(A) |
| THD | 100Hz-10kHz, 94dB | < 0.2 | % |
| 100Hz-10kHz, <110dB | < 1 | % |
| Acoustic Overload Point (AOP) | THD = 10% | 120 | dB SPL |
| Phase Deviation | 100Hz-10kHz | < 2 | ° |
4. SSL Output Reference
4-1. LED Ring Behavior
8 ring LEDs (7 red + 1 yellow at 0° reference) visualize the built-in hemispherical SSL output in real time. When multiple sources are detected, multiple LEDs illuminate simultaneously. Elevation magnitude is encoded in LED brightness. Full-sphere direction discrimination requires multiple arrays connected through SYNC and SDK SSL. Each LED can be manually controlled (brightness 0–7) via l command on the CDC COM port; setting brightness to 8 restores firmware SSL output.
| Parameter |
Value |
Note |
| Ring LED Count |
8 |
Circular arrangement, one per 45° |
| Update Behavior |
Real-time |
Tracks SSL output continuously / manual override via CDC |
| LED Update Rate |
30 |
Hz |
| LED Brightness Resolution |
3-bit |
8 levels (0 = off, 7 = full) |
* Ring LEDs are driven directly from the SSL engine; no user configuration required for standard SSL output.
4-2. Status LEDs
Green and blue status LEDs are positioned at the top of the device to indicate current power and streaming status.
The ring LEDs are user-controllable via CDC COM port — brightness and pattern can be overridden independently of SSL output.
| Operating State |
Blue LED |
Green LED |
| Power On (USB Enumeration Complete) |
ON |
OFF |
| SSL Mode (≤ 96,000 Hz) |
ON |
ON |
| Highspeed Mode (≤ 192,000 Hz) |
OFF |
ON |
4-3. Direction Coverage
A single MIC1223 provides hemispherical direction estimation only. Full-sphere direction discrimination requires multiple MIC1223 arrays synchronized through SYNC and processed with SDK SSL.
4-4. On-board SSL Performance
The on-board SSL engine runs within the device MCU's real-time budget, which bounds algorithm complexity. Angular error, multi-source separation, and noise robustness are all constrained by available on-chip processing capacity. The result is a practical estimate suitable for general use, not a high-precision measurement.
For higher-accuracy localization, users can capture the raw multichannel audio and run their own SSL algorithm on the host. Multiple arrays can be hardware time-aligned via SYNC to further improve accuracy. See Section 6-3 for host-side SSL setup and recommended multi-array configuration.
4-5. SSL Frequency and Installation Guidelines
To obtain accurate SSL results, the direct audio propagation path between the sound source and the array must be free of obstacles. Physical obstruction — mounting brackets, enclosure walls, or nearby structures — attenuates or reflects sound before it reaches the array and degrades SSL accuracy.
| Frequency Region |
Practical SSL Note |
| Recommended band |
Best practical SSL performance is obtained around 700–3,000 Hz. |
| Low frequency |
Lower frequencies require a wider microphone spacing for reliable phase-difference detection. With one MIC1223 array, SSL below approximately 500 Hz is difficult in practice. For lower-frequency targets, use multiple MIC1223 arrays synchronized through SYNC to create a larger aperture. |
| High frequency |
Reflection: Higher frequencies are less suitable for SSL. In non-open spaces, reflections from walls and nearby surfaces become difficult to ignore above approximately 5 kHz.
Spatial aliasing: The shortest microphone spacing is approximately 2.70 mm; using a sound speed of 343 m/s, spatial aliasing cannot be ignored above approximately 63.5 kHz.
Microphone resonance: Above approximately 15 kHz, phase uncertainty caused by microphone resonance cannot be ignored.
|
5-1. CDC Output Format
Real-time tracking data is provided via USB CDC as a virtual COM port. Since this is a virtual COM port, the baud rate setting is ignored — the host may set any baud rate. The port uses 8 data bits with parity (8N1 or as configured by the host). Up to 10 sources can be tracked simultaneously (3 sources are practical for standard operation).
If multiple sound sources are detected in a single frame, the device transmits multiple lines (one string per source) sequentially.
SSL Result Format
| Parameter |
Unit / Type |
Description |
| id |
Integer |
Unique source identifier (tracks individual sound sources) |
| time |
Milliseconds |
Report timestamp (calculated as frame index × 0.1s) |
| phi / theta |
Degree × 100 |
Azimuth (phi) and Elevation (theta) in spherical coordinates, encoded as degree × 100 |
| center_hz |
Hertz (Hz) |
Estimated center frequency of the detected source |
| activity |
0 – 1000 |
Activity level (ASD), range 0–1000. Values ≥ 500 indicate an active source. |
Status output reports device runtime information via the CDC COM port when enabled. The temperature measurement point is the MCU internal temperature.
Status Format
| Parameter |
Unit / Type |
Description |
| time |
Milliseconds |
Current time |
| usage% |
0 – 100 |
CPU usage |
| temp |
°C × 10 |
MCU temperature in Celsius, encoded as temperature × 10 |
Barometric Measurement Format (12I Variant Only)
| Parameter |
Unit / Type |
Description |
| time |
Milliseconds |
Report timestamp |
| pressure |
Pa |
Barometric pressure value(%.4f) |
GPIO Measurement Format (GPIO Mode Only)
GPIO samples are transmitted on the 8 Hz CDC output cycle. When the GPIO update rate is set above 8 Hz (e.g. 100 Hz), multiple samples accumulate per cycle and are sent as a burst — for example, at 100 Hz up to approximately 13 samples may be batched in a single transmission.
| Field |
Size / Type |
Description |
| time |
Milliseconds |
Timestamp of the first sample in the batch |
| value |
1 bytes × len (uint16) |
values; '0' or '1' |
5-2. CDC Input Format
CDC Input Format (PC → Device)
The host PC may send configuration commands to the device via the CDC COM port. Commands take effect immediately in RAM. To persist settings across power cycles, send s (save). Send r to restore factory defaults.
| Command |
Parameter |
Description |
| p |
0 / 1 |
SSL output via COM port — 0: disabled; 1: enabled |
| t |
0 / 1 |
Status output via COM port — 0: disabled; 1: enabled |
| s |
none |
Save all current in-RAM settings to flash |
| r |
none |
Factory reset — restore all settings to factory defaults and save to flash |
| l |
XY (X: 0–9, Y: 0–8) |
LED manual control. X = LED index (0–9); Y = brightness level (0–7: manual, 8: restore firmware default SSL / mode output) |
| b |
0 / 1 |
Barometric output via COM port — 0: never output; 1: output only when barometer is present |
| f |
none / 0 / 1 / 2 |
No argument: return current role as f0, f1, or f2. With argument: 0 = OFF / GPIO; 1 = FOLLOWER input; 2 = MASTER output. A wired group must contain exactly one MASTER and all other units must be FOLLOWER |
| gp |
0–100 |
GPIO auto-sampling rate in Hz (0 = off). When nonzero, device auto-samples at the specified Hz and transmits batches each 8 Hz CDC cycle; also clocks out buffered gw data at that rate. When 0: voltage goes high on gw receipt; send g0 to read. |
| g |
0 / 1 |
GPIO direction — 0: read (0/1); 1: write (0/1). When no auto-rate is set, sending g0 immediately returns one sample. |
| gw |
| Push output data into the output buffer. Data is consumed at the rate set by gp; if no rate is set, the output is applied immediately and held until the next gw. |
| i |
read: none / set: 0–255 number (e.g. i120) |
Set/get mic ID. Send i to read the current ID, or send i0–i255 to set the identifier used in multi-microphone systems. |
| m |
none |
Read installed MEMS count. The reply is m4 or m5, determined by the firmware boot-time SPI hardware probe. This does not open UAC or infer the result from audio amplitude. |
Multi-microphone ID: When multiple MIC1223 units are used together, each unit can be distinguished by its device ID. Set the ID through the CDC i command; the configured ID is included in the device output and may also appear in the USB device name, for example 12CH MICARRAY ID0. Some operating systems cache USB device names and may not refresh the displayed name immediately after the ID is changed. If the displayed USB device name does not change after setting the ID, reset or clear the host USB device configuration/cache and re-enumerate the device.
Persistence: Commands take effect immediately but are not written to flash until s is sent. On power-up, the last saved flash state is restored. r resets to factory defaults and saves automatically.
6-1. GPIO Reference
The SYNC pin (Pin 1 of the 2.54 mm header) normally carries the inter-microphone synchronization pulse.
When SYNC synchronization is not required, the same pin can be reconfigured as a general-purpose GPIO.
GPIO mode and SYNC mode are mutually exclusive: activating GPIO mode disables SYNC output regardless of the CDC f-command setting (treated as f0).
| Parameter |
Value |
Note |
| Maximum Update Rate |
100 Hz |
Configurable via gp command (0–100) |
| R/W Resolution |
1-bit |
|
| SYNC / GPIO Exclusion |
Mutually exclusive |
GPIO active → SYNC disabled |
6-2. SYNC Signal
Each MIC1223 provides a dedicated SYNC I/O pin header (2.54 mm, 2-pin). Before recording, configure exactly one connected unit as MASTER (f2) and every other unit as FOLLOWER (f1). The firmware does not perform automatic master election. When active, the last channel of each recording stream contains a one-sample negative pulse at each SYNC rising edge; full 16-bit audio resolution is maintained at all other times.
| Pin |
Signal |
Description |
| 1 |
SYNC |
Synchronization pulse (output on generator unit, input on all others) |
| 2 |
GND |
Ground reference — connect to common GND between units |
| Parameter |
Value |
Note |
| Connector |
2.54 mm Pin Header, 2-pin |
Standard pitch, vertical |
| SYNC Code Cycle |
248 ms |
20 ms × 10, then 24 ms × 2 between pulse starts |
| SYNC Pulse Width |
1 TIM7 tick, about 166.7 us |
Each rising edge creates a one-sample UAC marker |
The 248 ms SYNC code cycle uses one-sample negative-pulse markers at each rising edge and provides a common reference point across all units. The unique 20 ms -> special marker -> 24 ms cadence is used only for initial FIFO alignment, independently for every MASTER–FOLLOWER pair. After lock, the SDK updates each pair from its next common marker without distinguishing special and ordinary markers; a missing marker leaves that pair's offset unchanged, and only that pair returns to initial-lock search after three seconds without an update. MASTER does not insert a marker merely because firmware writes the output: its driven PA11 rising edge is observed through the same EXTI interrupt path used by FOLLOWER units. The SDK recognizes only a one-sample drop followed by recovery, using a per-endpoint threshold scaled from the current audio volume. Marker-corrupted samples can be preserved or interpolated by the host SDK output options.
6-3. Host-side SSL with Multi-Array SYNC
Connecting MIC1223 arrays via SYNC hardware-aligns their audio streams to a single time reference. The same SYNC connector is shared by CAM0222GT thermal cameras and CAM0222GS stereo cameras, enabling heterogeneous synchronization of microphone audio and camera frames. Each stream retains its native sample or frame rate; timestamps associate audio samples and video frames with the common time reference. Host-side SSL can then treat microphones across units as one large-aperture array. This approach is not limited by on-chip processing capacity — any algorithm can be applied on the host.
Multiple-Array SDK SSL:
Use multiple MIC1223 arrays connected through SYNC; select the 12I or 12N suffix for infrasound support.
Each unit has the same 12-microphone hardware configuration. Connect multiple units through SYNC and use SDK SSL for spherical direction estimation.
7. Dashboard
A browser-based test dashboard is provided for MIC1223 operation with the CAM0412 and CAM0510 fisheye-lens camera options. The dashboard overlays the MIC1223 SSL direction on the fisheye camera view and provides Web Serial / Web Audio / WebRTC controls for evaluation and application prototyping.
| Item |
Usage |
| Browser |
Use Edge / Chromium-based browser with Web Serial and camera access. If local file access blocks device permissions, serve the folder through localhost or HTTPS and open the same mic0528_dashboard.html file. |
| MIC1223 Setup |
Connect MIC1223 by USB, click COM Port Add to authorize the CDC port, select the port, then click Connect Mic. Use Start Recording to enable Web Audio capture and channel spectrogram display. |
| CAM0412 / CAM0510 |
Select the fisheye camera device, click Connect Camera, then set center X/Y and 180° radius so the circular fisheye image aligns with the overlay grid. The center represents the optical axis and the outer ring represents the configured 180° boundary. |
| SSL Overlay |
When CDC SSL output is enabled, the dashboard draws the detected azimuth/elevation result on top of the fisheye image. Built-in SSL provides hemispherical direction estimation; full-sphere direction discrimination requires multiple synchronized arrays and SDK SSL. |
| Controls |
The right control panel can enable/disable SSL, select the SYNC OFF/FOLLOWER/MASTER role, and configure barometric, CPU/temperature, GPIO, and LED settings through the CDC COM port. Manual LED values 0–7 override brightness; value 8 restores firmware SSL-driven LED behavior. Use Save s to store persistent device settings. |
| License / Reuse |
The dashboard HTML, CSS, and JavaScript are dedicated to the Public Domain to the extent permitted by applicable law. Hilbert Robotics permits copying, modification, inspection, reverse-engineering, and reuse of the dashboard structure and code to develop user applications for MIC1223 with CAM0412/CAM0510 fisheye-lens options without requesting permission from Hilbert Robotics. The dashboard is provided as-is and without warranty; users are responsible for validation, safety, regulatory compliance, and any third-party rights. |
8. Calibration & Warranty
All MIC1223 units are individually calibrated before shipment to ensure consistent performance across the microphone array. The calibration data is stored on-device and applied automatically during operation.
| Parameter |
Details |
| Factory Calibration |
All units calibrated before shipment for optimal performance |
| Calibration Warranty Period |
2 years from date of purchase |
| Post-Warranty Guarantee |
Phase matching and SSL accuracy not guaranteed after warranty period expires |
| Recalibration Service |
Available from the manufacturer — contact hyon646@gmail.com for details |
For sustained SSL accuracy in long-term deployments, recalibration is recommended after the 2-year warranty period. The manufacturer provides a recalibration service to restore factory-level performance.