Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

KIWI Flight Systems Manual

Welcome to the official documentation for KIWI Flight Systems. Engineered with precision. Inspired by a bird that never gave up.

Inside, you’ll find hardware specifications, pinouts, setup procedures, firmware integration guides, and system-level configuration references.

Whether you’re building from scratch, integrating custom sensors, or tuning for flight performance, this documentation is designed to support your development process from start to finish.

For feedback, corrections, or suggestions, please contact us at support@kaponga.nz

Welcome

UAV Electronics

Sensors

Flight Controllers

Flight Controllers (Obsolete)

Reference


Kiwi Ground Station Kit

kiwi-GS.png

Firmware

Призначення

Комплект наземної станції керування FPV дроном призначений для забезпечення безпеки операторів дронів.

Комплект є основою для побудови інфраструктури наземної станції.

Склад

Комплект складається з двох основних плат:

  • Ground Board (плата оператора) — 1 шт
  • Antenna Board (плата щогли) — 1 шт
  • JR Board (адаптер для підключення до пульта RC)
  • Технічна документація — 1 шт
  • Кабель Cat5e або Cat6 не входить до комплекту

Плата оператора розміщується у бліндажі або в пункті керування дронами.
Плата щогли встановлюється поблизу антени.
З’єднання між ними здійснюється екранованим кабелем “вита пара” довжиною до 300 м.

Функції

  • Перетворення керуючого сигналу S.PortUART і назад.
  • Передача аналогового відео CVBS з VRX до бліндажу.
  • Підсилення відеосигналу та його перетворення в цифровий потік.
  • Живлення передавального модуля та VRX до 26В.

Переваги Kiwi Ground Station Kit

  • Надійна передача до 600 м без ретрансляторів.
  • Один кабель передає живлення, відео, та керування.
  • Можливість живлення щогли локально або по кабелю.
  • Вбудовані DC-DC стабілізатори 5V, 9V, 12V на щоглі.
  • 4 відеовиходи без затримки.
  • Підтримка UART / CRSF.
  • Мінімальна кількість з’єднань.
  • Робота в діапазоні температур -20°C до +60°C.

Поширені сценарії використання

  • Мобільні наземні станції для FPV-дронів
  • Розвідувальні комплекси з щоглою до 10 м
  • Модернізація старих систем зв’язку
  • Системи спостереження у складних умовах

Технічні характеристики

ПараметрЗначення
З’єднання між платамиЕкранована вита пара (T568B)
Максимальна довжина кабелюдо 300 м
Живлення по кабелюдо 150 м без підвищення
Робоча напруга живлення3S–12S (12–50 В)
Передача данихUART / CRSF
Передача відеоCVBS (аналог)
Відеовиходи4 на Ground Board
Робоча температура-20°C … +60°C
Стабілізатори на щоглі5V, 9V, 12V (DC-DC)

Схема підключення

Ground Board:

  • Video1 → FPV окуляри
  • Video2 → Монітор
  • Video3 → DVR
  • Video4 → USB відео стрім (запис/трансляція)
  • UART → Пульт або ПК

Antenna Board:

  • TX (наприклад, ELRS TX)
  • VRX (аналоговий приймач)

Зʼєднання:
Ground Board ↔ Antenna Board через екранований кабель Cat5e/Cat6 до 300 м

Живлення та втрати напруги

Стабілізація на щоглі

На платі Antenna Board встановлені DC-DC перетворювачі:

  • 5V — для VRX
  • 9V — для спеціальних пристроїв
  • 12V — для передавача

Втрати на довгих кабелях (1А навантаження)

ДовжинаВтрати (6S)Втрати (12S)Напруга на щоглі (6S / 12S)
100 м~3.6 В~3.6 В21.6 В / 46.8 В
200 м~7.2 В~7.2 В18.0 В / 43.2 В
300 м~10.8 В~10.8 В14.4 В / 39.6 В

Інструкція з експлуатації

  1. Підключіть окуляри, монітор, DVR та USB відео стрім до Ground Board.
  2. Підключіть пульт або ПК через UART.
  3. Підключіть живлення 6S або 12S.
  4. З’єднайте Ground ↔ Antenna через кабель.
  5. Підключіть VRX та TX до Antenna Board.
  6. Увімкніть систему.

Рекомендації щодо прокладання і маскування кабелю

  • Прокладати вздовж укриттів (дерева, рельєф, стіни).
  • Уникати відкритих ділянок.
  • Маскувати або фарбувати кабель.
  • Фіксувати до землі або прокладати у кожусі.
  • Біля щогли залишати запас.
  • Перевіряти видимість з дронів.

KIWI Antenna Tracker

Antenna tracking module for the KIWI Ground Station Kit. Receives MAVLink telemetry from the UAV and automatically points the antenna toward the aircraft. Based on the KiwiF405-12S flight controller running ArduPilot AntennaTracker firmware.

Features

  • Automatic antenna tracking — receives GPS coordinates from the UAV via MAVLink and drives a yaw servo to keep the antenna pointed
  • Precision encoder — high-resolution heading sensor for accurate yaw position feedback
  • GPS — onboard GPS for tracker’s own position reference
  • TBS Fusion VRX control — built-in serial integration for remote frequency control, RSSI monitoring, and band scanning
  • Single-servo yaw — continuous rotation servo on output 1
  • Plug-and-play — pre-configured defaults, connects directly to the Ground Station Kit

Connections

PortFunctionDefault Protocol
USBGCS / ConfigurationMAVLink2
SERIAL1RC InputSBUS/CRSF
SERIAL2MAVLink TelemetryMAVLink2 (460800)
SERIAL3GPSGPS (115200)
SERIAL4TBS Fusion VRXVRX Serial (115200, half-duplex)
SERIAL5MAVLink2 GCS (RS422)MAVLink2
PWM1Yaw ServoContinuous rotation

Modes

ModeDescription
MANUAL (0)Direct servo control from RC
STOP (1)Hold current position
SCAN (2)Sweep back and forth searching for vehicle
AUTO (10)Track vehicle automatically using MAVLink GPS

Default startup mode is MANUAL.

Video Receiver Control

The tracker supports remote control of 5.8 GHz video receivers over SERIAL4. Two receivers are currently supported:

VRXVRX_ENABLEFrequency ControlRSSIBand Scan
TBS Fusion2YesYes (dual RX)Yes
SteadyView X3YesNoNo

TBS Fusion VRX Integration

The tracker has built-in support for controlling a TBS Fusion 5.8 GHz video receiver over a single-wire UART connection (SERIAL4). No CAN bus or additional boards required.

Wiring

One wire from TBS Fusion UART TX/RX to the tracker’s SERIAL4 pad. Half-duplex is pre-configured (SERIAL4_OPTIONS=4). Power the Fusion separately — only the data wire is needed.

Features

Real-time RSSI monitoring — dual-receiver signal strength (Receiver A and B) and current frequency are polled at 2 Hz and streamed to GCS as MAVLink NAMED_VALUE_FLOAT messages:

MessageDescription
VRXFCurrent frequency (MHz)
VRXARSSI Receiver A (0.0–1.0)
VRXBRSSI Receiver B (0.0–1.0)

Remote frequency control — change the VRX operating frequency from GCS by setting the VRX_FREQ parameter (in MHz, e.g. 5800). The tracker confirms the change and reports back via GCS status message.

Frequency range scan — trigger a full-band scan from GCS to find active video transmitters. Scan results (RSSI per frequency) are delivered as a binary MAVLink TUNNEL message (payload_type 60100) for GCS-side visualization.

VRX Parameters

ParameterDefaultDescription
VRX_ENABLE20=Off, 2=TBS Fusion, 3=SteadyView X
VRX_FREQ5800Operating frequency (MHz)
VRX_ADDR1TBS Fusion serial address

Scan Parameters

ParameterDefaultDescription
VRX_SCAN0Set to 1 to start scan, auto-resets to 0
VRX_SCANLO5200Scan start frequency (MHz)
VRX_SCANHI6000Scan stop frequency (MHz)
VRX_SCANST10Scan step (MHz)
VRX_SCANRX0Scan receiver (0=A, 1=B)

Scan Results Format

Scan results arrive as a TUNNEL message with payload_type 60100. Binary payload:

FieldTypeDescription
start_frequ16 LEStart frequency (MHz)
stepu8Step size (MHz)
countu8Number of entries
rxu8Receiver (0=A, 1=B)
rssi[]u8[]RSSI value per frequency step

SteadyView X VRX Integration

Remote frequency control for the ImmersionRC SteadyView X receiver over SERIAL4. Set VRX_ENABLE=3.

Wiring

Same as TBS Fusion — single wire from SteadyView X UART to SERIAL4 pad, half-duplex.

Features

Remote frequency control — change the VRX channel from GCS by setting the VRX_FREQ parameter (in MHz). RSSI monitoring and band scanning are not available on this receiver.

Parameters

ParameterDefaultDescription
VRX_ENABLE3SteadyView X serial backend
VRX_FREQ5800Operating frequency (MHz)

Firmware

ArduPilot AntennaTracker firmware for KiwiF405-12S-Tracker. Flash via Mission Planner or apj upload over USB.

Drobodrone: Плата для керування піротехнічними системами

image

Buy Online Buy Online

Опис

Drobodrone — це універсальна та безпечна плата для керування піротехнічними навантаженнями (парашути, феєрверки, маркери тощо), призначена для інтеграції у складі FPV, UAV та інших безпілотних систем. Підтримує до 4 незалежних каналів підриву з високим рівнем безпеки.

Плата підтримує багаторазове використання і може бути повністю перепрограмована для кастомних сценаріїв.


Основні функції

  • 4 незалежні канали підриву
    Призначені для запуску різних піротехнічних систем. Кожен канал має апаратний ключ для запобігання хибному спрацюванню.

  • Інтерфейси керування:

    • PWM IN x2:
      • ARM: активує систему (захист знято)
      • FIRE: активує підрив (при активному ARM)
      • PWM активується при ширині імпульсу 1800–2000us
    • UART (SmartESAD):
      • Для передачі телеметрії, контролю статусу та розширеного керування
  • Аудіо сигналізація:
    Вбудований динамік інформує про поточний статус (наприклад: озброєно, відмова, успішне спрацювання).

  • Світлова сигналізація:
    Три яскраві LED інформують про стан системи: Ready / Armed / Fired / Error

  • Механічна чека (запобіжник):
    Фізичне роз’єднання для запобігання спрацювання під час транспортування чи підготовки.

  • Інтерфейс живлення:

    • Живлення від 5V
    • Спрацювання елементів від 20V
    • Захист від перенапруги, короткого замикання

Безпекові елементи

Система побудована за принципом багаторівневого захисту:

  1. Механічний вимикач-запобіжник — фізично розриває ланцюг.
  2. PWM-сигнал типу ARM — не дозволяє спрацювання без команди.
  3. Таймер самозахисту — автоматичне вимкнення при відсутності FIRE протягом заданого часу.
  4. Апаратні ключі — унеможливлюють коротке замикання або хибне спрацювання.
  5. Світлова та звукова індикація — для візуального та звукового контролю статусу.

Сумісність з автопілотами

Плата легко інтегрується з будь-яким автопілотом, який має PWM-виходи або UART-порти:

ПлатформаМетод інтеграції
ArduPilotSERVOx_FUNCTION = 94/95, 51-66
BetaflightRESOURCE + SERVO конфігурація
iNAVServo Mixer + Modes
INDI/CustomPWM або UART SmartESAD

PWM-сигнал може бути поданий з пульта, автопілота або окремого модуля запуску.


Роз’єми та підключення

  • Pyro Out x4: спеціальні піротехнічні конектори
  • PWM IN x2: пади для пайки
  • UART: пади для пайки
  • 5V In: пади для живлення
  • GND, Status LED, Speaker: окремі виходи

Плати мають великі, зручні контактні майданчики, які легко інтегрувати навіть у щільну проводку.


Кастомізація

Плата підтримує:

  • Перепрошивку MCU через стандартний bootloader
  • Зміну логіки ARM/FIRE
  • Зміну таймерів, режимів індикації
  • Підтримку альтернативних протоколів (за потреби)

Інтеграція: Швидкий старт

  1. Підключіть 5V живлення та землю
  2. Підключіть PWM ARM та PWM FIRE від автопілота
  3. Підключіть піротехнічні канали
  4. Встановіть механічну чеку
  5. На землі подайте ARM > FIRE у потрібний момент
  6. Перевірте LED та аудіо сигналізацію
  7. Опціонально підключіть UART до Companion Computer або логера

Примітка

Перед польотом завжди перевіряйте стан чека, сигналів, підключення піроканалів та акумулятора. Не залишайте плату в режимі ARM без нагляду.


Індикатори станів. Керування

Комбінація помаранчевого 🟠 та зеленого діодів 🟢 – індикатор поточного стану плати.
Червоний діод 🔴 сигналізує про помилку, яку має усунути оператор.
Помилки можливі в будʼякому зі станів плати. Щоб плата могла перейти в наступний стан, спершу треба усунути всі помилки.

  • 🔴🔴🔴🔴🔴🔴 (постійно світиться) – плата не отримує валідний PWM ARM чи PWM ARM сигнал, можливо проблема пайки зʼєднання з польотним контроллером.
  • 🔴🔴⚪️⚪️🔴🔴 (повільно блимає, 1 раз на секунду, 1гц) – треба відтиснути PWM ARM.
  • 🔴⚪️🔴⚪️🔴⚪️ (швидко блимає, 3 рази на секунду, 3гц) – треба відтиснути PWM FIRE.

PWM: 0 ≤ invalid < 900 ≤ valid=0 ≤ 1800 < valid=1 < 2000 ≤ invalid

Для початку роботи:

  • плата має “бачити пульт”: отримувати валідні PWM ARM та PWM FIRE (900 < pwm ширина < 2000)
  • PWM ARM має бути у положені disarm (0, false, low, відтиснуте, вимкнене, ненатиснуте)
  • PWM FIRE має бути у положені nofire (0, false, low, відтиснуте, вимкнене, ненатиснуте)
  • вставити запобіжник (чеку)

Стани:

(1) Безпечно. Вітання 🔔:
🔴🔴🔴🔴🔴🔴
🟠🟠🟠🟠🟠🟠
🟢🟢🟢🟢🟢🟢
Триває секунду після подачі живлення, далі автоматично переходить в (2) Очікую Запобіжник

(2) Безпечно. Очікую запобіжник:
⚪️⚪️⚪️⚪️⚪️⚪️
🟢⚪️🟢⚪️🟢⚪️
Чекає поки оператор вставить чеку, далі переходить в (3) Запобіжник

(3) Безпечно. Запобіжник:
⚪️⚪️⚪️⚪️⚪️⚪️
🟢🟢🟢🟢🟢🟢
Чекає поки оператор усуне чеку, далі переходить в (4) Таймер

(4) Безпечно. Таймер:
⚪️⚪️⚪️⚪️⚪️⚪️
🟢🟢⚪️⚪️🟢🟢
Можливо вставити чеку щоб повернутись в (3) Запобіжник
Триває 60 секунд. Дає час відійти після усунення чеки. Далі переходить в (5) Очікую Заряд

(5) Уважно. Очікую Заряд:
🟠🟠⚪️⚪️🟠🟠
Можливо вставити чеку щоб повернутись в (3) Запобіжник
Чекає на PWM ARM від оператора, далі ~секунду заряджає 🔔 і переходить в (6) Заряджено

(6) Небезпечно. Заряджено 🔔:
🟠⚪️🟠⚪️🟠⚪️
Можливо вставити чеку щоб повернутись в (3) Запобіжник
Відтисни PWM ARM щоб розрядити і повернутись в (5) Очікую Заряд
Натисни PWM FIRE щоб зробити (7) Постріл.

(7) Небезпечно. Постріл:
🔴🔴🔴🔴🔴🔴
🟠🟠🟠🟠🟠🟠
🟢🟢🟢🟢🟢🟢
Постріл триває 100ms і автоматично переходить в (5) Очікую Заряд, який одразу переходить в (6) Заряджено якщо не відтискати PWM ARM.
Задля безпеки, для наступного пострілу треба відтиснути PWM FIRE, про що нагадає помилка 🔴⚪️🔴⚪️🔴⚪️.
4 незалежні канали підриву 1234 поділені на 2 групи по 2 канали в кожній 12 34. Постріл підриває поточну активну группу (2 канали одночасно), і готує наступну групу для наступного пострілу. I так по-колу. Тобто постріли 1 2 3 4 5 6 здетонують канали 12 34 12 34 12 34.

Тобто послідовність роботи така:
підготовка: power arm=0 fire=0 вставили_чеку вийняли_чеку 60сек
робота: arm=1 fire=1 fire=0 fire=1
додому: fire=0 arm=0

SmartESAD

Overview

SmartESAD (Emergency Safety Arming Device) — протокол серійного зв’язку між польотним контролером та платою DroboDrone через UART. Замість простого PWM керування, SmartESAD забезпечує двосторонній зв’язок: передачу команд, зворотній зв’язок про стан пристрою, та відображення статусу на OSD.

SmartESAD is a serial protocol for bidirectional communication between the flight controller and the DroboDrone board over UART. Instead of simple PWM control, SmartESAD provides command transmission, device status feedback, and OSD status display.


Переваги над PWM / Advantages Over PWM

PWMSmartESAD
Одностороннє керуванняДвосторонній зв’язок
Немає зворотного зв’язкуСтатус пристрою на OSD
2 дроти (ARM + FIRE)UART (2 дроти full-duplex або 1 дріт half-duplex)
Немає контролю помилокChecksum на кожному повідомленні
Фіксована логікаНастроювані таймери та пороги

Стани системи / System States

SmartESAD керує DroboDrone або будь-яким піротехнічним виробом через послідовність станів безпеки:

Стан / StateОпис / Description
SAFEБезпечно. Мотори вимкнені або система в очікуванні / Safe. Motors off or system idle
ALOFTВ повітрі. Мотори працюють, жодна команда не активна / Airborne. Motors running, no command active
FLETНапівозброєно. Передня лінія / Semi-armed. Forward Line of Enemy Troops
ATTACKОзброєно. Готовий до пострілу / Armed. Ready to fire
FIREПостріл / Deploy

Пріоритет команд: FIRE > ATTACK > FLET


OSD Статус / OSD Status Display

Пілот бачить поточний стан SmartESAD на OSD екрані:

СтанOSD
Немає зв’язкуESAD.... з анімацією ?
Помилка зв’язкуESAD ERR: CSUM/SEQ/SIZE
БезпечноSAFE
Безпечно (таймер)SAFE <зворотний відлік>
НапівозброєноFLET
ОзброєноATTACK
НесправністьFAULT <код>
ПострілFIRE <причина>

Перемикачі RC / RC Mode Switches

Три перемикачі на пульті керують станом пристрою:

Перемикач / SwitchФункція / Function
KIWI ESAD FLETНапівозброєння / Semi-arm
KIWI ESAD ATAKПовне озброєння / Full arm
KIWI ESAD FIREПостріл / Deploy

Призначте перемикачі через вкладку Modes в Betaflight Configurator.


Сумісні плати / Compatible Boards

SmartESAD вбудований у прошивку KIWI Betaflight для всіх плат KIWI:

  • KIWI F405 6S
  • KIWI F405 12S
  • KIWI F722 6S
  • KIWI H743

Швидке налаштування / Quick Setup

1. Підключення / Wiring

Один дріт від UART TX/RX DroboDrone до вільного UART на польотному контролері.

2. CLI налаштування / CLI Configuration

# Призначити UART для ESAD (наприклад UART4)
serial 3 1048576 57600 57600 0 57600

# Таймери та пороги (опціонально)
set kiwi_esad_arm_delay = 170
set kiwi_esad_sd_delay = 7200
set kiwi_esad_hit_threshold = 10000

# Позиція OSD елемента
set kiwi_osd_esad_status_pos = 2242

save

3. Betaflight Configurator

  1. Ports → оберіть UART, увімкніть SmartESAD
  2. Modes → призначте FLET, ATAK, FIRE на перемикачі пульта
  3. OSD → розмістіть елемент ESAD Status на екрані

Протокол / Protocol Summary

  • UART 57600 baud, 32-біт бінарні повідомлення
  • 50 Hz обмін (надсилання/прийом по черзі)
  • 4-біт checksum на кожному повідомленні
  • Автоматична ініціалізація при старті (версія, таймери, пороги)

Kiwi-RM3100 CAN Compass

Overview

The Kiwi-RM3100 is an external compass module based on the PNI RM3100 magnetometer, designed as a DroneCAN peripheral for ArduPilot-powered flight controllers. Built on the STM32F103 MCU, it connects to any CAN-enabled flight controller and provides high-precision heading data via the DroneCAN protocol.

The RM3100 sensor offers superior magnetic resolution and noise performance compared to common QMC5883L or HMC5843 compasses, making it well-suited for applications where accurate heading is critical — long-range wings, survey drones, and missions in magnetically noisy environments.

Firmware


Technical Specifications

Processor

  • MCU: STM32F103xB (ARM Cortex-M0, 72 MHz)
  • Flash: 128 KB
  • Crystal: 8 MHz external oscillator

Compass Sensor

  • Sensor: PNI RM3100
  • Interface: SPI (1 MHz)
  • Mounting orientation: ROTATION_PITCH_180

Communication

  • CAN bus — primary interface, DroneCAN protocol
  • CAN silent pin on PB5 (active low)

Serial Ports

PortFunctionPins
USART1GPS / generalPA9, PA10
USART2General purposePA2, PA3
USART3TelemetryPB10, PB11

Additional Interfaces

  • SPI2 spare bus (PB13/PB14/PB15) — available for additional sensors
  • AUX analog input on PA0

Indicators

  • Status LED on PC13 (active low)

ArduPilot Configuration

The Kiwi-RM3100 runs ArduPilot AP_Periph firmware. Once connected to the CAN bus, the flight controller auto-detects the compass.

Flight Controller Parameters

Enable CAN on the flight controller:

CAN_P1_DRIVER = 1
CAN_D1_PROTOCOL = 1   (DroneCAN)

The compass should appear automatically. Verify with:

COMPASS_DEV_ID

Pinout

CAN Connector

PinFunction
1CAN_H
2CAN_L
3VCC
4GND

Ініціатор для мін універсальний

Призначення

Ініціатор споряджається у протитанкові або протипіхотні міни типу ПOM, ПМН-3, ОЗМ-72, МОН-50, ТМ-62, ПТМ-3, ПТМ-4 тощо.

Основні задачі

  • мінування під’їзних шляхів наступу ворожих військ;
  • міна-пастка;
  • підрив міни при скиді з БПЛА.

Електроніка міни забезпечує безпеку сапера, який встановлює міну вручну, або пілота дрона, який виконує віддалений скид міни, за рахунок двох (у випадку підключення приймача команд – трьох) запобіжників.

Міна проектується з метою унеможливити її знешкодження крім фізичного дистанційного знищення. Вона реагує на найменші рухи чи повороти корпусу, а також наближення феромагнітних предметів (бронежилет, зброя, інструменти тощо) при спробі знищення.

Електроніка може встановлюватись у корпуси стандартних серійних мін, щоб ворожий сапер вважав, що він має справу з відомою міною натискної дії (пастка для сапера).

Встановлення опційного приймача команд дозволяє підірвати міну при наближенні до місця її розташування групи ворожої піхоти чи техніки. При переході у наступ можливість віддаленого керування дозволяє оперативно розмінувати шлях наступу дружніх підрозділів.

Переваги

  • кілька датчиків цілі;
  • можливість зміни програми відповідно до задач;
  • віддалене керування (опція);
  • неможливість деактивації без пульта;
  • можливість пастки з відкладеним вибухом.

Конструкція

  • корпус;
  • кришка;
  • плата з електронними компонентами (16×44×10 мм);
  • механічний запобіжник;
  • елемент живлення;
  • приймальна антена (опціонально);
  • вибухова речовина;
  • вражаючі елементи;
  • електродетонатор.

Датчики цілі

Спрацювання ініціатора відбувається у випадках:

  • натискання (8–20 кг);
  • замикання сухого контакту;
  • переміщення, поворот або нахил міни;
  • удар з будь-якого напрямку;
  • спроба розібрати корпус;
  • зміна магнітного поля, у тому числі наближення феромагнітних об’єктів та металошукачів;
  • сигнал від пульта керування (опціонально);
  • самознищення за таймером та при розряді батареї нижче критичного рівня.

Керування з пульта: напряму або через ретранслятор. Можливий вибірковий підрив або підрив групи мін.

Запобіжники

  • Механічний – чека.
  • Електронний – таймер затримки зведення, програмується від 2 хвилин до кількох годин. Таймер обнуляється при найменших рухах міни. Для переведення у бойовий стан вимагається, щоб міна лежала нерухомо протягом усього часу роботи таймера. Це дозволяє витягнути чеку і встановлювати міну вручну або за допомогою дрона без ризику підриву.
  • Електронний – активація з пульта (за наявності приймача).

Живлення

  • літієва батарея типу 18650 або 2–3 елементи АА/ААА;
  • струм споживання – менше 1 мА;
  • час безперервної роботи у режимі очікування: до 30 діб залежно від типу батареї;
  • при комплектуванні приймачем команд – до 10 діб;
  • можливе самознищення при падінні напруги нижче критичного рівня.

Установка

  • вручну;
  • скид з БПЛА;
  • доставка наземним дроном.

Принцип роботи

Після установки або скиду, акселерометр та магнетометр запам’ятовують поточне положення міни відносно вектора прискорення та магнітного поля Землі.

  • Зміна положення фіксується акселерометром,
  • поворот – гіроскопом,
  • зміна магнітного поля – магнетометром.

Перевищення встановлених порогів призводить до підриву.

Заплановані удосконалення у версії 2.0

  • інтегрований приймач команд у складі плати;
  • покращений алгоритм енергозбереження;
  • нові батареї типу LiCOCl₂ з температурним діапазоном від -60 до +80 °C та строком зберігання до 10 років.

Universal initiator for land mines PyroMine

Purpose

The initiator is designed for anti-tank and anti-personnel mines such as POM, PMN-3, OZM-72, MON-50, TM-62, PTM-3, PTM-4, etc.

Main tasks

  • mining the supply lines of enemy troops;
  • trap mine;
  • detonation of a mine when dropped from a UAV.

The electronics ensure the safety of the sapper who installs the mine manually or the UAV pilot who performs the drop, thanks to two fuses (or three with command receiver).

The initiator is designed to make neutralization impossible except by remote destruction. It reacts to even slight movements, tilts, or the approach of ferromagnetic objects.

It can be mounted into standard mine bodies so that enemy sappers mistake it for a known pressure mine (booby trap).

With an optional command receiver, the mine can be detonated upon the approach of enemy infantry or vehicles. During an offensive, remote control allows quick clearance of friendly paths.

Advantages

  • multiple target sensors;
  • reprogrammable for specific missions;
  • remote control (optional);
  • impossible to deactivate without remote unit;
  • trap with delayed explosion.

Design

  • body;
  • cover;
  • PCB with electronics (16×44×10 mm);
  • mechanical fuse;
  • battery;
  • receiving antenna (optional);
  • explosive charge;
  • fragments;
  • electric detonator.

Target sensors

The initiator is triggered by:

  • pressing (8–20 kg);
  • dry contact closing;
  • moving, turning or tilting the mine;
  • impact from any direction;
  • disassembly attempt;
  • magnetic field changes (ferromagnetic objects, metal detectors);
  • remote signal (optional);
  • self-destruction on timer or low battery.

Remote control: direct or via repeater. Selective or grouped detonation.

Fuses

  • Mechanical – safety pin.
  • Electronic – arming delay timer (2 minutes to several hours). Reset on any movement, requires the mine to stay still to arm.
  • Electronic – remote activation (if receiver is installed).

Power

  • lithium 18650 or 2–3 AA/AAA cells;
  • consumption <1 mA;
  • standby operation up to 30 days;
  • with command receiver – up to 10 days;
  • optional self-destruction at critical voltage.

Deployment

  • manual;
  • UAV drop;
  • ground drone delivery.

Operation principle

After deployment, the accelerometer and magnetometer record initial orientation and field values.

  • accelerometer detects movement,
  • gyroscope detects rotation,
  • magnetometer detects magnetic changes.

Threshold exceedance results in detonation.

Planned improvements in version 2.0

  • integrated command receiver on PCB;
  • enhanced power-saving algorithms;
  • new LiCOCl₂ batteries with -60 to +80 °C operating range and 10-year shelf life.

Flight Controller Board: KIWI F405 12S Configuration

kiwif405-12s.jpeg

Buy Online Buy Online

Overview

KIWI F4.0 is a versatile flight controller based on the STM32F405, designed for FPV, wings, and autonomous platforms. The controller combines precision inertial sensing, OSD support, built-in Blackbox, and relay outputs for controlling external modules. Support for both Betaflight and ArduPilot allows this board to be used in a wide range of applications.

KIWI F4.0 is a reliable platform for building FPV drones, aircraft, and specialized autonomous systems with full support for Betaflight and ArduPilot. Thanks to flexible relay, sensor, and telemetry connectivity, the controller is ready for real-world mission use.

Firmware

Pinout and Diagrams

(Click to zoom in)

Features

  • Industrial-grade IMU Invensense ICM-42688P with external clock
  • Bosch BMP388 barometer for altitude measurement
  • Integrated 128Mbit Blackbox flash memory (W25Q128FV)
  • MAX7456 OSD chip for overlaying telemetry on analog video
  • High-precision voltage and current monitoring via ADC (VBAT, CURRENT)
  • GPIO-controlled relay outputs for powering VTX, cameras, or pyrotechnic systems
  • 4 motor PWM outputs (DShot, bidirectional on M1 & M3) + 6 auxiliary channels
  • USB Type-C with DFU firmware flashing support
  • Full CRSF / ELRS telemetry support (RSSI, LQ, SNR, Power)

Technical Specifications

  • MCU: STM32F405RG (168 MHz, 1024 KB flash)
  • Crystal: 16 MHz external oscillator
  • IMU: ICM-42688P (SPI2, rotation ROLL_180_YAW_90)
  • Barometer: BMP388 (I2C1, address 0x76)
  • OSD: MAX7456 (SPI1)
  • Flash Memory: W25Q128FV 128 Mbit (SPI3)
  • Dimensions: 36×36 mm, mounting 30.5×30.5 mm
  • LED: PC2 (active low)

Serial Ports

PortArduPilotDefault ProtocolPinsNotes
USBSERIAL0MAVLinkPA11, PA12OTG FS, Type-C
USART1SERIAL1RC InputPB6, PB7
USART2SERIAL2MAVLink2 (460800)PA2, PA3Alt: RC via TIM9
USART3SERIAL3GPS (115200)PC10, PC11
UART4SERIAL4SmartAudioPA0, PA1VTX control
UART5SERIAL5ESC TelemetryPC12, PD2NODMA

GPIOs, Relays, and AUX

Dedicated GPIO Pads

PadPinGPIODefaultArduPilot Relay Config
F+PC14103RELAY1RELAY1_PIN=103 (hwdef default)
U1PA4100Output LOWRELAY2_PIN=100, RELAY2_FUNC=1
U3PC15101Output LOWRELAY3_PIN=101, RELAY3_FUNC=1
U2PA10102Output LOWRELAY4_PIN=102, RELAY4_FUNC=1
LEDPC290Status LED

RELAY1 (F+ pad) works out of the box — pre-configured in hwdef. U1/U2/U3 need params set to use as relays.

PWM Outputs

OutputPinGPIOTimerFunctionDShot Bidir
PWM1PC950TIM8_CH4Motor 1Yes
PWM2PC851TIM8_CH3Motor 2No
PWM3PC752TIM8_CH2Motor 3Yes
PWM4PC653TIM8_CH1Motor 4No
PWM5PA854TIM1_CH1AUX 1No
PWM6PA955TIM1_CH2AUX 2No
PWM7PB1156TIM2_CH4AUX 3No
PWM8PB1057TIM2_CH3AUX 4No
PWM9PB1TIM3_CH4AUX 5No
PWM10PB0TIM3_CH3AUX 6No

PWM9/PWM10 have no GPIO ID in hwdef — PWM only. Other PWM pins can be reassigned to GPIO via SERVOn_FUNCTION=0 + RELAYn_PIN=<gpio>.

Relay Usage

MAVProxy:

param set RELAY2_PIN 100
param set RELAY2_FUNC 1
relay set 0 1    # RELAY1 ON (F+ pad HIGH)
relay set 0 0    # RELAY1 OFF
relay set 1 1    # RELAY2 ON (U1 pad HIGH)

Mission waypoint: DO_SET_RELAY — relay number 0-based (0=RELAY1), setting 1=ON / 0=OFF.

Lua:

relay:toggle(0)  -- toggle RELAY1
relay:on(1)      -- RELAY2 ON
relay:off(1)     -- RELAY2 OFF

All GPIO pads default LOW on boot. Use RELAY_DEFAULT params to set initial state.


Power Monitoring

  • Battery Voltage: PC0 (ADC1 IN10)
  • Battery Current: PC1 (ADC1 IN11)
  • Default monitor type: Analog (type 4)

Sensor Calibration

ParameterArduPilotBetaflight
Voltage scaleBATT_VOLT_MULT = 21.0voltage_meter_scale = 210
Current scaleBATT_AMP_PERVLT = 142.9current_meter_scale = 1052

Battery Voltage Thresholds (ArduPilot)

Parameter6S8S12S
Full charge25.2 V33.6 V50.4 V
BATT_ARM_VOLT22.229.644.4
BATT_LOW_VOLT21.028.042.0
BATT_CRT_VOLT19.826.439.6

SPI Bus Assignment

BusDeviceChip SelectSpeed
SPI1MAX7456PC310 MHz
SPI2ICM-42688PPC52/8 MHz
SPI3W25Q128FVPC13104 MHz

I2C Bus

  • I2C1: PB8 (SCL), PB9 (SDA) — BMP388 barometer at 0x76, external compass probing

Debug

  • SWDIO: PA13
  • SWCLK: PA14

Premium Features

Kiwi OSD Pinio Elements (Betaflight 2025.12+)

Custom OSD text elements that change based on PINIO switch state (User 1–4 boxes). Each element displays configurable ON/OFF text labels, useful for showing relay status, arming indicators, or mission state on the OSD.

CLI Settings

SettingDescription
kiwi_osd_pinioN_text_onText shown when User N switch is active
kiwi_osd_pinioN_text_offText shown when User N switch is inactive (use - to hide)
kiwi_osd_pinioN_posOSD screen position (341 = hidden)

Where N is 1–4 corresponding to PINIO1–PINIO4.

Example Setup

# Show SAFE/ARMED on OSD driven by User 2 switch
set kiwi_osd_pinio2_text_on = ARMED
set kiwi_osd_pinio2_text_off = SAFE
set kiwi_osd_pinio2_pos = 2242

# Show PARACHUTE only when User 3 switch is active, hidden when off
set kiwi_osd_pinio3_text_on = PARACHUTE
set kiwi_osd_pinio3_text_off = -
set kiwi_osd_pinio3_pos = 2274

# Assign User 2 to AUX3 switch (high position)
aux 3 41 3 1700 2100 0 0

# Assign User 3 to AUX2 switch (high position)
aux 4 42 2 1700 2100 0 0

save

Hardware Notes

On the KIWI F405 12S, only PINIO4 (PA4 / RELAY1) has a physical GPIO pin. PINIO1–3 are defined as NONE in the hardware config, but the OSD elements still work — the User box toggles the logical state, and the OSD text updates accordingly. No physical pin is needed for OSD-only use.


Camera Gimbal Support

KIWI F405 supports camera gimbals out of the box — both servo-based and MAVLink protocol gimbals (CADDX GM3 V2 and compatible).

Wire gimbal UART to any free serial port (gimbal TX → FC RX, gimbal RX → FC TX, GND).

ParamValueNotes
SERIALx_PROTOCOL2MAVLink2
SERIALx_BAUD115115200 bps
MNT1_TYPE6Gremsy (reboot after setting)
MNT1_PITCH_MIN-120GM3 V2 spec: ±120°
MNT1_PITCH_MAX120
MNT1_YAW_MIN-160GM3 V2 spec: ±160°
MNT1_YAW_MAX160
MNT1_RC_RATE60deg/s for rate control, 0 for angle

RC Control

Assign RC channels to control gimbal axes:

ParamValueNotes
RC6_OPTION213Mount1 Pitch
RC7_OPTION214Mount1 Yaw
RC8_OPTION212Mount1 Roll (3-axis gimbals only)

Example: with MNT1_RC_RATE=60, moving the RC6 stick deflects pitch at 60°/s. Set MNT1_RC_RATE=0 for direct angle control (stick position = gimbal angle).

Gimbal firmware must be V2.0 or higher.

Servo Gimbal

Connect pitch/yaw servos to AUX PWM outputs (PWM5–PWM8).

ParamValueNotes
MNT1_TYPE1Servo
SERVOx_FUNCTION6Mount1 Pitch (assign to desired output)
SERVOx_FUNCTION8Mount1 Yaw (assign to desired output)
MNT1_PITCH_MIN-90
MNT1_PITCH_MAX90
MNT1_YAW_MIN-170
MNT1_YAW_MAX170
MNT1_RC_RATE60deg/s for rate control, 0 for angle

Default Parameters

  • Frame: Quadcopter (FRAME_CLASS=1, FRAME_TYPE=3 BetaFlight X reversed)
  • Motor protocol: DShot (MOT_PWM_TYPE=5)
  • BLHeli passthrough: enabled (SERVO_BLH_AUTO=1, mask=15)
  • Flight mode channel: CH8
  • VTX: enabled, band 6, channel 4, freq 1240

KiwiH743 12S Flight Controller

KiwiH743.jpg

Buy Online Buy Online

Overview

The KiwiH743 is a high-performance flight controller based on the STM32H743 MCU, designed for advanced UAV applications. It combines powerful processing, flexible connectivity, and rich sensor support, optimized for ArduPilot firmware.

It is the next generation of the KiwiF405 family, offering 2MB flash, 480 MHz CPU clock, extended UART/SPI/I2C buses, and support for dual IMUs, barometer, and OSD integration.

Premium features: GPS-less takeoff, IRC Tramp VTX control, VRX integration (TBS Fusion, Skyzone Steadyview).


Firmware

Features

  • Dual IMUs: ICM-42688P + ICM-45686 with EKF3 dual-source fusion
  • BMP388 barometer, external compass support (I²C probing)
  • Integrated OSD (MAX7456-compatible via SPI4)
  • 14 PWM outputs (8 motors + 6 servos), DShot bidirectional on M1–M4
  • 7 hardware UARTs + 2 USB ports (OTG1 MAVLink, OTG2 HiSpeed serial)
  • 16 MB DataFlash + external SD card slot
  • Visual odometry, external AHRS, GPS moving baseline support
  • Gyro FFT for vibration analysis
  • INS temperature calibration
  • Guided (NoGPS), FlowHold, OpticalFlow modes

Technical Specifications

  • MCU: STM32H743VIT6 (ARM Cortex-M7, 480 MHz, 2048 KB flash)
  • Crystal: 16 MHz external oscillator
  • IMU1: ICM-42688P (SPI6, rotation YAW_180)
  • IMU2: ICM-45686 (SPI2, rotation YAW_270)
  • Barometer: BMP388 (I2C2, address 0x76)
  • OSD: MAX7456-compatible (SPI4)
  • DataFlash: 16 MB (SPI3)
  • LED: PE4 (active low)
  • Dimensions: 36×36 mm, mounting 30.5×30.5 mm

Serial Ports

PortArduPilotDefault ProtocolPinsNotes
USBSERIAL0MAVLinkPA11, PA12OTG1 Full Speed
USART1SERIAL1ESC Telemetry (115200)PA10RX only
USART2SERIAL2SmartAudio (115200)PD5, PD6NODMA
USART3SERIAL3PD8, PD9
UART4SERIAL4PD1, PD0
UART5SERIAL5MAVLink1 (57600)PB6, PD2NODMA
UART7SERIAL7MAVLink2PE8, PE7RTS: PE9, CTS: PE10
UART8SERIAL8RC InputPE1, PE0SBUS/DSM
USB HSSERIAL9OTG2 HiSpeed

RC input: SBUS/DSM on PE11.


GPIOs, Relays, and AUX

Dedicated GPIO Pads

PadPinGPIODefaultArduPilot Relay Config
CAM SWPA8100RELAY1RELAY1_PIN=100 (hwdef default)
RELAY1PD4101Output LOWRELAY2_PIN=101, RELAY2_FUNC=1
RELAY2PB7102Output LOWRELAY3_PIN=102, RELAY3_FUNC=1
LEDPE490Status LED

Note: RELAY1_PIN defaults to GPIO 100 (Camera Switch pad, PA8), not the pad labeled “RELAY1” (PD4, GPIO 101). This is set in the hwdef. Adjust if your wiring differs.

PWM Outputs

OutputPinGPIOTimerFunctionDShot Bidir
PWM1PC650TIM3_CH1Motor 1Yes
PWM2PC751TIM3_CH2Motor 2Yes
PWM3PC852TIM3_CH3Motor 3Yes
PWM4PC953TIM3_CH4Motor 4Yes
PWM5PD1254TIM4_CH1Motor 5No
PWM6PD1355TIM4_CH2Motor 6No
PWM7PD1456TIM4_CH3Motor 7No
PWM8PD1557TIM4_CH4Motor 8No
PWM9PA058TIM5_CH1Servo 1No
PWM10PA159TIM5_CH2Servo 2No
PWM11PA260TIM5_CH3Servo 3No
PWM12PA361TIM5_CH4Servo 4No
PWM13PE1362TIM1_CH3Servo 5No
PWM14PB863TIM16_CH1Servo 6No

PWM pins can be reassigned to GPIO via SERVOn_FUNCTION=0 + RELAYn_PIN=<gpio>.

Spare ADC

PinFunction
PC1SPARE2_ADC1 (analog input only)

Relay Usage

MAVProxy:

param set RELAY2_PIN 101
param set RELAY2_FUNC 1
relay set 0 1    # RELAY1 ON (CAM SW pad HIGH)
relay set 0 0    # RELAY1 OFF
relay set 1 1    # RELAY2 ON (RELAY1 pad HIGH)

Mission waypoint: DO_SET_RELAY — relay number 0-based (0=RELAY1), setting 1=ON / 0=OFF.

Lua:

relay:toggle(0)  -- toggle RELAY1 (CAM SW)
relay:on(1)      -- RELAY2 ON (RELAY1 pad)
relay:off(1)     -- RELAY2 OFF

All GPIO pads default LOW on boot. Use RELAY_DEFAULT params to set initial state.


Power Monitoring

  • Battery Voltage: PC5 (ADC1 IN8)
  • Battery Current: PB1 (ADC1 IN5)
  • Default monitor type: Analog

Sensor Calibration

ParameterArduPilotBetaflight
Voltage scaleBATT_VOLT_MULT = 21.0voltage_meter_scale = 210
Current scaleBATT_AMP_PERVLT = 142.9current_meter_scale = 100

Battery Voltage Thresholds (ArduPilot)

Parameter6S8S12S
Full charge25.2 V33.6 V50.4 V
BATT_ARM_VOLT22.229.644.4
BATT_LOW_VOLT21.028.042.0
BATT_CRT_VOLT19.826.439.6

Buses

SPI

BusCLKMISOMOSIUsage
SPI1PA5PA6PA7SD Card (CS: PA4)
SPI2PB13PB14PB15IMU2 ICM-45686 (CS: PD10)
SPI3PC10PC11PC12DataFlash (CS: PD3)
SPI4PE2PE5PE6OSD MAX7456 (CS: PE3)
SPI6PB3PB4PB5IMU1 ICM-42688P (CS: PC13)

I2C

BusSCLSDADevices
I2C2PB10PB11BMP388 (0x76), external compass

Default Frame and Modes

  • Default frame: Quadcopter X (FRAME_TYPE=3, BetaFlight-X motor order)
  • Motor protocol: DShot (MOT_PWM_TYPE=5)
  • BLHeli passthrough: enabled (SERVO_BLH_AUTO=1, mask=15)
  • Flight mode channel: CH8
  • VTX: enabled, band 6, channel 4

Camera Gimbal Support

KiwiH743 supports camera gimbals out of the box — both servo-based and MAVLink protocol gimbals (CADDX GM3 V2 and compatible).

Wire gimbal UART to any free serial port (gimbal TX → FC RX, gimbal RX → FC TX, GND).

ParamValueNotes
SERIALx_PROTOCOL2MAVLink2
SERIALx_BAUD115115200 bps
MNT1_TYPE6Gremsy (reboot after setting)
MNT1_PITCH_MIN-120GM3 V2 spec: ±120°
MNT1_PITCH_MAX120
MNT1_YAW_MIN-160GM3 V2 spec: ±160°
MNT1_YAW_MAX160
MNT1_RC_RATE60deg/s for rate control, 0 for angle
RC Control

Assign RC channels to control gimbal axes:

ParamValueNotes
RC6_OPTION213Mount1 Pitch
RC7_OPTION214Mount1 Yaw
RC8_OPTION212Mount1 Roll (3-axis gimbals only)

Example: with MNT1_RC_RATE=60, moving the RC6 stick deflects pitch at 60°/s. Set MNT1_RC_RATE=0 for direct angle control (stick position = gimbal angle).

Gimbal firmware must be V2.0 or higher.

Servo Gimbal

Connect pitch/yaw servos to any Servo PWM outputs (PWM9–PWM14).

ParamValueNotes
MNT1_TYPE1Servo
SERVOx_FUNCTION6Mount1 Pitch (assign to desired output)
SERVOx_FUNCTION8Mount1 Yaw (assign to desired output)
MNT1_PITCH_MIN-90
MNT1_PITCH_MAX90
MNT1_YAW_MIN-170
MNT1_YAW_MAX170
MNT1_RC_RATE60deg/s for rate control, 0 for angle

Pinout Reference

ESC Pins

1 - ESC Telemetry
2 - ESC Current
3 - Motor4
4 - Motor3
5 - Motor2
6 - Motor1
7 - VBAT
8 - GND

KiwiH743-Wing Flight Controller

Buy Online Buy Online

Overview

The KiwiH743-Wing is a Pixhawk-format flight controller system consisting of two boards: a Flight Controller and a Power Distribution Board (PDB). Designed for expendable quadcopters and long-range fixed-wing drones. Ready to use with Rover, Wing, Quadcopter, and Hexacopter configurations.

Premium features: GPS-less takeoff, IRC Tramp VTX control, VRX integration (TBS Fusion, Skyzone Steadyview).


Firmware


Features

  • STM32H743 MCU (480 MHz, 2 MB flash)
  • 12S power supply
  • 5V, 6/7V, 9/12V 5A BECs
  • ICM-42688P and ICM-45686 with power and hardware signal filtering
  • BMP388 barometer
  • Dual camera input, switchable
  • 8 motors + 7 servos (15 PWM outputs)
  • 5 UARTs, UART7 with flow control
  • 1 SPI, 1 I2C, FDCAN
  • 5 GPIOs, 2 relay outputs, 9/12V switch
  • Analog + digital VTX output
  • STM32G4 OSD
  • SD card via SDMMC
  • 40 x 42 mm board, 36 x 39 mm mounting holes

Technical Specifications

Processor

ParameterValue
MCUSTM32H743
ArchitectureARM Cortex-M7
Max Frequency480 MHz
Flash2048 KB (2 MB)
Crystal16 MHz external oscillator

Sensors

SensorPartNotes
IMU 1ICM-42688PExternal clock, hardware filtered
IMU 2ICM-45686Hardware filtered
BarometerBMP388
OSDSTM32G4Analog video overlay

Power

RailVoltageCurrent
Input12S (up to ~50V)
BEC 15V5A
BEC 26/7V5A
BEC 39/12V5A

Mechanical

ParameterValue
Board size39 x 39 mm
Mounting holes30.5 x 30.5 mm

Serial Ports

SerialUARTTX PinRX PinNotes
Serial 1UART1PB14PB15
Serial 2UART2PD5PD6
Serial 3UART3PD8PD9
Serial 4UART4PD1PD0
Serial 5UART5PB13PB12
Serial 6UART6PC6PC7
Serial 7UART7PE8PE7RTS: PE9, CTS: PE10
Serial 8UART8PE1PE0OSD UART

GPIOs, Relays, and AUX

Dedicated GPIO Pads

PadPinGPIODefaultArduPilot Relay Config
CAM SWPE2100RELAY1RELAY1_PIN=100 (hwdef default)
RELAY 1PD3101Output LOWRELAY2_PIN=101, RELAY2_FUNC=1
RELAY 2PD4102Output LOWRELAY3_PIN=102, RELAY3_FUNC=1
AUX 1PD7105Output LOWRELAY4_PIN=105, RELAY4_FUNC=1
AUX 2PB3106Output LOWRELAY5_PIN=106, RELAY5_FUNC=1
AUX 3PE5107Output LOW
AUX 4PC13103Output LOWShared with VIDEO BOOT
VID NRSTPE3104Output LOWRELAY6_PIN=104 (hwdef default), inverted
CAN SILPE470Output LOWCAN silent mode
BUZZERPA1532Alarm
LEDPD1190Status LED

Note: RELAY1_PIN defaults to GPIO 100 (Camera Switch, PE2). RELAY6_PIN defaults to GPIO 104 (VIDEO_NRST, PE3 — STM32G4 OSD reset, active low). RELAY 1/2 pads are 9/12V switched outputs.

PWM Outputs

OutputPinGPIOTimerFunctionDShot Bidir
SERVO 1PA1050TIM1_CH3Motor 1No
SERVO 2PA951TIM1_CH2Motor 2No
SERVO 3PA852TIM1_CH1Motor 3No
SERVO 4PD1553TIM4_CH4Motor 4No
SERVO 5PD1454TIM4_CH3Motor 5No
SERVO 6PD1355TIM4_CH2Motor 6No
SERVO 7PD1256TIM4_CH1Motor 7No
SERVO 8PB157TIM3_CH4Motor 8No
SERVO 9PB058TIM3_CH3Servo 1No
SERVO 10PB459TIM3_CH1Servo 2No
SERVO 11PB560TIM3_CH2Servo 3No
SERVO 12PA361TIM5_CH4Servo 4No
SERVO 13PA262TIM5_CH3Servo 5No
SERVO 14PA163TIM5_CH2Servo 6No
SERVO 15PA064TIM5_CH1Servo 7No

PWM pins can be reassigned to GPIO via SERVOn_FUNCTION=0 + RELAYn_PIN=<gpio>.

Relay Usage

MAVProxy:

param set RELAY2_PIN 101
param set RELAY2_FUNC 1
relay set 0 1    # RELAY1 ON (CAM SW HIGH)
relay set 0 0    # RELAY1 OFF
relay set 1 1    # RELAY2 ON (RELAY1 pad HIGH)

Mission waypoint: DO_SET_RELAY — relay number 0-based (0=RELAY1), setting 1=ON / 0=OFF.

Lua:

relay:toggle(0)  -- toggle RELAY1 (CAM SW)
relay:on(1)      -- RELAY2 ON (RELAY1 pad)
relay:off(1)     -- RELAY2 OFF

All GPIO pads default LOW on boot. Use RELAY_DEFAULT params to set initial state.

OSD Reset (RELAY6):

RELAY6 controls the STM32G4 OSD reset line (VID NRST). Active low — set RELAY6_INVERTED=1 so that “relay on” pulls the line low (reset) and “relay off” releases it.

param set RELAY6_PIN 104
param set RELAY6_FUNCTION 1
param set RELAY6_INVERTED 1
relay set 5 1   # reset OSD
relay set 5 0   # release reset

Power Monitoring

FunctionPinADC
Battery voltagePC5ADC1 IN8, scale /21
Battery currentPC4ADC1 IN4
VBAT2PC3_CADC3 IN1, scale /21
ADC 1PC1ADC1 IN11
ADC 2PC0ADC1 IN10
ADC 3PC2_CADC3 IN0

Sensor Calibration

ParameterArduPilotBetaflight
Voltage scaleBATT_VOLT_MULT = 21.0voltage_meter_scale = 210
Current scaleBATT_AMP_PERVLT = 142.9current_meter_scale = 100

Battery Voltage Thresholds (ArduPilot)

Parameter6S8S12S
Full charge25.2 V33.6 V50.4 V
BATT_ARM_VOLT22.229.644.4
BATT_LOW_VOLT21.028.042.0
BATT_CRT_VOLT19.826.439.6

Buses

SPI

BusCLKMISOMOSIUsage
SPI 1PA5PA6PA7IMU 1 (CS: PB2)
SPI 4PE12PE13PE14IMU 2 (CS: PE15)

I2C

BusSCLSDA
I2C 1PB6PB7
I2C 2PB10PB11

FDCAN

FunctionPin
CAN RXPB8
CAN TXPB9
CAN SilentPE4

SDMMC (SD Card)

FunctionPin
D0PC8
D1PC9
D2PC10
D3PC11
CLKPC12
CMDPD2

Premium Features

GPS-less Takeoff (ArduPlane)

KIWI firmware supports autonomous takeoff without a GPS fix. Useful for hand launch or catapult deployment in GPS-denied environments.

Parameters:

ParameterValueDescription
FLIGHT_OPTIONS32768Enable GPS-less takeoff
ARMING_CHECK0Disable arming checks
TKOFF_ALT50Target takeoff altitude (meters)
TKOFF_THR_MINACC0No accelerometer trigger, timer only
TKOFF_THR_MINSPD0No minimum ground speed required
TKOFF_THR_MAX100Max throttle % during takeoff
TKOFF_THR_DELAY2Delay before launch (0.2s)

Procedure:

  1. Power on, wait for EKF convergence
  2. Set home (from GPS before loss, or manually via MAVLink)
  3. Arm in FBWA mode
  4. Switch to TAKEOFF mode

IRC Tramp VTX Control

Full IRC Tramp protocol support under ArduPilot. Change VTX power, band, channel, and pit mode directly from your GCS or OSD — no need for SmartAudio.

Works with TBS Unify, Rush Tank, and other Tramp-compatible VTXs.

VRX Integration (TBS Fusion / Skyzone)

Working video receiver control under ArduPilot. Supports:

  • TBS Fusion — band/channel tracking via CRSF
  • Skyzone Steadyview — auto channel sync

Camera Gimbal Support

KiwiH743-Wing supports camera gimbals out of the box — both servo-based and MAVLink protocol gimbals (CADDX GM3 V2 and compatible).

Wire gimbal UART to any free serial port (gimbal TX → FC RX, gimbal RX → FC TX, GND).

ParamValueNotes
SERIALx_PROTOCOL2MAVLink2
SERIALx_BAUD115115200 bps
MNT1_TYPE6Gremsy (reboot after setting)
MNT1_PITCH_MIN-120GM3 V2 spec: ±120°
MNT1_PITCH_MAX120
MNT1_YAW_MIN-160GM3 V2 spec: ±160°
MNT1_YAW_MAX160
MNT1_RC_RATE60deg/s for rate control, 0 for angle
RC Control

Assign RC channels to control gimbal axes:

ParamValueNotes
RC6_OPTION213Mount1 Pitch
RC7_OPTION214Mount1 Yaw
RC8_OPTION212Mount1 Roll (3-axis gimbals only)

Example: with MNT1_RC_RATE=60, moving the RC6 stick deflects pitch at 60°/s. Set MNT1_RC_RATE=0 for direct angle control (stick position = gimbal angle).

Gimbal firmware must be V2.0 or higher.

Servo Gimbal

Connect pitch/yaw servos to any Servo PWM outputs (SERVO 9–SERVO 15).

ParamValueNotes
MNT1_TYPE1Servo
SERVOx_FUNCTION6Mount1 Pitch (assign to desired output)
SERVOx_FUNCTION8Mount1 Yaw (assign to desired output)
MNT1_PITCH_MIN-90
MNT1_PITCH_MAX90
MNT1_YAW_MIN-170
MNT1_YAW_MAX170
MNT1_RC_RATE60deg/s for rate control, 0 for angle

Displayport OSD

HD OSD via MSP Displayport on SERIAL8 (OSD UART). Compatible with DJI O3, HDZero, Walksnail.

param set OSD_TYPE 5
param set OSD_UNITS 0
param set MSP_OPTIONS 4
param set MSP_OSD_NCELLS 0
param set SERIAL8_BAUD 115
param set SERIAL8_OPTIONS 0
param set SERIAL8_PROTOCOL 42

Flight Controller

Built around the STM32H743, the flight controller provides dual IMUs with hardware signal filtering, dual switchable camera inputs, and relay-controlled power outputs.


Power Distribution Board (PDB)

KiwiH743-Wing PDB

Features

  • 4S–12S power input
  • 5V 5A output
  • 5/6/7/9V 5A adjustable output
  • 12V 5A output
  • 3.3V 1A output
  • 0.1 mOhm current sensor
  • 36 x 39 mm mounting holes
  • 42 x 75 mm board dimensions

Other

FunctionPinNotes
USB D-PA11
USB D+PA12
SWDIOPA13Debug
SWDCLKPA14Debug
BuzzerPA15TIM2 CH1
LEDPD11Status
IMU clockPE6TIM15 CH2, external clock for IMUs
Video NRSTPE3OSD/VTX reset
Video BOOTPC13Shared with AUX 4

Full Pinout Reference

Port A (PA)

PinFunctionAlternate
PA0SERVO 15TIM5 CH1
PA1SERVO 14TIM5 CH2
PA2SERVO 13TIM5 CH3
PA3SERVO 12TIM5 CH4
PA4IMU 1 INT
PA5SPI 1 CLK
PA6SPI 1 MISO
PA7SPI 1 MOSI
PA8SERVO 3
PA9SERVO 2
PA10SERVO 1
PA11USB N
PA12USB P
PA13SWDIO
PA14SWDCLK
PA15BUZZERTIM2 CH1

Port B (PB)

PinFunctionAlternate
PB0SERVO 9
PB1SERVO 8ADC1 IN5
PB2IMU 1 CS
PB3AUX 2
PB4SERVO 10
PB5SERVO 11
PB6I2C 1 SCL
PB7I2C 1 SDA
PB8FDCAN RXTIM16 CH1
PB9FDCAN TXTIM17 CH1
PB10I2C 2 SCL
PB11I2C 2 SDA
PB12Serial 5 RX
PB13Serial 5 TX
PB14Serial 1 TX
PB15Serial 1 RX

Port C (PC)

PinFunctionAlternate
PC0ADC 2ADC1 IN10
PC1ADC 1ADC1 IN11
PC2_CADC 3ADC3 IN0
PC3_CVBAT2 / 21ADC3 IN1
PC4ESC CURRADC1 IN4
PC5VBAT / 21ADC1 IN8
PC6Serial 6 TXTIM3 CH1
PC7Serial 6 RXTIM3 CH2
PC8SDMMC D0TIM3 CH3
PC9SDMMC D1TIM3 CH4
PC10SDMMC D2
PC11SDMMC D3
PC12SDMMC CK
PC13VIDEO BOOT / AUX 4

Port D (PD)

PinFunctionAlternate
PD0Serial 4 RX
PD1Serial 4 TX
PD2SDMMC CMD
PD3RELAY 1
PD4RELAY 2
PD5Serial 2 TX
PD6Serial 2 RX
PD7AUX 1
PD8Serial 3 TX
PD9Serial 3 RX
PD11LED
PD12SERVO 7TIM4 CH1
PD13SERVO 6TIM4 CH2
PD14SERVO 5TIM4 CH3
PD15SERVO 4TIM4 CH4

Port E (PE)

PinFunctionAlternate
PE0Serial 8 RX
PE1Serial 8 TX
PE2CAMERA SWITCH
PE3VIDEO NRST
PE4FDCAN SILENT
PE5AUX 3TIM15 CH1
PE6IMU CLK INTIM15 CH2
PE7Serial 7 RX
PE8Serial 7 TX
PE9Serial 7 RTS
PE10Serial 7 CTS
PE11IMU 2 INTTIM1 CH2
PE12SPI 4 CLKTIM1 CH2
PE13SPI 4 MISOTIM1 CH3
PE14SPI 4 MOSITIM1 CH4
PE15IMU 2 CS

Flight Controller Board: KIWI F405 6S Configuration

Description

The KIWI F4.0 is a versatile STM32F405-based flight controller designed for FPV, fixed-wing aircraft, and autonomous platforms. It integrates precise inertial sensing, OSD support, built-in Blackbox logging, and relay outputs for controlling external modules. With support for both Betaflight and ArduPilot, the board can be deployed across a wide range of use cases.

KIWI F4.0 is a reliable platform for building FPV drones, aircraft, and specialized autonomous systems. Its flexible support for relays, sensors, and telemetry makes it ready for real-world mission environments.

Firmware

Features

  • Industrial-grade Invensense ICM-42688P IMU with external clock
  • Bosch BMP388 barometer for altitude measurement
  • Built-in 128Mbit Blackbox flash memory (W25Q128FV)
  • MAX7456 OSD chip for overlaying telemetry on analog video
  • High-precision voltage and current monitoring via ADC
  • GPIO-controlled relay outputs for powering VTX, cameras, or pyrotechnic systems
  • 4 PWM outputs for motors and 6 channels for servos
  • USB Type-C with DFU support for firmware updates
  • Full CRSF / ELRS support with telemetry (RSSI, LQ, SNR, Power)

Technical Specifications

  • MCU: STM32F405RG (168 MHz)
  • IMU: ICM-42688P with external clock
  • Barometer: Bosch BMP388
  • OSD: MAX7456
  • Flash: W25Q128FV (128 Mbit)
  • Ports:
    • 5× UART (ESAD, RC, GPS, VTX, ESC/MSP)
    • 1× I2C
    • 3× SPI (OSD, IMU, FLASH)
    • ADC: VBAT, CURRENT
  • PWM:
    • 4 motor channels
    • 6 servo channels
  • GPIO relays:
    • 4 relay outputs: X1, X2, X3, X4 (controlled via GPIO)
  • Interfaces:
    • USB Type-C
    • SWD debug interface
  • Dimensions:
    • 36×36 mm
    • Mounting: 30.5×30.5 mm
  • Status LED indicator

Camera Gimbal Support

KIWI F405 supports camera gimbals out of the box — both servo-based and MAVLink protocol gimbals (CADDX GM3 V2 and compatible).

Wire gimbal UART to any free serial port (gimbal TX → FC RX, gimbal RX → FC TX, GND).

ParamValueNotes
SERIALx_PROTOCOL2MAVLink2
SERIALx_BAUD115115200 bps
MNT1_TYPE6Gremsy (reboot after setting)
MNT1_PITCH_MIN-120GM3 V2 spec: ±120°
MNT1_PITCH_MAX120
MNT1_YAW_MIN-160GM3 V2 spec: ±160°
MNT1_YAW_MAX160
MNT1_RC_RATE60deg/s for rate control, 0 for angle

RC Control

Assign RC channels to control gimbal axes:

ParamValueNotes
RC6_OPTION213Mount1 Pitch
RC7_OPTION214Mount1 Yaw
RC8_OPTION212Mount1 Roll (3-axis gimbals only)

Example: with MNT1_RC_RATE=60, moving the RC6 stick deflects pitch at 60°/s. Set MNT1_RC_RATE=0 for direct angle control (stick position = gimbal angle).

Gimbal firmware must be V2.0 or higher.

Servo Gimbal

Connect pitch/yaw servos to AUX PWM outputs.

ParamValueNotes
MNT1_TYPE1Servo
SERVOx_FUNCTION6Mount1 Pitch (assign to desired output)
SERVOx_FUNCTION8Mount1 Yaw (assign to desired output)
MNT1_PITCH_MIN-90
MNT1_PITCH_MAX90
MNT1_YAW_MIN-170
MNT1_YAW_MAX170
MNT1_RC_RATE60deg/s for rate control, 0 for angle

FPV Польотний контролер KIWI F722

Опис

KIWI F722 — це високопродуктивний контролер польоту для FPV та автономних дронів, розроблений для максимального рівня точності, стабільності та надійності. Підтримка популярних прошивок Betaflight та iNAV дозволяє легко адаптувати контролер до різних сценаріїв використання.

KIWI F722 — це рішення для тих, хто шукає виняткову стабільність, розширені можливості підключення та готовність до будь-яких викликів у FPV та автономних польотах.

Firmware

Особливості

  • Наднизькошумний IMU TDK ICM-42688 з зовнішнім тактовим генератором
  • Присвячена фільтрація живлення для IMU для ще кращої точності
  • Вбудований барометр Bosch BMP388
  • Чіп OSD для накладання даних на відео (AT7456E)
  • Вбудована флеш-пам’ять чорного ящика 64Мбіт (W25Q128JVPQ)
  • Підтримка роботи із зовнішніми сенсорами через UART та I2C
  • GPIO керовані релейні виходи для живлення VTX, Raspberry Pi чи іншого обладнання
  • Перемикання двох камер на борту
  • Підтримка підключення двох VTX з можливістю перемикання живлення
  • Пряма підтримка Betaflight ESC (Plug & Play)

Технічні характеристики

  • MCU: STM32F722RET6 (216 МГц)
  • IMU: ICM-42688 з зовнішнім годинником
  • Барометр: Bosch BMP388
  • OSD: AT7456E
  • Флеш пам’ять: W25Q128JVPQ (64Мбіт)
  • Порти:
    • 4x UART
    • 1x I2C
    • 2x PWM виходи для сервоприводів
    • ADC: моніторинг VBAT та струму CURR
  • Живлення:
    • Вхід живлення: 6S акумулятор
    • Вбудовані DC-DC конвертори: 5V 3A та 9V 3A
  • Світлодіодні індикатори: Power LED, MCU Status LED (PWM керовані)
  • Роз’єми: JST-SH 1.0мм
  • Кріплення: 30.5×30.5 мм (стандартне для FPV)
  • Габарити: 39×39 мм

Застосування

  • FPV-квадрокоптери та літальні апарати
  • Автономні безпілотники для розвідки, доставки, моніторингу
  • Робототехнічні платформи з вимогами до точного управління

Підтримка підвісів камери

KIWI F722 підтримує сервоприводні та MAVLink підвіси камери (CADDX GM3 V2 та сумісні).

Підключіть UART підвісу до вільного серійного порту (gimbal TX → FC RX, gimbal RX → FC TX, GND).

ПараметрЗначенняОпис
SERIALx_PROTOCOL2MAVLink2
SERIALx_BAUD115115200 bps
MNT1_TYPE6Gremsy (перезавантажити після зміни)
MNT1_PITCH_MIN-120GM3 V2: ±120°
MNT1_PITCH_MAX120
MNT1_YAW_MIN-160GM3 V2: ±160°
MNT1_YAW_MAX160
MNT1_RC_RATE60град/с для контролю швидкості, 0 для кутового

Керування RC

ПараметрЗначенняОпис
RC6_OPTION213Mount1 Pitch
RC7_OPTION214Mount1 Yaw
RC8_OPTION212Mount1 Roll (тільки 3-осьові підвіси)

Прошивка підвісу має бути V2.0 або вище.

Сервоприводний підвіс

Підключіть серво pitch/yaw до PWM виходів сервоприводів.

ПараметрЗначенняОпис
MNT1_TYPE1Servo
SERVOx_FUNCTION6Mount1 Pitch (призначити на потрібний вихід)
SERVOx_FUNCTION8Mount1 Yaw (призначити на потрібний вихід)
MNT1_PITCH_MIN-90
MNT1_PITCH_MAX90
MNT1_YAW_MIN-170
MNT1_YAW_MAX170
MNT1_RC_RATE60град/с для контролю швидкості, 0 для кутового

ICM-42688P — 6-Axis Inertial Sensor Module

Manufacturer: Shenzhen HuaXuanYang (HXY) Electronics CO., LTD Website: www.hxymos.com


Description

The ICM-42688P is a highly integrated, low-power inertial measurement unit (IMU) with a built-in high-performance 3-axis accelerometer and 3-axis gyroscope measurement unit. The accelerometer full-scale range is +/-2g/+/-4g/+/-8g/+/-16g. The gyroscope angular rate full-scale range is +/-125dps/+/-250dps/+/-500dps/+/-1000dps/+/-2000dps. Users can flexibly measure external acceleration and angular velocity, with accelerometer output data rate from 0.78 Hz to 1.6 kHz selectable, and gyroscope output data rate from 25 Hz to 3.2 kHz selectable.

The chip communicates with the MCU via I2C/SPI interface. Accelerometer and gyroscope measurement data can be obtained by interrupt or polling. INT1 and INT2 interrupt pins provide various internal auto-detection interrupt signals for diverse motion detection scenarios, enabling reliable motion detection, attitude estimation, and gesture recognition at extremely low system power. Interrupt sources include 6D/4D orientation detection, free-fall detection, sleep and wake detection, single-tap and multi-tap detection, step counting, pedometer, and OIS function interrupts, as well as temperature detection interrupts.

The chip has a built-in high-precision calibration reference and an internal LDO circuit. At different supply voltages, zero drift remains more stable, correcting sensor gain errors and gain mismatch for precise angle-to-angle conversion testing. The chip has a built-in self-test function that allows customer system testing to detect system functionality, eliminating complex angle-to-angle conversion testing.

The ICM-42688P is applicable to smartphones, drones, game controllers, various IoT, and smart hardware systems. It supports mainstream operating systems for micro-step and motion capture screen functionality, and provides drones, game controllers, VR, and AR algorithm support.

Key Features

  • Analog supply voltage range: 1.71~3.6V
  • Low-power mode total combined supply current: 399uA
  • High-performance mode total combined supply current: 927uA
  • Accelerometer and gyroscope 16-bit data output
  • I2C/SPI digital output interface
  • Built-in temperature sensor
  • 6D/4D orientation detection, tilt detection/angle detection, static and motion detection
  • Sleep and wake detection, free-fall detection, single-tap and multi-tap detection
  • SensorTime function
  • OIS function (ODR=6.4kHz)
  • Programmable interrupt generation circuit
  • Built-in programmable step counter detection, built-in programmable wrist tilt recognition, built-in self-test function
  • Built-in FIFO
  • 10,000g high shock resistance
  • EU-compliant lead-free package, environmentally friendly

Applications

  • AR/VR devices
  • Smartphones and tablets
  • Smart wearable devices
  • Head-mounted device accessories
  • Attitude detection equipment
  • Image rotation scene switching
  • Strike detection scene activation
  • Motion detection devices
  • 9D orientation detection scenarios
  • Gesture recognition scenarios
  • Vibration detection and compensation scenarios
  • Indoor navigation / pedestrian path tracking / positioning scenarios
  • 3D scanning / indoor mapping / SLAM scenarios
  • Virtual reality games
  • Mouse / game controllers
  • IoT application scenarios
  • Optical image stabilization for cameras
  • Toy drones

Product Classification

Product NamePackage TypeMaterialPackaging
ICM-42688PLGA-14-2.5x3x1.00Lead-freeTape and reel

Package


Internal Block Diagram

Block Diagram

The internal architecture includes:

  • MEMS gyroscope drive (CV, Demod, LPF, VCO, MUX/VGA) with quadrature compensation
  • MEMS accelerometer sensing (CA channels for X/Y/Z with Demod and ADC)
  • Gyroscope sensing (CV + ADC for X/Y/Z axes)
  • Digital LPF, Composite Filter
  • Temperature compensation and sensor
  • I2C/SPI interface (CS, SCL/SCK, SDA/SDI, SDO)
  • Clock generator, Phase generator
  • FIFO, Power Management (PM), Reference (REF)
  • Control Logic and Interrupt Generation (INT1, INT2)
  • BIAS generator, Charge Pump (CP)

Absolute Maximum Ratings

ParameterSymbolTest ConditionsMinMaxUnit
Supply VoltageVDD/VDDIONo circuit damage-0.33.6V
Any Control PinV_inNo circuit damage (CS/SDO/SCL/SDA/INT1/INT2)-0.3VDDIO+0.3V
Operating TemperatureT_OPRNo circuit damage-40+85degC
Storage TemperatureT_STGNo circuit damage-55+150degC
ESDHBM4kV
ESDCDM1.5kV

Pin Description

Package: LGA14-2.5x3x1.00mm3

Package Dimensions

Acceleration Direction

X, Y, Z axes as marked on package (pin 1 indicator dot at corner).

Gyroscope Direction (top view)

+Omega_X, +Omega_Y, +Omega_Z rotation axes as marked.

Pin Table

Pin #NameI/O TypeDescription
1SDO/SA0I/OSPI 4-wire interface data output SDO; I2C device address LSB SA0
2ASDxI/OOIS interface
3ASCxOOIS interface
4INT1I/OInterrupt 1
5VDDIOSDigital power supply
6GNDIOGNDGround
7GNDGNDGround
8VDDSAnalog power supply
9INT2I/OInterrupt 2
10OCSBI/OOIS interface
11OSDOI/OOIS interface
12CSBII2C and SPI select: 1 = I2C; 0 = SPI
13SCXII2C clock SCL; SPI clock SPC
14SDXI/OI2C data SDA; SPI data input SDI; 3-wire SPI data output SDO

Mechanical Parameters — Accelerometer (VDD=1.8V, T_A=25degC)

ParameterSymbolTest ConditionsMinTypicalMaxUnit
Accelerometer Full-Scale RangeAF_S0A_FS=0+/-2.0g
AF_S1A_FS=1+/-4.0g
AF_S2A_FS=2+/-8.0g
AF_S3A_FS=3+/-16.0g
Accelerometer Sensitivity (16-bit)ASo0A_FS=00.061mg/digit
ASo1A_FS=10.122mg/digit
ASo2A_FS=20.244mg/digit
ASo3A_FS=30.488mg/digit
Accelerometer Sensitivity ErrorAS_ERRA_FS=0+/-2%
Accelerometer Temperature Sensitivity CoefficientAT_CSOA_FS=0, -40degC~85degC vs T=25degC diff+/-0.01%/degC
Accelerometer Zero DriftATY_OffA_FS=0, socket pressure test+/-80mg
Accelerometer Zero Drift Temperature CoefficientATC_offMax deviation from 25degC+/-1mg/degC
Accelerometer Non-LinearityANLBest fit line, A_FS=20.5%FS
Accelerometer Power Supply Rejection RatioAPSRRT_A=25degC+/-0.2mg/V
Accelerometer Cross-Axis InterferenceAS_XA_FS=0, interference between any two of three axes2%
Accelerometer Output Noise 1ARMS1A_FS=0, A_ODR=100Hz, High-perf mode, OSR4_AVG10.6mg
Accelerometer Output Noise 2ARMS2A_FS=0, A_ODR=100Hz, Low-power mode, OSR4_AVG14.5mg
Accelerometer Output Data RateAODR_A,HHigh-performance mode12.51600Hz
AODR_A,LPMLow-power mode0.78800Hz
Accelerometer System BandwidthABWODR/3ODR/2Hz
Accelerometer Self-Test OutputAV_st1A_FS=3, X-axis, high-freq oscillation, absolute value of positive/negative amplitude difference6g
AV_st2A_FS=3, Y-axis, same6g
AV_st3A_FS=3, Z-axis, same8g
Accelerometer Operating TemperatureAT_OPR-40+85degC

Note: Circuit is factory calibrated at 1.8V. Actual operating voltage is 1.71V-3.6V.


Mechanical Parameters — Gyroscope (VDD=1.8V, T_A=25degC)

ParameterSymbolTest ConditionsMinTypicalMaxUnit
Gyroscope Full-Scale RangeGF_S0G_FS=+/-125dps+/-125dps
GF_S1G_FS=+/-250dps+/-250dps
GF_S2G_FS=+/-500dps+/-500dps
GF_S3G_FS=+/-1000dps+/-1000dps
GF_S4G_FS=+/-2000dps+/-2000dps
Gyroscope Sensitivity (16-bit)GSo0G_FS=+/-125dps3.8125mdps/LSB
GSo1G_FS=+/-250dps7.625mdps/LSB
GSo2G_FS=+/-500dps15.25mdps/LSB
GSo3G_FS=+/-1000dps30.5mdps/LSB
GSo4G_FS=+/-2000dps61mdps/LSB
Gyroscope Temperature Sensitivity CoefficientGT_CSOG_FS=+/-2000dps, -40deg~85deg vs T=25deg diff+/-0.05%/degC
Gyroscope Sensitivity ErrorGS_ERRG_FS=+/-2000dps, calibrated+/-1.5%
Gyroscope Zero DriftGTY_OffG_FS=+/-2000dps, socket pressure test+/-0.2dps
Gyroscope Zero Drift Temperature CoefficientGTC_offG_FS=+/-2000dps, max deviation from 25degC+/-0.05dps/degC
Gyroscope Non-LinearityGNLBest fit line, G_FS=+/-2000dps0.1%FS
Gyroscope Cross-Axis InterferenceGS_XG_FS=+/-2000dps2%
Gyroscope Noise DensityGNG_FS=+/-2000dps, high-perf mode, GYR_BWP[1:0]=006mdps/sqrt(Hz)
Gyroscope Output Data RateGODR_G,HNHigh-perf / Normal mode253200Hz
GODR_G,LPMLow-power mode25800Hz
Operating TemperatureT_OPR-40+85degC

Note: Circuit is factory calibrated at 1.8V. Actual operating voltage is 1.71V-3.6V.


Electrical Parameters (VDD=1.8V, T_A=25degC)

ParameterSymbolTest ConditionsMinTypicalMaxUnit
Supply VoltageV_DD1.711.83.6V
IO Supply VoltageV_DDIO1.623.6V
Power ConsumptionI_DDA+G High-perf mode, VDD=1.8V, T_A=25degC, ODR_1.6kHz927uA
A+G Normal mode, VDD=1.8V, T_A=25degC, ODR_1.6kHz670uA
A+G Low-power mode, VDD=1.8V, T_A=25degC, ODR_25Hz399uA
A-only High-perf mode, VDD=1.8V, T_A=25degC, ODR_1.6kHz299uA
A-only Low-power mode, VDD=1.8V, T_A=25degC, ODR_25Hz13.3uA
A+G Off (shutdown), VDD=1.8V, T_A=25degC6uA
Power-Down CurrentI_DDPdn6uA
Digital High-Level Input VoltageV_IH0.8*V_DDIOV
Digital Low-Level Input VoltageV_IL0.2*V_DDIOV
High-Level Output VoltageV_OH0.9*V_DDIOV
Low-Level Output VoltageV_OL0.1*V_DDIOV
Startup TimeT_onODR=100Hz50ms
Operating TemperatureT_opr-40+85degC

I2C Control Interface Parameters (=1.8V, TA=25degC)

ParameterSymbolI2C Standard ModeI2C Fast ModeUnit
MINMAXMINMAX
SCL Clock Frequencyf_(SCL)01000400kHz
SCL Clock Low Timet_w(SCLL)4.71.3us
SCL Clock High Timet_w(SCLH)4.00.6us
SDA Setup Timet_su(SDA)250100ns
SDA Data Hold Timet_h(SDA)0.013.450.010.9us
SDA/SCL Rise Timet_r(SDA), t_r(SCL)100020+0.1C_b300ns
SDA/SCL Fall Timet_f(SDA), t_f(SCL)30020+0.1C_b300ns
START Condition Hold Timet_h(ST)40.6us
Repeated START Condition Setup Timet_su(SR)4.70.6us
STOP Condition Setup Timet_su(SP)40.6us
Bus Idle Timet_w(SP:SR)4.71.3us

SPI Serial Peripheral Interface Parameters (V_DD=1.8V, T_A=25degC)

ParameterSymbolTest ConditionsMinTypicalMaxUnit
SPI Clock PeriodT_c(SPC)100ns
SPI Clock FrequencyF_c(SPC)10MHz
CS Setup TimeT_su(CS)5ns
CS Hold TimeT_h(CS)8ns
SDI Input Setup TimeT_su(SI)5ns
SDI Input Hold TimeT_h(SI)15ns
SDO Valid Output TimeT_v(SO)50ns
SDO Output Hold TimeT_h(SO)6ns

Note: 10 MHz clock rate.

SPI Timing Parameters


Functional Description

1. Terminology

1.1 Sensitivity

Accelerometer Sensitivity: The physical quantity describing accelerometer gain, expressed as half the maximum digital output when +/-1G acceleration input is applied. In practice, gravity acceleration is used for measurement. Align the axis under test perpendicular to the ground, record the circuit output value A1, then rotate the axis 180 degrees on any plane, record the output value A2. Compute |A2-A1|, divide by 2, and the result is that axis’s sensitivity. This value varies very little with temperature and time. Another parameter, “sensitivity error,” describes the overall circuit sensitivity range consistency.

Gyroscope Sensitivity: The physical quantity describing gyroscope gain, obtainable by adding a given angular velocity. This sensitivity varies very little with temperature and time. When the sensor rotates counter-clockwise, the axis corresponds to positive digital output.

1.2 Zero Drift

Accelerometer Zero Drift (Zero-g): The deviation between the actual output signal and the ideal output signal when no acceleration is present. On a level surface, the ideal accelerometer output should be 0g for X and Y axes, and 1g for the Z axis. These outputs should be at the center of their respective dynamic ranges; however, in practice there is always deviation — this is the so-called Zero-g offset.

Zero-drift offset is fundamentally a manifestation of MEMS sensors experiencing stress conditions. When a sensor is mounted on a PCB or placed under large-scale mechanical stress, the zero offset will change slightly. Zero offset temperature variation is relatively small. The accelerometer zero-offset tolerance is a batch-level standard deviation of accelerometer sensor zero-offset values.

Gyroscope Zero Drift (Zero-Rate): The deviation of the actual output signal when no angular rate is present. Similarly, this zero offset is a manifestation of MEMS sensors experiencing stress. When mounted on a PCB or placed under mechanical stress, the zero offset will change slightly. Zero offset varies little with temperature and time.

1.3 Self-Test

Accelerometer Self-Test: The self-test function allows testing the mechanical part of the accelerometer without physical motion. The self-test bit is set to “0” to disable self-test. When set to “1,” a driving force is applied to the MEMS mechanical mass, simulating a specific acceleration input. The circuit then outputs external acceleration plus electrostatic drive acceleration data. If the self-test output signal change is within the range specified in this datasheet, the circuit is functioning normally. See register descriptions below for setup details.

Gyroscope Self-Test: The gyroscope self-test function checks the stability of the gyroscope’s drive amplitude, frequency, and drive control loop. It can detect particle contamination, mechanical damage, or stress loss. After initiating gyroscope self-test, the GYR_MEMS_OK result determines whether the gyroscope self-test passed. See register descriptions below for setup details.


2. Operating Mode Description

2.1 Operating Modes

The ICM-42688P has three selectable operating modes:

  1. Accelerometer only active, gyroscope off
  2. Gyroscope only active, accelerometer off
  3. Both gyroscope and accelerometer active simultaneously, with independent ODRs

2.2 Accelerometer Operating Modes

In the ICM-42688P, the accelerometer can be configured into three different operating modes: Off, Low-Power, and High-Performance.

2.3 Gyroscope Operating Modes

In the ICM-42688P, the gyroscope can be configured into four different operating modes: Off, Low-Power, Normal, and High-Performance.

2.4 Operating Mode Settings

ModeSensor TypeACC_ENGYR_ENACC_FILTER_PERFGYR_FILTER_PERFGYR_NOISE_PERF
Standby00XXX
Low-PowerAccelerometer10XXX
Gyroscope01X00
IMU11000
NormalAccelerometer101XX
Gyroscope01X10
IMU11110
High-PerformanceAccelerometer101XX
Gyroscope01X11
IMU11111

3. Digital Interface

The ICM-42688P internal registers can be accessed via I2C and SPI serial interfaces. The SPI interface can be configured as 3-wire or 4-wire mode. When I2C is selected, the CS pin must be tied high (VDD IO).

Pin NamePin Description
CSSPI enable; I2C/SPI mode select (1: I2C mode; 0: SPI enable)
SCL/SPCI2C serial clock (SCL); SPI serial clock (SPC)
SDA/SDI/SDOI2C serial data (SDA); SPI serial data input (SDI); 3-wire SPI serial data output (SDO)
SDO/SA0SPI serial data output SDO; I2C device address LSB SA0

3.1 I2C Serial Interface

The I2C bus interface is a slave device. Data can be written to registers and read from registers via the I2C interface. Related I2C terminology:

TermDescription
TransmitterSends data to the bus
ReceiverReceives data from the bus
MasterInitiates transmission, generates clock signal, terminates transmission
SlaveAddressed by the master for access

The I2C bus uses two signal lines: a serial clock line and a serial data line. The serial data line is bidirectional, allowing the master to send data to the slave and the slave to send data back to the master. Both signal lines are pulled up to VDDIO through pull-up resistors. When the bus is idle, both data lines are high. The I2C interface follows Fast Mode (400 kHz) I2C standard.

3.1.1 I2C Operation

Bus transmission begins with a START signal. The START condition is defined as: while SCL is high, SDA transitions from high to low. The bus is then considered busy. The upper 7 bits of the next byte indicate the master’s target device address; the 8th bit indicates data transfer direction (read/write).

The ICM-42688P slave device address is 0011 00xb (configurable by user). Data transmission requires ACK signal acknowledgment. The transmitter must release the bus on the 9th CLK; the receiver pulls the bus low on the 9th CLK to complete an ACK. The receiver must acknowledge after every byte. The ICM-42688P I2C interface operates as a slave device, following standard I2C protocol (with minor differences). After the START signal, the slave device address is broadcast; when the ACK is received, the sub-register address (lower 7 bits) is sent.

The slave address plus the read/write control bit forms the complete slave device address. If the R/W control bit is “1” (read), the device address and sub-register address are sent. If the R/W control bit is “0” (write), the transfer direction of the next byte remains unchanged.

Master-to-Slave Protocol Sequences

Master writes single byte to slave: Master: ST → SAD+W → – → SUB → – → DATA → – → SP Slave: – → – → SAK → – → SAK → – → SAK → –

Master writes multiple bytes to slave: Master: ST → SAD+W → – → SUB → – → DATA → – → DATA → – → SP Slave: – → – → SAK → – → SAK → – → SAK → – → SAK → –

Master reads single byte from slave: Master: ST → SAD+W → – → SUB → – → SR → SAD+R → – → – → NMAK → SP Slave: – → – → SAK → – → SAK → – → – → SAK → DATA → – → –

Master reads multiple bytes from slave: Master: ST → SAD+W → – → SUB → – → SR → SAD+R → – → – → MAK → – → MAK → – → NMAK → SP Slave: – → – → SAK → – → SAK → – → – → SAK → DATA → – → DATA → – → DATA → – → –

Data is transmitted MSB first on the serial bus, 8 bits per data byte, unlimited number of transmissions. If the receiver is busy processing other tasks and cannot fully receive data, the receiver can pull the SCL line into a wait state, causing the transmitter to wait until the receiver is no longer busy before releasing the SCL bus to continue transmission. If the slave receiver cannot respond to the slave address due to real-time constraints, the SDA line must not be held busy; the master will then terminate the transfer. When SCL is high, a low-to-high transition on SDA constitutes a STOP condition. Each data transmission must end with a STOP condition. For faster data transfer, batch reads or batch writes can be used. The sensor defaults to auto-incrementing the read/write address. For example, after configuration, three-axis accelerometer data can be continuously read (register addresses 0x0C~0x12).

3.1.2 / 3.1.3 I2C Address

The ICM-42688P slave device address is 0011 00xb. The external SDO/SA0 pin can modify the device address LSB. If SDO/SA0 is pulled high, LSB=1 (address = 0011 001b). If SDO/SA0 is tied to ground, LSB=0 (address = 0011 000b). This allows two different inertial sensors on the same I2C bus.

SDO External Connection7-bit I2C Address8-bit I2C AddressNotes
Floating / Logic High0x190x32(W), 0x33(R)No-leakage connection
Logic Low0x180x30(W), 0x31(R)Must disable SDO internal pull-up resistor

3.2 SPI Serial Interface

The SPI bus interface operates as a slave device. Data can be written to registers and read from registers via SPI. The four bus signals are: CSB, SPC, SDI, and SDO.

CSB is the SPI enable signal, controlled by the SPI master — goes low before SPI transfer starts and high after transfer ends. SPC is the SPI serial clock, controlled by the SPI master. SDI and SDO are serial data input and output. Data is clocked on SPC falling edge for input and SPC rising edge for output. Single-byte read/write completes in 16 clock cycles; multi-byte read/write adds 8 clock cycles per additional byte. The first bit (bit0) is sent on the first SPC falling edge after CS goes low.

  • Bit0: R/W bit. 0 = write to circuit, DI(7:0) is data to write; 1 = read from circuit, DO(7:0) is data read out (circuit drives SDO starting at bit8)
  • Bit1-7: Address AD(6:0) is the register address
  • Bit8-15: Data DI(7:0) (write mode), data written to slave device (MSB first); or Data DO(7:0) (read mode), data read from slave device (MSB first)

When Addr_Auto=1, address auto-increments; SDI and SDO functions and behavior remain unchanged.

SPI Timing Parameters (Slave Device)

SymbolParameterMinMaxUnit
tc(SPC)SPI clock cycle100ns
fc(SPC)SPI clock frequency10MHz
tsu(CS)CS setup time6ns
th(CS)CS hold time8ns
tsu(Si)SDI input setup time5ns
th(Si)SDI input hold time15ns
tv(So)SDO valid output time50ns
th(So)SDO output hold time9ns
tdis(So)SDO output disable time50ns

3.2.1 SPI Read

SPI Read Timing

SPI read command completes in 16 clocks. Multi-byte reads add 8 more clock cycles per byte.

SPI Multi-Byte Read

  • Bit0: R/W control bit, set to 1
  • Bit1-7: Address AD(6:0) is the register address
  • Bit8-15: Data DO(7:0) (read mode), data read from slave device (MSB first)
  • Bit16-…: Data DO(…:8) (read mode), additional data (MSB first)

3.2.2 SPI Write

SPI Write Timing

SPI single-byte write command completes in 16 clocks. Multi-byte writes add 8 more clock cycles per byte.

SPI Multi-Byte Write

  • Bit0: R/W control bit, set to 0
  • Bit1-7: Address AD(6:0) is the register address
  • Bit8-15: Data DI(7:0) (write mode), data written to slave device (MSB first)
  • Bit16-…: Data DI(…:8) (write mode), additional data written (MSB first)

3.2.3 SPI 3-Wire Mode Read

SPI 3-Wire Read

3-wire mode is configured by writing 1 to the SIM bit. 4-wire write and 3-wire write use only 3 signal lines with identical logic and timing, so 4-wire write configures the slave device to 3-wire mode first, then 3-wire mode access is used.

SPI read command completes in 16 clocks.

  • Bit0: R/W control bit, set to 1
  • Bit1-7: Address AD(6:0) is the register address
  • Bit8-15: Data DO(7:0) (read mode), data read from slave device (MSB first)

When reading 3-axis FIFO data via SPI, start reading from register 0x0B, continuously read 7 bytes, and use the latter 6 bytes to assemble the 3-axis data. Important: Do not share SPC, MOSI, MISO across multiple SPI devices.

3.3 OIS Interface

The ICM-42688P supports optical image stabilization (OIS) applications via an auxiliary interface. This interface is used to access pre-filtered gyroscope and accelerometer data with minimum latency. Pre-filtered accelerometer data is available when ACC_ODR=1.6kHz; gyroscope data is available when GYR_ODR=6.4kHz. The OIS SPI interface supports 3-wire and 4-wire modes. The OIS SPI interface timing is the same as the main SPI interface.


4. Register Map

4.1 General-Purpose Registers

The following table lists the ICM-42688P general-purpose registers accessible via 8-bit addresses, their addresses, and default values.

NameTypeRegister Address (Hex)Register Address (Binary)DefaultNotes
WHO_AM_Irw010000 00010x6A
Reserved (do not modify)02-03
OIS_CONFrw040000 0100
COM_CFGrw050000 01010x50
INT_CFG1rw060000 0110
INT_CFG2rw070000 0111
HPF&LPF_CFGrw080000 10000x80
DATA_STAT/DATA_STAT_OISr0B0000 1011
ACC_XH/ACC_XH_OISr0C0000 1100output
ACC_XL/ACC_XL_OISr0D0000 1101output
ACC_YH/ACC_YH_OISr0E0000 1110output
ACC_YL/ACC_YL_OISr0F0000 1111output
ACC_ZH/ACC_ZH_OISr100001 0000output
ACC_ZL/ACC_ZL_OISr110001 0001output
GYR_XH/GYR_XH_OISr120001 0010output
GYR_XL/GYR_XL_OISr130001 0011output
GYR_YH/GYR_YH_OISr140001 0100output
GYR_YL/GYR_YL_OISr150001 0101output
GYR_ZH/GYR_ZH_OISr160001 0110output
GYR_ZL/GYR_ZL_OISr170001 0111output
TIME_Hr180001 1000
TIME_Mr190001 1001
TIME_Lr1A0001 1010
FIFO_CFG0rw1C0001 1100
FIFO_CFG1rw1D0001 11010x07
FIFO_CFG2rw1E0001 11100xFF
FIFO_STAT0r1F0001 11110x40
FIFO_STAT1r200010 0000
FIFO_DATAr210010 0001
TEMP_Hr220010 0010
TEMP_Lr230010 0011
AOI1_CFGrw300011 0000
AOI1_STATr310011 0001
AOI1_THSrw320011 0010
AOI1_DURATIONrw330011 0011
AOI2_CFGrw340011 0100
AOI2_STATr350011 0101
AOI2_THSrw360011 0110
AOI2_DURATIONrw370011 0111
CLICK_CRTL_REGrw380011 1000
CLICK_SRCr390011 1001
STEP_CFGrw3A0011 10100x08
STEP_SRCrw3B0011 1011
STEP_COUNTER_Lr3C0011 1100
STEP_COUNTER_Hr3D0011 1101
AOI1&AOI2_CFGrw3F0011 1111
ACC_CONFrw400100 00000xA8
ACC_RANGErw410100 00010x02
GYR_CONFrw420100 00100xA9
GYR_RANGErw430100 0011
FIFO_DOWNSrw450100 01010x88
SOFT_RSTrw4A0100 1010
ACC_SELF_TESTrw6D0110 1101
GRY_SELF_TESTrw6F0110 1111
PWR_CTRLrw7D0111 1101
SEG_SELrw7F0111 1111

Note: Registers marked “Reserved” must not be modified in use — doing so may cause permanent damage. Also, wait 1ms after register configuration before performing register read operations.

4.2 Special Register Bank 1

The following registers require writing 0x83 to register 0x7F (SEG_SEL) before access.

NameTypeHexBinaryDefaultNotes
I2C_UNrw6F0110 1111

Note: After special register configuration, write 0x00 to address 0x7F to return to general-purpose register access. Wait 1ms after configuration before reading registers.

4.3 Special Register Bank 2

The following registers require writing 0x8C to register 0x7F (SEG_SEL) before access.

NameTypeHexBinaryDefaultNotes
DIG_CTRLrw300011 0000

Note: After special register configuration, write 0x00 to address 0x7F to return to general-purpose register access. Wait 1ms after configuration before reading registers.

4.4 Special Register Bank 3

The following registers require writing 0x90 to register 0x7F (SEG_SEL) before access.

NameTypeHexBinaryDefaultNotes
WRIST_SRCrw3E0011 1110
CLICK_COEFF1rw400100 00000x52
CLICK_COEFF2rw410100 00010x9A
CLICK_COEFF3rw420100 00100x04
CLICK_COEFF4rw430100 00110x57
STEP_DELTArw440100 01000x01
STEP_WTMrw450100 01010x01
PEDO_COEFF1rw460100 01100x4F
PEDO_COEFF2rw470100 01110x23
PEDO_COEFF3rw480100 10000xA5
PEDO_COEFF4rw490100 10010x23
PEDO_COEFF5rw4A0100 10100x04
PEDO_COEFF6rw4B0100 10110x8C
WRIST_CTRL1rw510101 00010x30
WRIST_CTRL2rw520101 00100x0F
WRIST_CTRL3rw530101 00110x93

Note: After special register configuration, write 0x00 to address 0x7F to return to general-purpose register access. Wait 1ms after configuration before reading registers.

Do not modify register contents during “boot startup” — these contain factory calibration and compensation data that is power-loss preserved and auto-loaded.


5. Register Descriptions

5.1 WHO_AM_I (01h)

B7B6B5B4B3B2B1B0
01101010

Note: Equivalent to CHIP_ID = 0x6A.

5.2 OIS_CONF (04h)

B7B6B5B4B3B2B1B0
OIS_EN
  • OIS_EN: OIS enable bit. Default: 0 (0: OIS disabled; 1: OIS enabled)

5.3 COM_CFG (05h)

B7B6B5B4B3B2B1B0
BOOTBDUAddr_AutoOSIMSIM
  • BOOT: Reboot trim values. Default: 0 (0: Normal mode; 1: Reboot trim values — auto-resets to “0” after reboot)
  • BDU: Block data update. Default: 0 (0: Continuous update; 1: Output data registers not updated until MSB and LSB are read)
  • Addr_Auto: Communication address auto-increment control. Default: 1 (0: Address does not auto-increment — must be configured for FIFO_DATA continuous reading; 1: Address auto-increments during continuous read/write — suitable for I2C and SPI communication, OIS not applicable)
  • OSIM: OIS SPI communication mode select. Default: 0 (0: OIS 4-wire mode; 1: OIS 3-wire mode)
  • SIM: SPI serial interface mode configuration. Default: 0 (0: 4-wire interface; 1: 3-wire interface)

5.4 INT_CFG1 (06h)

B7B6B5B4B3B2B1B0
INT_PP_ODH_LACTIVEINT1_SEL4INT1_SEL3INT1_SEL2INT1_SEL1INT1_SEL0
  • INT_PP_OD: INT1 and INT2 push-pull or open-drain output select. Default: 0 (0: Push-pull output enable; 1: Open-drain output enable)
  • H_LACTIVE: Interrupt pin default level control. Default: 0 (0: Interrupt triggers output high level — default low; 1: Interrupt triggers output low level — default high)
INT1_SEL[4:0]Description
00001DRDY_ACC interrupt on INT1
00010DRDY_ACC_OIS interrupt on INT1
00011DRDY_GYR interrupt on INT1
00100DRDY_GYR_OIS interrupt on INT1
00101DRDY_TMP interrupt on INT1
00111CLICK interrupt on INT1
01000EMPTY interrupt on INT1
01001WTM interrupt on INT1
01010OVER_FIFO interrupt on INT1
01011AOI1 interrupt on INT1
01100AOI2 interrupt on INT1
01101AOI1|AOI2 interrupt on INT1
01111WTM_STEP interrupt on INT1
10000DELTA_STEP interrupt on INT1
10001OVER_STEP interrupt on INT1
10010WRIST_FLAG interrupt on INT1
10011WRIST_ON_FLAG interrupt on INT1
10100WRIST_DOWN_FLAG interrupt on INT1
10101WRIST_ON_FLAG|WRIST_DOWN_FLAG interrupt on INT1

5.5 INT_CFG2 (07h)

B7B6B5B4B3B2B1B0
INT2_SEL4INT2_SEL3INT2_SEL2INT2_SEL1INT2_SEL0
INT2_SEL[4:0]Description
00001DRDY_ACC interrupt on INT2
00010DRDY_ACC_OIS interrupt on INT2
00011DRDY_GYR interrupt on INT2
00100DRDY_GYR_OIS interrupt on INT2
00101DRDY_TMP interrupt on INT2
00111CLICK interrupt on INT2
01000EMPTY interrupt on INT2
01001WTM interrupt on INT2
01010OVER_FIFO interrupt on INT2
01011AOI1 interrupt on INT2
01100AOI2 interrupt on INT2
01101AOI1|AOI2 interrupt on INT2
01111WTM_STEP interrupt on INT2
10000DELTA_STEP interrupt on INT2
10001OVER_STEP interrupt on INT2
10010WRIST_FLAG interrupt on INT2
10011WRIST_ON_FLAG interrupt on INT2
10100WRIST_DOWN_FLAG interrupt on INT2
10101WRIST_ON_FLAG|WRIST_DOWN_FLAG interrupt on INT2


6D Orientation Detection

6D Orientation Detection

Gyroscope Mounting Orientations

Gyroscope Mounting Orientations


Translated from Chinese datasheet by HuaXuanYang (HXY) Electronics. This is NOT the original InvenSense/TDK ICM-42688-P datasheet — it is a compatible/clone part from HXY with similar register interface. Original document: ICM-42688P-HXY.pdf

UI/UX Guidelines for Software Applications

This chapter distills MIL-STD-1472H human engineering requirements into actionable guidelines for software applications — particularly those used in marine, industrial, defense, and high-stress environments. Every recommendation traces back to a specific section of the standard.

The core principle: the system adapts to the human, not the other way around.


Display Design

Contrast and Luminance

  • Character-to-background contrast ratio: 6:1 minimum, 10:1 preferred [5.2.2.7]
  • Text 14pt or smaller: luminance contrast ratio above 4.5:1 [5.17.25.16.3]
  • Text larger than 14pt: contrast ratio at least 3:1 [5.17.25.16.3]
  • Display luminance adjustability range (max to min): not less than 50:1 [5.2.1.2.1]
  • Display capable of luminance levels of at least 35 cd/m² (10 fL) [5.2.1.2.2]
  • Luminance uniformity across the display: shall not vary by more than 2:1 (1.5:1 preferred) [5.2.2.4]
  • Color-coded elements require luminance more than 10 cd/m² [5.17.25.9]

Day/Night Modes

  • Day mode (540 lx or greater): dark characters on light background [5.18.2.2.1]
  • Night mode (dark adaptation): light characters on dark background [5.18.2.2.2]
  • Transition: below approximately 0.1 lx, use light-on-dark; otherwise dark-on-light [5.2.2.6]
  • Separate day and night color palettes may be necessary [5.18.2.2.3]
  • Night operations ambient illumination shall not exceed 0.001 lx (0.0001 lx preferred) [5.18.2.1.5.1]
  • Use low-level blue-filtered white light for panel and backlit keyboard lighting [5.2.1.9.8]
  • If red lighting is used, controls normally coded red shall be recoded orange-yellow with black striping [5.18.3.2.2.1]

Marine/Bridge Displays

  • Exterior displays readable in 108,000 lx full sunlight with 6,800 cd/m² glare source [5.18.2.1.4]
  • Interior displays readable in 3,240 lx with 6,800 cd/m² glare source [5.18.2.1.4.1]
  • Sunlight minimum luminance: 685 cd/m² [5.18.2.2.3.2]
  • Dark adaptation dimmable range: 0.35 cd/m² down to 0.03 cd/m² (0.003 preferred) [5.18.2.2.3.5]
  • Luminance adjustment controls shall remain visible even when fully dimmed [5.18.2.2.3.1.1]
  • On-screen controls shall remain visible without external lighting [5.18.2.2.3.1.2]
  • Primary displays placed below the operator’s external line of sight and below window level [5.18.2.1.6]
  • All displays face away from windows to avoid reflections [5.18.2.1.9]

Display Geometry

  • Viewing distance for seated operator: not more than 70 cm (28 in) [5.2.2.11.2]
  • Minimum effective viewing distance: not less than 33 cm (50 cm preferred) [5.2.2.11.4]
  • Graphic display elements shall not move faster than 60 deg/sec (20 deg/sec preferred) [5.2.1.1.3]
  • Jitter: picture element movement shall not exceed 0.2 milliradians over 1 second [5.2.2.2]
  • Geometric distortion: no point displaced more than 5% of picture height [5.2.2.1]

Typography and Text

Character Sizing

  • Character height shall subtend at least 4.4 mrad (15 min arc) minimum; 5.8 mrad (20 min arc) preferred [5.4.7.1]
  • Quick formula: viewing distance × 0.004 (minimum) or × 0.006 (preferred) [5.4.7.1]
  • At 710 mm (28 in) viewing distance, recommended height: ~5 mm (0.18 in) [5.4.7.2]
  • On-screen characters: not less than 2.9 mrad (10 min arc); should be 4.5 mrad (15 min arc) [5.17.18.2]

Minimum character heights by viewing distance (Table XVIII):

Viewing DistanceMinimum Height
< 0.5 m (20 in)2.3 mm (0.1 in)
0.5–1.0 m (20–40 in)4.7 mm (0.2 in)
1.0–2.0 m (40–80 in)9.4 mm (0.4 in)
2.0–4.0 m (80–160 in)18 mm (0.75 in)
4.0–9.0 m (160–360 in)38 mm (1.5 in)

Font and Style

  • Use sans-serif fonts (Arial, Verdana, Helvetica) under adverse conditions [5.2.2.10.3.2]
  • Use a common standard font (Arial, Times New Roman, Courier, Verdana) [5.2.2.10.3.1]
  • Font must enable discrimination between confusable characters: I vs 1, O vs 0, Z vs 2 [5.2.2.10.3]
  • Stroke width: 1/6 to 1/7 of height (light-on-dark: 1/7 to 1/8) [5.4.7.4.1–2]
  • Night mode uses thinner strokes than day mode to prevent halation (light bleeding) [5.4.7.4.2]
  • Pixel stroke width: 0.0834–0.1667 of the number of pixels used for character height [5.17.18.4]
  • Width-to-height ratio: 3:5 for general characters [5.4.7.5.1]
  • On-screen character width: approximately 0.9 of height [5.17.18.5]
  • Colored text requires larger characters: minimum 5.8 mrad (20 min arc) for accurate color perception [5.17.25.14]

Spacing

  • Minimum space between characters: one stroke width [5.4.7.8]
  • Minimum space between words: 3/5 of character height [5.4.7.9]
  • Minimum line spacing: 1/2 character height (i.e., line spacing in points ≈ half font size) [5.4.7.10]
  • Column separation in tables: not less than three character widths [5.17.20.3.13]
  • Table row groups separated at intervals of not more than every 5 rows [5.17.20.3.14]

Case and Labeling

  • ALL CAPS for single-word labels, headings, signal words, abbreviations [5.4.7.11.1, 5.4.7.11.4]
  • Mixed case for phrases and sentences [5.4.7.11.2]
  • Abbreviations only if familiar to users; always define in an accessible list [5.4.6.6, 5.4.6.6.5]
  • No more than 5 colors in label color coding [5.4.5.6.3]
  • Hierarchical labels: each level 25% larger than the next smaller [5.4.1.7.2]
  • Five or more characters without natural grouping: group in blocks of 3–5 separated by space [5.17.18.10.3]
  • No leading zeros in numerical data [5.17.18.10.6]

Color Coding

Limits

  • Maximum 11 nameable colors when user must recognize categories [5.17.25.5]
  • No more than 2 brightness levels; each separated by not less than 2:1 ratio [5.17.26.2]
  • Color shall not be the only means of coding information [5.17.25.11]
  • Colored symbols shall differ from background by not less than 100 ΔE (CIE L*u*v*) [5.17.25.16.1]
  • Colors in a set shall differ from each other by not less than 20 ΔE [5.17.25.16.2]

Standard Color Meanings (Table XL)

ColorMeaning
RedAlarm, critical, stop, danger, emergency, hostile, OFF, malfunction, failure
OrangeHigh threat, warning/caution/hazard, abnormal state
YellowApproaching critical, extreme caution, impending danger, caution signals
GreenSafe, normal, open/flowing, ON, in tolerance, ready/proceed, friendly
BlueNon-critical, advisory (dark blue/navy), guarded threat
CyanFriendly affiliation, advisory
MagentaRadiation hazard, advisory
PurpleAviation fuels, advisory, steam, medical personnel
WhiteFunctional/physical position, action in progress, outline/border
BlackImage or figure edge, smoke
GrayInactive or unavailable options or actions

Principles

  • Warm colors (red, orange) for items requiring action or response [5.17.25.8.2]
  • Cool colors (blue, green) for background/infrequent information [5.17.25.8.1]
  • More dangerous = more saturated red; hotter-to-cooler maps red→blue [5.17.25.7]
  • Color coding consistent within and across all displays [5.17.25.3]
  • Color shall not be used for gaining attention outside the foveal (central) visual field [5.17.25.2]
  • Use color-filled symbols instead of outlined symbols for better detectability [5.17.25.15]
  • For accurate color perception, symbol major dimension: not less than 8.7 mrad (30 min arc), preferably 13.1 mrad (45 min arc) [5.17.25.13]
  • Color customization allowed only for non-tactically-significant information [5.17.25.4]
  • If color display uses filters, they shall be neutral density only [5.18.2.1.4.3]

Color-Blind Accommodation

  • Every effort to select non-confusable colors [5.17.25.10]
  • If not possible, redundant coding (shape, pattern, text label) shall be used [5.17.25.11]
  • Do not rely on color alone where protective eyewear may alter perception [5.17.25.12]

Visual Emphasis and Coding

Brightness and Reverse Video

  • No more than 2 brightness levels; each separated by at least 2:1 ratio [5.17.26.2]
  • Reverse video (brightness inversion) may highlight critical items requiring attention [5.17.26.3]
  • When used for alerting, reverse video shall be reserved for that purpose only — not for general highlighting [5.17.26.3]

Size Coding

  • No more than 3 size levels [5.17.28]
  • Larger size shall be not less than 150% of the major dimension of the smaller [5.17.28]

Underlining

  • Underlining may indicate unusual values, errors, changed items, or items to be changed [5.17.30]

Flash Suppression

  • Flash coding only for mission-critical events [5.17.27.1]
  • Only a small area of a display should flash at any time [5.17.27.7]
  • Event acknowledgment or flash suppression control shall be provided [5.17.27.6]

Alerts and Warnings

Alert Hierarchy

Three levels in descending precedence:

  1. Warning (Alarm) — dangerous condition requiring immediate action [5.7.1.7.1]
  2. Caution (Alert) — impending dangerous condition requiring attention [5.7.1.7.2]
  3. Advisory — safe/normal status change, important but no immediate action [5.7.1.7.3]

Visual Alert Specifications

LevelColorFlash RateDuty Cycle
WarningFlashing Red3–5 Hz50% (ON ≥ OFF)
CautionYellow≤ 2 Hz (if flashing)70% ON / 30% OFF
AdvisorySteady (any standard color)
  • All items flashing at the same rate shall be synchronized [5.17.27.4]
  • Characters that must be read shall not flash — use flashing border, background, or adjacent symbol instead [5.17.27.5]
  • No more than two flash rates total; differ by at least 2 Hz; higher rate ≤ 5 Hz, lower rate ≥ 0.8 Hz [5.17.27.3]
  • Alert text height: 8.7 to 17.4 mrad from longest viewing distance [5.7.3.6]
  • Warning/caution signals and response info grouped in a single location [5.7.3.7]
  • Users can sort alerts by priority, chronological, or recency [5.7.3.7.2]
  • Bridge alerts: within operator’s 30-degree forward cone of vision [5.18.2.1.2]
  • Safety-of-navigation alerts on left-most display if multiple displays [5.18.2.1.3]
  • Minimize false and nuisance alerts [5.7.3.10]

Audio Alert Specifications

  • Warning signals: at least 15 dBA above ambient, not exceeding 140 dBP [5.3.2.1.3]
  • Frequency range: 250–8,000 Hz, preferably 500–2,000 Hz [5.3.3.3.1]
  • Recognition time: within 0.5 seconds [5.3.3.1]
  • Minimize startle: increase not greater than 30 dB in any 0.5-second period; first 0.2 seconds not at max intensity [5.3.4.2.3–4]
  • No more than 4 discriminable audio signals if absolute discrimination required [5.3.4.3.1.1]
  • Advisory signals in quiet areas: 50–70 dBA [5.3.2.4.1]
  • Audio warning persists until condition resolved or acknowledged; if acknowledged but condition persists past timeout, audio re-initializes; visual remains even when audio silenced [5.3.2.1.5]
  • Critical system mode changes: both auditory and visual alert [5.18.8.7]

Safety Design Precedence

In order: (1) eliminate hazard by design → (2) minimize risk → (3) safety devices → (4) warning devices → (5) procedures and training [5.7.1.1]


Controls and Input

Touchscreen

  • Touchscreen shall not be the sole input for mission-critical or safety-critical interfaces [5.1.3.1.1.3]
  • Not the sole input for large amounts of frequent data entry [5.1.3.1.1.1]
  • Not the sole input in moving/vibration environments [5.1.3.1.1.2]
  • Display response latency: should not exceed 100 ms [5.1.3.1.4]
  • Critical tasks require additional confirmatory action [5.1.3.1.7]
  • Repeat function initial delay: 500–750 ms [5.1.3.1.8]
  • Sensitivity shall match all expected operational modes including gloves [5.1.3.1.10]
  • For glove use: add 5 mm to each dimension of touch targets [5.1.3.1.17]

Touch target dimensions:

ParameterKeyboard TargetsGeneral Targets
Minimum size16 × 16 mm15 × 15 mm
Maximum size38 × 38 mm
Separation (first contact)≥ 5 mm≥ 5 mm
Separation (last contact)≥ 3 mm≥ 3 mm

Keyboard

  • Alphanumeric key preferred size: 19 mm, function key minimum: 15 mm [Table VII]
  • Key resistance: 0.25–1.5 N (preferred 0.5–0.6 N) [Table VII]
  • Key displacement: 0.8–6.3 mm [Table VII]
  • Key separation: minimum 6.4 mm [Table VII]
  • Must provide tactile feedback — spring-loaded keys that click and return [5.1.3.2.6]
  • In dark environments: dimmable to minimum 30 incremental positions from full ON to OFF [5.1.3.2.7]
  • Individually backlit characters and symbols [5.1.3.2.7.2]

Mouse

  • Operable with either hand [5.1.3.3.2.4]
  • If cursor can go off-edge: provide indicators to bring it back [5.1.3.3.2.6]
  • Button resistance: 0.5–1.5 N; displacement: 5–6 mm [Table VIII]

Marine/Bridge-Specific

  • GUI controls shall not be the sole means for ship steering, propulsion, or emergency functions [5.18.1.5]
  • Hardware-based controls for direct steering and throttle [5.18.1.5.1]
  • If control transfers between positions: clear, salient indication of which position is active [5.18.6.1.3]
  • Immediate human override of automated/autonomous operations [5.18.9.2.2]

  • Drop-down menus when more than three commands [5.17.3.1.1.1]
  • Submenu depth limited to three levels (Main > Sub1 > Sub2) [5.17.3.1.2.6]
  • Frequently needed functions: not in submenus [5.17.3.1.2.3]
  • Right-click menus shall not be the only method for any command [5.17.3.1.5.1]
  • Menus shall not span multiple pages [5.17.3.2.2.4]
  • Unavailable options: greyed out or hidden [5.17.3.2.3]
  • Menu order: logical (alphabetical, frequency of use, or workflow) [5.17.3.2.6]
  • Keyboard shortcuts for frequently used actions [5.17.3.2.10]
  • Toolbar icons shall have tooltip labels [5.17.3.1.3.5]
  • When traversing multiple levels, all levels remain visible until selection made [5.17.3.2.14]
  • A page should contain no more than 7 portlets/widgets [5.17.8.4]

Form Design

  • Pace of data entry controlled by the user [5.17.4.2]
  • System provides immediate feedback on acceptance or rejection [5.17.4.3]
  • Entries validated for format, legal value, and range before processing [5.17.4.8]
  • User shall not re-enter data already available to the system [5.17.4.9]
  • Data entered in units familiar to the user [5.17.4.10]
  • Related items grouped together [5.17.6.2]
  • Required fields distinguished from optional fields [5.17.6.6]
  • Format hints when ambiguous: e.g., “DATE (MM/DD/YYYY)” [5.17.6.8]
  • Cursor positioned at first data entry field by default [5.17.6.16]
  • Maximum field length visually indicated [5.17.6.17]
  • User can review, change, or cancel any item before submitting [5.17.6.25]
  • Non-entry areas: visually distinguishable and inaccessible [5.17.6.23–24]

Cursors

  • Different visual attributes for different modes (selecting vs editing) [5.17.5.2]
  • Cursor shall not obscure displayed entities [5.17.5.4]
  • Cursor shall not disappear at display boundaries [5.17.5.5]
  • Permanent deletion of more than one character requires confirmation (unless undo available) [5.17.5.14]

System Response and Feedback

Response Time Requirements

EventRequired Response
Touchscreen actuationLatency ≤ 100 ms [5.1.3.1.4]
Any user inputPerceptible response [5.17.9.3]
Processing > 1 second“Processing” message [5.17.9.5.3]
Processing > 10 secondsProgress indicator [5.17.9.9.2]
Error detectionError message within 0.2 seconds [5.17.10.9]
Readable dynamic valuesUpdate no more than 1/second [5.17.22.1.1.1]
Rate-of-change valuesUpdate 3–4 times/second [5.17.22.1.1.2]

Feedback Principles

  • Every input produces a consistent perceptible response [5.17.9.3]
  • If input rejected: feedback indicates reason and corrective action [5.17.9.10]
  • Messages shall be explicit and informative — no codebooks, no system internals [5.17.9.14]
  • Time-consuming commands: warn before starting, allow abort during execution [5.17.9.7–8]
  • Auto-updating displays: provide freeze mode with visible “FROZEN” label [5.17.22.1.2.1, 5.17.22.1.2.4]

Error Management

  • Easy correction of errors; system permits partial correction [5.17.10.1–2]
  • Error checking at logical data entry breaks (end of fields, not per-character) [5.17.10.4]
  • Validate: format, sequence, completeness, range [5.17.10.5]
  • Irreversible/destructive actions require explicit confirmation [5.17.10.6]
  • Error messages shall:
    • Describe the error in application terms, not system internals [5.17.10.7.1]
    • Instruct user how to recover [5.17.10.7.2]
    • Be constructive and neutral in tone [5.17.10.7.3]
    • Appear near the entry that caused them, without obscuring needed controls [5.17.10.16–17]
    • Display continuously until corrected or dismissed [5.17.10.14]
  • If user repeats the same error, second message includes a noticeable change [5.17.10.18]
  • Multi-level undo: user can stop and return to previous levels at any point [5.17.10.10]
  • System should recognize common misspellings and suggest corrections [5.17.10.12]

Cybersecurity UX

Authentication

  • Multifactor authentication: at least two of token, knowledge, biometrics [5.16.2.3]
  • Password not echoed on display (asterisks) [5.16.2.6]
  • Status feedback on accept/reject [5.16.2.5]
  • Failed authentication: display specific reason and corrective action [5.16.2.10–11]
  • Show user remaining login attempts before lockout [5.16.3.5]
  • User informed of all active concurrent sessions [5.16.2.14]
  • Locked-out user can request admin reset [5.16.3.6]

Session Management

  • Logon is a separate procedure completed before any operational access [5.16.3.1]
  • Role-based access control; user informed of current role [5.16.1.1, 5.16.1.3.2]
  • User can see which account is currently active [5.16.1.4]
  • Automatic logoff after predefined inactivity with no data loss [5.16.4.1]
  • On logoff/exit: check for pending transactions, warn of potential data loss, prompt for confirmation [5.16.4.2]

Password UX

  • Display password criteria during creation [5.16.7.1]
  • Dynamic feedback on which complexity requirements are not yet met [5.16.7.2]
  • Users can change passwords at any time [5.16.7.5]
  • System should support password managers [5.16.7.6]

Data Protection

  • Prominent indication of security classification level on classified data [5.16.5.1]
  • Real system use clearly distinguished from simulated operations [5.16.6.2]

Mobile and Handheld Applications

Physical Constraints

  • Single-handed device: < 10.2 × 25.4 × 12.7 cm, weight < 1.4 kg (precision manipulation < 400 g) [5.19.6.1–3]
  • Two-handed device: should not exceed 4.5 kg [5.19.7.2]
  • Operable with bare hands and gloves [5.19.1.3.1]
  • Operable with either hand [5.19.1.7.1]

Display

  • Brightness full-range continuously adjustable [5.19.4.2.1]
  • Fully dimmed setting still readable in natural lighting with backlight off [5.19.4.2.2]
  • User-configurable backlight timeout, resets on interaction [5.19.4.2.3]
  • Anti-glare features (filters, coatings) [5.19.4.3]
  • Vibrotactile alerts: 150–300 Hz optimal, duration 50–200 ms [5.19.4.4.1, 5.19.4.4.3]

App Design Principles

  • Critical information reachable in no more than 2 key actions [5.19.5.4.1]
  • Provide shortcuts (hotkeys, voice, key combos) for frequent commands [5.19.5.4.2]
  • Support auto-rotation (user-selectable) [5.19.5.4.4]
  • Minimize text input; prefer selection over manual entry; prepopulate forms [5.19.5.4.7]
  • Scrolling in one dimension only [5.19.5.5.4b]
  • Selected items: clearly indicated (color + background + text change) [5.19.5.5.2]
  • Back, Home, Search always available [5.19.5.5.3]
  • Follow platform conventions (iOS, Android, Windows) — do not invent non-standard behaviors [5.19.5.1.6.1]
  • Color always with dual coding (shape or label) [5.19.5.5.7]
  • Remaining battery life indication (percentage or time) [5.19.2.4.3]
  • Connection status indication (signal strength/reliability) [5.19.2.5.2]
  • Usable while recharging [5.19.2.4.6]

Key Spacing

  • Key spacing (center-to-center): min 10 mm, preferred 14 mm, max 19 mm [5.19.3.8.1]
  • Communication keypads: telephone layout (not calculator) [5.19.3.8.2]

Speech and Audio UI

When to Use Audio

  • Short, simple information requiring immediate response [5.3.1.1a]
  • Visual channel is overburdened or restricted [5.3.1.1b]
  • Criticality makes redundant notification desirable [5.3.1.1c]
  • Each audio signal: one meaning only [5.3.1.3]

Speech Output

  • Speech rate: 150–180 words per minute [5.3.10.3]
  • Instructional prompts: goal first, then action (“To delete, press Enter”) [5.3.10.6]
  • Prompts repeat after command or 10 seconds of inactivity [5.3.10.6.1]
  • Cancel/mute capability after initial presentation [5.3.10.7]
  • “Say again” / repeat on command [5.3.10.8]
  • Simultaneous messages: most critical gets priority [5.3.10.5]

Speech Recognition

  • Use when hands occupied, mobility required, or visual attention fully occupied [5.3.13.1]
  • Use when consequences of recognition errors are low and correction is easy [5.3.13.1]
  • Shall not be sole control — always provide alternative input [5.3.14.1–2]
  • System shall adapt to environment variability [5.3.13.3]
  • Provide feedback so user knows system understood [5.3.13.5]
  • Vocabulary: minimized and phonetically distinct [5.3.13.6]
  • Must reject involuntary sounds (sneezes, coughs) [5.3.13.10]

Audio Signal Control

  • Non-critical audio signals can be turned off by user [5.3.1.8]
  • Visual indication must show when audio has been silenced [5.3.1.9]

Default Values and Efficiency

  • Use default values where feasible to reduce workload [5.17.20.2.1]
  • Defaults displayed automatically in their fields [5.17.20.2.2]
  • Accept default by single keystroke [5.17.20.2.3]
  • User can replace any default during a transaction without changing the default definition [5.17.20.2.4]
  • Display information in directly usable form — no transposing, computing, or mental translation [5.17.15.2]
  • Same format for input and output within a task [5.17.15.3.2]
  • Each multi-page display labeled “Page X of Y” [5.17.15.5]

Quick Reference: Critical Numbers

ParameterValue
Character contrast ratio6:1 min, 10:1 preferred
Small text contrast4.5:1 min
Color ΔE from background≥ 100 (CIE L*u*v*)
Color ΔE between colors≥ 20 (CIE L*u*v*)
Touch target size15–38 mm
Touch target separation3–6 mm
Touch response latency≤ 100 ms
Processing indicatorAfter 1 second
Progress barAfter 10 seconds
Error message latency≤ 0.2 seconds
Max colors for categories11
Max brightness levels2 (separated by ≥ 2:1)
Max size coding levels3 (each ≥ 150% of smaller)
Max flash rates2
Warning flash rate3–5 Hz
Max submenu depth3 levels
Max portlets per page7
Table row groupingEvery 5 rows
Pixel stroke width range0.0834–0.1667 of pixel height
Colored text min size5.8 mrad (20 min arc)
Speech output rate150–180 wpm
Audio recognition time≤ 0.5 seconds
Night ambient max0.001 lx