explaingit

openatomfoundation/tobudos

5,955Audience · developerComplexity · 4/5Setup · hard

TLDR

TobudOS (formerly TencentOS Tiny) is a real-time operating system for IoT microcontrollers, built to run on tiny low-power chips like STM32. It includes built-in IoT communication support for MQTT, LoRaWAN, and TLS so devices can connect securely to cloud platforms.

Mindmap

mindmap
  root((repo))
    What it does
      Real-time OS for IoT
      Event-driven scheduling
      Low power operation
    Tech Stack
      C kernel
      MQTT and CoAP
      LoRaWAN
      NB-IoT
    Use Cases
      Smart home sensors
      Industrial equipment
      Cloud-connected devices
    Audience
      Embedded developers
      IoT hardware teams
    Setup
      STM32 MCU board
      Cross-compile toolchain
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a smart home sensor on an STM32 microcontroller that sends data to a cloud platform over MQTT.

USE CASE 2

Port an IoT application to different microcontroller chip families using the modular TobudOS kernel.

USE CASE 3

Add secure cloud connectivity to an IoT device using the built-in TLS and CoAP communication stack.

USE CASE 4

Develop industrial IoT equipment with predictable real-time response times on low-memory hardware.

Tech stack

CMQTTCoAPTLSDTLSLoRaWANNB-IoT

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a target microcontroller board such as STM32 and an embedded cross-compilation toolchain, the main active repository has moved to atomgit.com/tobudos.

In plain English

TobudOS is a real-time operating system (RTOS) designed for IoT devices. An RTOS is an operating system built to respond to hardware events within precise time constraints, which matters for devices like sensors, smart home controllers, and industrial equipment that must react quickly and predictably. The project started as TencentOS Tiny, an IoT operating system developed by Tencent. In October 2020, Tencent donated the project to the OpenAtom Open Source Foundation for open-source incubation. In 2023, the project was officially renamed TobudOS. Tencent continues to contribute to it as an upstream participant, while TencentOS Tiny continues as a commercial downstream product serving Tencent's own business needs. TobudOS is designed to run on microcontrollers, which are small, low-cost chips used in IoT hardware such as the STM32 series from STMicroelectronics. Its design priorities are low power consumption, low memory usage, modular architecture, and security. The kernel components can be trimmed and configured to match the specific constraints of a target device, and the system can be ported to multiple MCU families. Beyond the kernel, TobudOS includes a set of IoT communication components covering common protocols: CoAP, MQTT, TLS, DTLS, LoRaWAN, and NB-IoT. These components allow IoT devices to connect securely to cloud platforms. The active code repository has moved to atomgit.com/tobudos, the code hosting platform run by the OpenAtom Foundation. The original GitHub repository now serves as a notice pointing developers to the new location.

Copy-paste prompts

Prompt 1
I am building an IoT sensor on an STM32 microcontroller. Help me get started with TobudOS and configure MQTT to send sensor data to a cloud platform.
Prompt 2
How do I port TobudOS to a custom MCU family and trim the kernel to fit within tight memory constraints?
Prompt 3
Show me how to use the LoRaWAN component in TobudOS to send sensor data over a low-power wide-area network.
Prompt 4
How does TobudOS handle real-time task scheduling on microcontrollers with very limited RAM?
Prompt 5
I want to add TLS-secured communication to my IoT device running TobudOS. What configuration steps are needed?
Open on GitHub → Explain another repo

← openatomfoundation on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.