I'm an electronics engineer and embedded systems developer. For more than 20 years I've been writing C for STM32 microcontrollers, and most of that time has gone into one goal: making libraries that are actually easy to use.
I got tired of fighting messy drivers and overcomplicated code, so I started writing my own, cleaning them up, and sharing them with anyone who needs them.
Lightweight, non-blocking, easy to drop in C libraries for STM32 (HAL and LL), covering storage, communication, sensors and general drivers. The idea is always the same: add the library to your project and have it working in minutes, not days.
Installing one of my libraries takes one command. stm32-installer copies the files into your project, creates your config file, and adds the library to your CMake, STM32CubeIDE, Keil or IAR project, backing up the project file first.
pip install stm32-installer
stm32-installer nimaltd/sequencerLibraries you can install with it:
| Library | Description | Install |
|---|---|---|
| sequencer | Non blocking state sequencer and interrupt task queue for STM32 | stm32-installer nimaltd/sequencer |
The rest are moving to it one by one, and this list grows as they do.
Every library I publish is free and open source. It's my way of giving something back to the embedded community that taught me so much over the years.
If a library saves you time, a ⭐ on the repo or a small donation on Ko-fi means a lot to me. It's a small thing for you, but it genuinely keeps me motivated to keep writing, documenting and maintaining these libraries.
- Over 20 years across embedded programming, electronics design and hardware testing
- 🥉 Third place, National Skills Competition of Electronic Engineering, Iran, 2003
- B.Sc. in Electronic Engineering, Chamran University, Rasht
| Library | Description | Stars |
|---|---|---|
| spif | SPI Flash driver for W25Qxx, N25Qxx and other chips, STM32 HAL | |
| ee | EEPROM emulation for STM32 | |
| atc | AT command parser for STM32 | |
| gsm_v5 | GSM module library for STM32 LL | |
| ds18b20 | Non-blocking DS18B20 driver for STM32 | |
| ee24 | 24xx series EEPROM library for STM32 HAL | |
| NMEA | GPS NMEA parser for STM32 LL |
👉 See all my repositories for the rest, including sequencer, ow, tm1637, pb, ws28xx, HX711, DHT and more.
Thanks for stopping by. If any of my work is useful to you, a star on the repo or a small donation helps more than you'd think, and I appreciate every bit of it. ⚙️