Product

VMIOT — A lightweight operating system built for IoT

What is VMIOT?

VMIOT is a lightweight operating system designed specifically for IoT devices. Built with a pure C89 kernel and featuring a complete Python 2.7 scripting engine, it enables developers to efficiently build embedded IoT applications using Python.

Requiring only 200KB RAM and 500KB Flash, VMIOT can be deployed across the full spectrum of IoT hardware, from low-power NB-IoT chips to high-performance Android devices.

System Architecture

Application Layer

Python Scripts Business Logic Custom Modules

VMIOT Runtime

Python Engine Scheduler Memory Mgmt Serialization

Middleware

MQTT HTTP WebSocket Protobuf GPS AV HSM

Hardware Abstraction

GPIO UART I2C ADC TCP/IP Flash

Hardware

4G NB-IoT WiFi Video Linux RTOS Android

Core Capabilities

Python 2.7 Scripting Engine

  • Object-oriented (classes, inheritance)
  • Functional (closures, decorators, generators)
  • Exception handling (try/except/finally)
  • List comprehensions, lambda expressions
  • Lightweight embedded-optimized implementation

Multi-tasking System

  • Preemptive thread scheduling
  • Job process-level tasks (state isolation)
  • Thread Link lifecycle management
  • Auto-restart service mechanism
  • Critical sections & interlocked objects

Networking

  • TCP Client/Server
  • MQTT Messaging Protocol
  • HTTP Client
  • WebSocket Bidirectional
  • Single-read multi-write IO model

Serialization

  • JSON marshal/unmarshal
  • Struct binary packing
  • Google Protobuf
  • Object serialization (dict/list/rbdict)
  • XML support

Hardware IO

  • GPIO digital IO
  • UART Serial
  • I2C Bus
  • ADC Analog-digital
  • Flash File system

Advanced

  • GPS/LBS positioning
  • Audio/video capture & streaming
  • HSM Hardware Security Module
  • C language extension modules
  • Dynamic code execution

Development Toolchain

vmiotman.exe

Project manager — compile, run, and debug in one tool

vmiotman.exe /vmiotcompile && vmiotman.exe /vmiotrun

main_img.vmiot

Build artifact — binary image deployable to target devices

# Auto-generated after compilation

Sub-project System

Nested projects, independent testing, modular reuse

project/subproject/main.py
An unhandled error has occurred. Reload 🗙