IntroductionΒΆ
What is Nexus?ΒΆ
Nexus is a world-class embedded software development platform designed for building reliable, secure, and portable embedded applications. It provides a comprehensive set of abstraction layers and middleware components that enable developers to write code once and deploy across multiple MCU families.
Key FeaturesΒΆ
Unified APIs: Consistent interfaces across different hardware platforms
Portability: Write once, run on multiple MCU families (STM32, ESP32, nRF52)
Quality: MISRA C compliant, thoroughly tested code with 90%+ coverage
Security: Built-in security features for IoT applications
Real-time: Support for FreeRTOS and bare-metal configurations
Ecosystem: Rich middleware, cloud integration, and tooling
Why Nexus?ΒΆ
For Embedded Developers:
Reduce time-to-market with ready-to-use components
Focus on application logic instead of low-level drivers
Easy migration between MCU platforms
For Teams:
Consistent coding standards across projects
Comprehensive documentation and examples
Active community and support
Architecture OverviewΒΆ
Nexus follows a layered architecture that separates hardware-specific code from application logic:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Applications β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Middleware β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β Shell β β Log β β Config β β Event β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β OSAL β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β Task β β Mutex β β Queue β β Timer β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β HAL β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β GPIO β β UART β β SPI β β I2C β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Platform / Hardware β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β STM32F4 β β STM32H7 β β ESP32 β β nRF52 β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Layer DescriptionsΒΆ
- Application Layer
User applications built on top of Nexus platform.
- Middleware Layer
Common services including logging, shell, configuration management, and event handling.
- OSAL (OS Abstraction Layer)
Portable interface for RTOS primitives: tasks, mutexes, semaphores, queues, and timers. Supports FreeRTOS and bare-metal backends.
- HAL (Hardware Abstraction Layer)
Unified API for hardware peripherals: GPIO, UART, SPI, I2C, Timer, ADC. Hides hardware differences from application code.
- Platform Layer
MCU-specific implementations including startup code, linker scripts, and vendor SDK integration.
Supported PlatformsΒΆ
Platform |
MCU |
Status |
RTOS Support |
|---|---|---|---|
STM32F4 |
STM32F407VGT6 |
β |
FreeRTOS, Bare |
STM32H7 |
STM32H743ZIT6 |
π§ |
FreeRTOS, Bare |
ESP32 |
ESP32-WROOM-32 |
π§ |
FreeRTOS |
nRF52 |
nRF52840 |
π§ |
FreeRTOS, Zephyr |
Native |
x86/x64 |
β |
pthreads |
Legend: β Supported, π§ In Progress
Project StructureΒΆ
nexus/
βββ hal/ # Hardware Abstraction Layer
β βββ include/ # Public headers
β βββ src/ # Common HAL code
βββ osal/ # OS Abstraction Layer
β βββ include/ # Public headers
β βββ adapters/ # RTOS adapters (FreeRTOS, native)
βββ framework/ # Middleware components
β βββ log/ # Logging framework
βββ platforms/ # Platform-specific code
β βββ stm32f4/ # STM32F4 platform
β βββ native/ # Native (PC) platform
βββ applications/ # Example applications
βββ tests/ # Unit tests
βββ docs/ # Documentation
βββ cmake/ # CMake modules and toolchains
LicenseΒΆ
Nexus is released under the MIT License. See the LICENSE file for details.
Getting StartedΒΆ
Ready to start? Follow these guides:
Installation - Set up your development environment
Quick Start - Build your first Nexus application
Architecture - Deep dive into the architecture