This repository contains the Momentum firmware for a multi-protocol wireless device (Flipper Zero). It implements a modular embedded operating system with hardware abstraction layer (HAL) for STM32 microcontrollers, supporting NFC, Sub-GHz, infrared, iButton, GPIO, Bluetooth, and USB protocols. The firmware features a scene-based UI framework, service-oriented architecture (power, storage, GUI, notification), plugin system for extensibility, and JavaScript scripting capability. Key architectural patterns include resource management via furi_record, event-driven communication using Furi's kernel primitives, and consistent GUI module design. The codebase demonstrates strong embedded systems craftsmanship with clear separation of concerns, reusable components, and active maintenance.
grblHAL/core is an embedded firmware for real-time CNC motion control, derived from the original grbl 1.1f project. It interprets G-code (RS274/NGC) and executes motion planning with acceleration/jerk profiles, driving stepper motors via a hardware abstraction layer (HAL) that supports many 32-bit MCUs (ESP32, STM32, RP2040, i.MX RT, etc.). The architecture is modular: a plugin system allows adding spindles, I/O expanders, kinematics (CoreXY, delta, polar, wall plotter), networking, and custom M-codes. Key subsystems include a G-code parser, motion planner with look-ahead, stepper ISR with Bresenham and AMASS, state machine, settings registry with NVS persistence, virtual file system, and cooperative task scheduler. Communication streams (serial, TCP, WebSocket, Modbus) are multiplexed. The codebase is highly optimized for real-time constraints, uses extensive conditional compilation for configurability, and provides reusable patterns such as function-pointer-based HAL, callback chaining, and abstracted I/O. While some internal coupling exists, many modules (crc, regex, utf8, string utilities, PID, expression evaluator, task scheduler) are self-contained and extractable.