JQBSTM32 Framework v1.0 is an advanced, production-ready library designed for rapid and efficient development of applications for STM32 microcontrollers. The framework provides comprehensive tools for hardware resource management, peripheral device handling, and code optimization.
- 🎯 Stable API - Ready for use in production projects
- ⚡ High Performance - Optimized algorithms and memory management
- 🔧 Modularity - Use only the components you need
- 📚 Complete Documentation - Detailed examples and API reference
- 🛡️ GPL v3.0 Compliance - Legally verified implementation
- 🔄 Easy Integration - Works with STM32CubeMX and PlatformIO
- Analog/ADC - Analog-to-digital converter handling with calibration
- I2C - I2C communication with multi-device support
- SPI - SPI interface for high-speed communication
- UART - Serial communication with RS232/RS485 support
- Timer/PWM - Timer management and PWM generation
- GPIO - I/O port control
- OneWire - OneWire protocol for temperature sensors
- USB CDC - USB communication as virtual serial port
- CAN/FDCAN - CAN bus for automotive systems
- Flash Memory - Internal flash memory management
- DS18B20 - OneWire digital temperature sensors
- EEP24C04/EEP24C256 - I2C EEPROM memories
- FM25V05 - SPI FRAM memory
- PCF8583 - I2C real-time clock
- SED1520 - LCD display controller
- DFR0646 - Display module
- TMC2209 - Stepper motor driver
- Modbus - Modbus RTU/ASCII communication protocol
- RegisterBank - Register bank system for configuration data
- MemoryBlock - Memory block management
- Menu System - Menu system for user interfaces
- Math Utils - Mathematical functions
- Scheduler - Advanced task scheduler
- Microcontrollers: STM32 (almost all series)
- Tools: STM32CubeMX for pin configuration
- Platform: PlatformIO
- IDE: Visual Studio Code with PlatformIO extension
- Framework: STM32Cube HAL
- Compiler: GCC ARM
- Windows 10/11
- macOS 10.15+
- Linux (Ubuntu 18.04+)
# platformio.ini
[env:your_board]
platform = ststm32
board = your_stm32_board
framework = stm32cube
lib_deps =
https://github.com/JAQUBA/JQBSTM32_Framework.git
git submodule add https://github.com/JAQUBA/JQBSTM32_Framework.git lib/JQBSTM32
git submodule update --init --recursive
Issues can be reported through GitHub Issues
Questions and discussions: GitHub Discussions
Detailed documentation available in the docs/
folder and on GitHub Wiki
We welcome contributions! See CONTRIBUTING.md to learn how to:
- Report bugs
- Propose new features
- Create pull requests
- Write documentation
This project is licensed under the GNU General Public License v3.0 or later. See the LICENSE file for detailed information.
- All source files contain appropriate copyright headers
- Used standard algorithms are properly documented
- Framework can be freely used, modified and distributed according to GPL terms
- See ACKNOWLEDGMENTS file for information about used standards
If you use this framework in your project, remember that GPL v3.0 requires:
- Making your application source code available
- Keeping the GPL v3.0 license for the entire project
- Including license and copyright information
More information: https://www.gnu.org/licenses/gpl-3.0.html
- JAQUBA - Main author and maintainer
- GitHub: @JAQUBA
- Email: kjakubowski0492@gmail.com
JQBSTM32 Framework - Accelerate your STM32 project development! 🚀