# whitecatboard/lua-rtos-esp32

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/whitecatboard-lua-rtos-esp32).**

1,320 stars · 239 forks · C · NOASSERTION

## Links

- GitHub: https://github.com/whitecatboard/Lua-RTOS-ESP32
- awesome-repositories: https://awesome-repositories.com/repository/whitecatboard-lua-rtos-esp32.md

## Topics

`esp32` `espressif` `freertos` `iot` `iot-platform` `lora` `lorawan` `lua` `lua-rtos` `rtos`

## Description

Lua RTOS for ESP32 is a real-time operating system designed for ESP32 microcontrollers that integrates a lightweight Lua interpreter to manage hardware resources and application logic. It utilizes a micro-kernel architecture to provide preemptive task scheduling, ensuring deterministic timing and reliable concurrency for embedded operations on resource-constrained hardware.

The system distinguishes itself by providing a unified hardware abstraction layer that maps high-level programming commands directly to peripheral registers. This allows developers to interact with sensors, actuators, and communication buses through simplified interfaces while maintaining the performance requirements of a real-time environment.

The platform includes a comprehensive suite of development tools for custom firmware engineering, enabling users to compile and flash tailored binary images to specific hardware configurations. It also features a serial console interface for direct system interaction, facilitating the development and execution of scripts that control physical electronic components.

## Tags

### Operating Systems & Systems Programming

- [Real-Time Operating Systems](https://awesome-repositories.com/f/operating-systems-systems-programming/real-time-operating-systems.md) — Manages concurrent tasks and hardware operations within a micro-kernel to ensure strict timing requirements.
- [Preemptive Multitasking Kernels](https://awesome-repositories.com/f/operating-systems-systems-programming/preemptive-multitasking-kernels.md) — Utilizes a micro-kernel scheduler to force context switches and ensure deterministic timing for embedded tasks.
- [Custom Firmware](https://awesome-repositories.com/f/operating-systems-systems-programming/custom-firmware.md) — Enables building and flashing tailored operating system images to support specific hardware requirements.
- [Hardware Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-abstraction-layers.md) — Provides a consistent API for interacting with diverse hardware drivers and peripheral registers.

### Development Tools & Productivity

- [Embedded Scripting Engines](https://awesome-repositories.com/f/development-tools-productivity/task-automation-scripts/embedded-scripting-engines.md) — Allows writing and executing scripts directly on microcontrollers to control hardware components.
- [Application-Embedded Evaluators](https://awesome-repositories.com/f/development-tools-productivity/embedded-expression-execution/application-embedded-evaluators.md) — Allows developers to execute scripts or code on microcontrollers to define application logic. ([source](https://github.com/whitecatboard/lua-rtos-esp32#readme))

### Hardware & IoT

- [Embedded Scripting Runtimes](https://awesome-repositories.com/f/hardware-iot/iot-device-development/embedded-scripting-runtimes.md) — Provides a dedicated interpreter to run scripts on microcontrollers with direct access to hardware peripherals. ([source](https://github.com/whitecatboard/lua-rtos-esp32#readme))
- [ESP32 Firmware Frameworks](https://awesome-repositories.com/f/hardware-iot/microcontroller-firmware-frameworks/esp32-firmware-frameworks.md) — Provides a real-time operating system for ESP32 microcontrollers that executes Lua scripts for hardware management.
- [Hardware Peripheral Control](https://awesome-repositories.com/f/hardware-iot/hardware-peripheral-control.md) — Simplifies interaction with sensors, actuators, and communication buses using high-level programming abstractions.
- [Hardware Peripheral Drivers](https://awesome-repositories.com/f/hardware-iot/hardware-peripheral-drivers.md) — Manages communication protocols and hardware signals through modular software components.
- [Peripheral Hardware Controllers](https://awesome-repositories.com/f/hardware-iot/peripheral-hardware-controllers.md) — Provides high-level programming abstractions to interact with physical components on microcontrollers. ([source](https://github.com/whitecatboard/lua-rtos-esp32#readme))

### Programming Languages & Runtimes

- [Bytecode Interpreters](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-interpreters.md) — Executes application logic by interpreting compiled bytecode on resource-constrained hardware.
- [Embedded Lua Scripting](https://awesome-repositories.com/f/programming-languages-runtimes/embedded-lua-scripting.md) — Integrates a lightweight scripting environment for direct access to hardware components on constrained platforms.

### Software Engineering & Architecture

- [Concurrent Task Runners](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-task-runners.md) — Synchronizes multiple concurrent operations within a micro-kernel to ensure reliable embedded system performance. ([source](https://github.com/whitecatboard/lua-rtos-esp32#readme))

### Part of an Awesome List

- [Operating Systems](https://awesome-repositories.com/f/awesome-lists/devops/operating-systems.md) — Real-time OS for ESP32 embedded systems.
