Raymon-Lib-STM32 is a collection of embedded C/C++ utilities, peripheral examples, and experiments for STM32 microcontrollers. The repository is organized by feature rather than as a single installable package. Each component may have its own hardware, STM32 HAL, compiler, or library requirements.
| Component | Purpose | Requirements / notes |
|---|---|---|
| QBuffer | Fixed-capacity byte buffer, packet framing, CRC and command parsing | Header-only C++; review API and buffer limits |
| QPacket | Packet framing with markers, length, counter and CRC | Uses QCRC; inspect QCommand too |
| FlashEEPROM | Store and restore a structure in internal flash | STM32 HAL and project main.h; target flash layout must be checked |
| PrintfUart | Formatted UART input/output | STM32 HAL and project main.h |
| Servo Motor SG90 | PWM-based servo example | Existing guide uses STM32F1/TIM2 as its example |
| FFT for STM32H743 | FFT example using CMSIS-DSP | Compatible CMSIS-DSP and target configuration |
| Bootloader jump | MCU-specific bootloader jump | Verify exact MCU and memory map; potentially unsafe |
| Lock program in code | Read-protection / firmware-locking notes | Potentially destructive; review before use |
| Bluetooth example | Module-specific Bluetooth code | Hardware and protocol dependent |
| PW05 Bluetooth | UART-based Bluetooth module control | Firmware, AT commands and GPIO wiring dependent |
| ILI9488 TFT | SPI TFT display and drawing APIs | Multiple conflicting variants; select and validate one only |
| cUart | C++ streams backed by UART | Blocking UART streams; read limitations before use |
| C/C++ rename helpers | Rename main.c / main.cpp | Renames only; does not convert source code |
This catalogue is based on files currently present in the repository. It does not claim that every component has been compiled or hardware-validated.
- Clone the repository.
- Open the folder for the component you need and read its local README.
- Start from an STM32CubeIDE / STM32CubeMX project configured for the exact MCU, clock tree, pins and peripherals.
- Add only the required files and configure include paths, STM32 HAL, and external dependencies.
- Build for the target and test on hardware with a safe recovery procedure.
git clone https://github.com/Raymon-Research-Team/Raymon-Lib-STM32.gitThere is no verified repository-wide build system or single installation command documented here. Components must be integrated individually.
- Internal flash: FlashEEPROM erases a calculated flash region before writing. Verify the reference manual, erase granularity, banks, reserved pages, and linker map before use.
- Bootloader / read protection: Incorrect addresses or protection settings can make firmware inaccessible or require a full-chip erase.
- PWM / servo: Timer period, prescaler, channel, and GPIO settings depend on the MCU and clock tree.
- FFT: CMSIS-DSP version, compiler settings, memory placement, and FPU configuration affect integration.
- No blanket compatibility guarantee: Source presence does not establish support for every STM32 family or board.
Include the MCU part number, board, toolchain version, HAL/CMSIS versions, build output, and reproducible steps in bug reports. Do not describe a component as hardware-validated unless it was tested on the specified target.
If these STM32 utilities save you time, donations help support continued development, hardware testing, maintenance, and documentation. Donations are voluntary and do not change the repository license or grant additional usage rights.
Verify the network before sending. BTC must be sent on the Bitcoin network; the ETH/USDT address below is for Ethereum (ERC-20). Network mismatches can permanently lose funds.
|
|
|
| ⭐ Star the repository |
🐛 Report a bug |
🧪 Test a component |
📝 Improve documentation |
After donating, you can email rahman.h22@gmail.com with the transaction ID if you would like to notify the maintainer. Do not send private keys or seed phrases.
The repository's top-level LICENSE declares the MIT License, which permits commercial use subject to its terms. External dependencies remain subject to their own licenses; see Licensing Notes.
Maintained by Raymon Research Team.
