Новаком
IOT

Zephyr vs FreeRTOS: какую RTOS выбрать для IoT-проекта в 2026 году

Сравнение Zephyr и FreeRTOS по 7 критериям: архитектура, сетевой стек, безопасность, размер бинарника, экосистема. Таблица выбора для IoT, носимых устройств и промышленных контроллеров.

Н
Новаком
2026-05-21 · 12 минут чтения

Зачем IoT-устройству RTOS

Если ваш датчик считывает температуру раз в минуту и отправляет значение по UART — RTOS не нужна. Хватит суперцикла (while(1)) и пары прерываний. Но как только появляется второе, третье, десятое требование — BLE-стек, OTA-обновления, TLS-шифрование, работа с датчиками по нескольким интерфейсам одновременно — bare-metal превращается в спагетти из флагов и state-машин.

RTOS решает три задачи:

  • Многозадачность: несколько потоков работают «параллельно» с предсказуемым поведением
  • Детерминизм: гарантированное время реакции на событие (прерывание → обработка за N микросекунд)
  • Абстракция железа: драйверы, сетевые стеки, файловые системы — готовые, отлаженные, с API

В 2026 году два основных кандидата для IoT — FreeRTOS и Zephyr. Оба бесплатные, оба с открытым исходным кодом, оба поддерживают десятки микроконтроллеров. Но философия и возможности у них принципиально разные.

FreeRTOS: ветеран embedded-мира

FreeRTOS появился в 2003 году. С 2017 года принадлежит Amazon (AWS). Это минимальное ядро реального времени: планировщик задач, очереди, семафоры, таймеры. Всё остальное — опционально.

Архитектура

Ядро FreeRTOS — это ~9 000 строк кода на C. Настолько компактно, что его можно прочитать за выходные. Это и сильная сторона, и ограничение:

  • Планировщик: приоритетный, с вытеснением (preemptive) или кооперативный
  • Память: статическое или динамическое выделение (5 схем heap на выбор)
  • Синхронизация: семафоры, мьютексы (с наследованием приоритетов), очереди, event groups
  • Таймеры: программные, с выделенным daemon-потоком

Минимальный бинарник FreeRTOS занимает 6–10 КБ Flash и ~1 КБ RAM. Это позволяет запускать его на самых маленьких Cortex-M0 с 16 КБ Flash.

Экосистема (FreeRTOS+)

Amazon выстроил вокруг ядра экосистему FreeRTOS Libraries:

  • FreeRTOS+TCP: TCP/IP стек (IPv4/v6)
  • coreMQTT: MQTT-клиент для AWS IoT Core
  • corePKCS11: криптография и сертификаты
  • AWS IoT OTA: обновления прошивок через облако
  • FreeRTOS+FAT: файловая система

Проблема: эти библиотеки хорошо интегрированы с AWS, но за пределами экосистемы Amazon начинаются сложности. BLE-стек? Нужен NimBLE или vendor-specific. Thread/Matter? Не поддерживается из коробки. LoRa? Сторонняя библиотека.

Кому подходит FreeRTOS

  • Проекты с жёсткими ограничениями по Flash/RAM (менее 64 КБ)
  • Интеграция с AWS IoT Core
  • Команда, которая привыкла к FreeRTOS и не хочет переучиваться
  • Простые устройства с 1–2 интерфейсами связи

Zephyr: Linux-подход к embedded

Zephyr стартовал в 2016 году под эгидой Linux Foundation. За ним стоят Intel, Nordic Semiconductor, NXP, Texas Instruments и ещё 1 000+ участников. Это не просто ядро — это полноценная операционная система для embedded.

Архитектура

Zephyr использует Linux-подобную модель:

  • Device Tree: описание железа в отдельном файле (.dts), а не в коде. Один и тот же драйвер работает на разных платах без #ifdef
  • Kconfig: конфигурация системы через menuconfig, как в ядре Linux
  • West: мета-инструмент для сборки, прошивки, управления зависимостями (аналог repo/cmake/west в одном)
  • Модульная архитектура: ядро, драйверы, стеки — всё подключается через Kconfig

Ядро Zephyr поддерживает:

  • Потоки: приоритетный планировщик с вытеснением
  • Синхронизация: мьютексы, семафоры, condition variables, mailboxes, pipes
  • Memory domains: изоляция памяти между потоками (на MCU с MPU)
  • Userspace: разделение привилегированного и пользовательского кода

Сетевой стек — главное преимущество

Здесь Zephyr доминирует:

ПротоколFreeRTOSZephyr
TCP/IP (IPv4/v6)FreeRTOS+TCPВстроенный
BLE 5.3+NimBLE (сторонний)Встроенный
802.15.4 (Thread/Zigbee)НетВстроенный
MatterНетОфициальная платформа
LoRaWANСтороннийВстроенный
Wi-FiVendor-specificВстроенный (с драйверами)
6LoWPANНетВстроенный
CoAPСтороннийВстроенный
LwM2MНетВстроенный
CAN / CAN FDНетВстроенный

Zephyr — официальная референсная платформа для Matter (протокол умного дома от Apple, Google, Amazon). Если вы делаете устройство для экосистемы Matter — выбор очевиден.

Безопасность

Zephyr серьёзно подходит к безопасности IoT-устройств:

  • MCUboot: безопасный загрузчик с проверкой подписи, A/B-обновлениями, откатом
  • TF-M (Trusted Firmware-M): изолированное выполнение на Cortex-M33/M55 с TrustZone
  • PSA Certified: Zephyr сертифицирован по PSA Level 1
  • Crypto API: единый интерфейс к mbedTLS, tinycrypt, hardware-ускорителям

FreeRTOS предлагает corePKCS11 и интеграцию с AWS, но без MCUboot, без TF-M, без PSA-сертификации.

Сравнение по критериям

1. Размер и ресурсы

ПараметрFreeRTOSZephyr
Минимальный бинарник6–10 КБ Flash30–50 КБ Flash
Минимум RAM~1 КБ~8 КБ
С BLE-стеком80–120 КБ (NimBLE)150–200 КБ
С TCP/IP + TLS100–150 КБ200–300 КБ
Целевые MCUCortex-M0 и вышеCortex-M3 и выше (реально)

FreeRTOS выигрывает на маленьких чипах. Если у вас STM32F0 с 32 КБ Flash — Zephyr просто не влезет.

2. Поддерживаемые платформы

АрхитектураFreeRTOSZephyr
ARM Cortex-MВсеВсе
ARM Cortex-AДаДа
RISC-VДаДа
Xtensa (ESP32)Да (ESP-IDF)Да
x86ОграниченноДа
ARCНетДа
MIPSДаНет
Количество BSP~40 портов600+ плат

Zephyr поддерживает в 15 раз больше плат. Новые чипы от Nordic, NXP, STM появляются в Zephyr в первую очередь — вендоры поддерживают свои BSP в upstream.

3. Инструменты разработки

ПараметрFreeRTOSZephyr
Система сборкиCMake / Make / IDE-зависимаяCMake + West
Конфигурация#define в headerKconfig (menuconfig)
Описание железаВ коде (HAL/BSP)Device Tree
ОтладкаGDB, J-Link, любая IDEGDB, J-Link, VS Code (extension)
ТестированиеНет встроенногоZtest (юнит-тесты), Twister (CI)
Статический анализВнешнийВстроенный (с Kconfig)

Порог входа в FreeRTOS ниже: скачал, добавил файлы в проект, написал xTaskCreate(). Zephyr требует установки west, SDK, изучения Kconfig и Device Tree — кривая обучения круче.

Но для серийного продукта инструменты Zephyr окупаются: Device Tree позволяет портировать прошивку на новую плату за часы, а Twister запускает тесты на сотнях конфигураций в CI.

4. Коммерческая поддержка и сообщество

ПараметрFreeRTOSZephyr
ВладелецAmazon (AWS)Linux Foundation
ЛицензияMITApache 2.0
Коммерческая поддержкаAWS, WITTENSTEIN (SafeRTOS)Nordic, Intel, Golioth, Foundries.io
GitHub stars~5 500~10 000+
Релизный циклНерегулярныйКаждые 4 месяца (LTS каждые 2 года)
СертификацииSafeRTOS (IEC 61508, DO-178C)PSA Certified Level 1
Вендорский buy-inAWSNordic, NXP, Intel, TI, Renesas

FreeRTOS имеет сертифицированную версию SafeRTOS для safety-critical систем (автомотив, медицина, авиация). Zephyr пока не сертифицирован по IEC 61508, но работа ведётся.

NuttX: третий вариант

Стоит упомянуть NuttX — POSIX-совместимую RTOS, которую использует Sony (камеры), Samsung (Tizen) и Xiaomi (умный дом). NuttX предоставляет полный POSIX API — ваш embedded-код выглядит как обычная Linux-программа: open(), read(), write(), pthread_create().

Когда NuttX имеет смысл:

  • Переносите код с Linux на MCU
  • Команда знает POSIX, но не знает FreeRTOS/Zephyr API
  • Нужна файловая система, сеть, USB — всё в одной ОС

Минус: сообщество меньше, документация слабее, поддержка новых чипов медленнее.

Матрица выбора

Ваш проектРекомендацияПочему
Датчик на батарейке, Cortex-M0, 32 КБ FlashFreeRTOSZephyr не влезет
BLE-устройство на Nordic nRF52/nRF53ZephyrNordic поддерживает Zephyr как основную платформу
Matter-устройство для умного домаZephyrОфициальная референсная платформа
AWS IoT интеграцияFreeRTOSНативные библиотеки для AWS
Thread/Zigbee mesh-сетьZephyrВстроенный 802.15.4 стек
Промышленный контроллер с CANZephyrCAN/CAN FD из коробки
Носимое устройство (фитнес-трекер)ZephyrBLE + Display + Sensors — всё встроено
ESP32 проектESP-IDF (FreeRTOS внутри)Лучшая интеграция с Espressif
Safety-critical (IEC 61508)SafeRTOSЕдинственный сертифицированный
Быстрый прототип, малая командаFreeRTOSНиже порог входа
Серийный продукт 100K+ шт.ZephyrDevice Tree, CI, LTS, вендорская поддержка

Тренд: куда движется индустрия

В 2024–2026 годах наблюдается явный сдвиг в сторону Zephyr:

  • Nordic Semiconductor перевёл nRF Connect SDK полностью на Zephyr (nRF5 SDK устарел)
  • NXP активно коммитит в upstream Zephyr
  • Matter (бывший Project CHIP) использует Zephyr как основную embedded-платформу
  • Golioth, Foundries.io, Memfault — экосистема IoT-сервисов строится вокруг Zephyr

FreeRTOS никуда не денется — у него огромная installed base и поддержка Amazon. Но для новых проектов с BLE, Thread, Matter, OTA — Zephyr становится стандартом де-факто.

Итого

  • FreeRTOS — когда нужно минимальное ядро, мало ресурсов, простое устройство или привязка к AWS. Проверенное решение с 20-летней историей.
  • Zephyr — когда нужен полноценный сетевой стек, безопасность, Matter/Thread, серийное производство. Будущее embedded IoT.
  • NuttX — когда нужен POSIX API и портирование Linux-кода на MCU.

Главная ошибка — выбирать RTOS по знакомству. FreeRTOS проще начать, но если через полгода понадобится OTA с подписью, BLE mesh или Thread — придётся переписывать с нуля. Закладывайте требования на 2 года вперёд.


Проектируете IoT-устройство и не уверены в выборе платформы? Мы делаем экспресс-аудит IoT-идеи за 25 000 ₽: архитектура, компоненты, RTOS, стоимость прототипа — за 5 рабочих дней. Или посмотрите наши услуги по IoT и embedded-разработке.

РАЗРАБОТКА

Нужна похожая задача?

Обсудим вашу задачу и предложим решение за 30 минут.

Обсудить проект