Skip to content

A curated list of awesome libraries, tutorials, projects and other related to MCU Embedded domain(almost C language). This repository aims to be a comprehensive and organized collection that will help MCU embedded developers in the world!

Notifications You must be signed in to change notification settings

mintisan/awesome-mcu-embedded

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 

Repository files navigation

Awesome MCU Embedded

Awesome Contributions Commits GitHub stars

A curated list of awesome libraries, tutorials, projects and other related to MCU Embedded domain(almost C language). This repository aims to be a comprehensive and organized collection that will help MCU embedded developers in the world!

Table of Contents

package manager

  • clib : Package manager for the C programming language.
  • C_std : Implementation of C++ standard libraries in C
  • conan : Conan - The open-source C and C++ package manager
  • stb : stb single-file public domain libraries for C/C++

libc

sdk

utility

programming framework

rtos

event

vm

  • MicroPython : a lean and efficient Python implementation for microcontrollers and constrained systems
  • PikaPython : An ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is ready to use out of the box without any configuration required and easy to extend with C. Similar project: MicroPython, JerryScript.
  • Rust Embedded : Enabling usage of Rust on Embedded Platforms (Embedded Linux / RTOS / Bare Metal)

thread

coroutine

Finite State Machine (FSM)

  • At-FSM : At-FSM is an open and user-friendly embedded Finite State Machine (FSM) included the Primitive State Machine (PSM) and Hierarchical State Machine (HSM).
  • State Machine Design in C : A compact C finite state machine (FSM) implementation that's easy to use on embedded and PC-based systems.

oop framework

memory manager

dynamic malloc

  • lwmem : 可控可调,挺好/realloc 有问题
  • libmemory : Embedded systems memory management library. Implementations for malloc(), free(), and other useful memory management functions
  • umm_malloc : Memory Manager For Small(ish) Microprocessors
  • Doug Lea's malloc : g.oswego.edu/
  • tbman : Memory Manager - Fast, Scalable and Easy to use
  • O(1) heap : Constant-complexity deterministic memory allocator (heap) for hard real-time high-integrity embedded systems. There is very little activity because the project is finished and does not require further changes.

buffer

queue

  • wl_queue : 一个C语言编写的支持任意类型的环形队列.

fifo

  • fifofast : A fast, generic fifo for MCUs.

frame packet

debug

printf

log

Tracer

compression

ImageCodec

  • Quite OK Image Format : The “Quite OK Image Format” for fast, lossless image compression
    • qoir : A fast, simple, lossless image file format.
    • QOIX : Image encoding and decoding library for D. Detailed layout control. Experimental codec QOIX.

PNG

JPG

GIF

file manager

flash

  • SFUD
  • Flash Circular Buffer (FCB) : Flash circular buffer provides an abstraction through which you can treat flash like a FIFO. You append entries to the end, and read data from the beginning.

flash database

file system

json

communication

usb

bluetooth

TCP/IP

mqtt

  • mqttclient : A high-performance, high-stability, cross-platform MQTT client, developed based on the socket API, can be used on embedded devices (FreeRTOS / LiteOS / RT-Thread / TencentOS tiny), Linux, Windows, Mac, with a very concise The API interface realizes the quality of service of QOS2 with very few resources, and seamlessly connects the mbedtls encryp…

Cryptography

  • Tiny AES in C : Small portable AES128/192/256 in C
  • micro-ecc : ECDH and ECDSA for 8-bit, 32-bit, and 64-bit processors.

RPC

checksum

  • libcrc : CRC 校验数据完整性

Algorithm

math library

  • CMSIS DSP : CMSIS Version 5 Development Repository
  • libfixmath : Cross Platform Fixed Point Maths Library
  • smolar : a tiny multidimensional array implementation in C similar to numpy, but only one file.
  • Zephyr Scientific Library (zscilib) : An open-source scientific computing library for embedded systems running Zephyr OS or standalone.
  • liquid-dsp : digital signal processing library for software-defined radios
  • Kalman Filter C Implementation : Microcontroller targeted C library for Kalman filtering
  • siglib : SigLib Digital Signal Processing and Machine Learning Library
  • IQmath : Fixed Point Math Library for MSP
  • bignum : A bignum library for C.

machine learning

component

shell

  • letter shell : 可以让串口对现有函数进行组合以及调用
  • Lightweight shell : Lightweight shell implementation for embedded systems

button/key

timer

  • MultiTimer : 软件定时器
  • perf_counter : A dedicated performance counter for Cortex-M systick. It shares the SysTick with users' original SysTick function without interfering it. This library will bring new functionalities, such as performance counter, delay_us and clock() service defined in time.h
  • Lightweight Date, Time & Cron : Lightweight date, time & cron utilities for embedded systems
  • Lightweight Watchdog for embedded systems : Lightweight watchdog for RTOS and embedded systems

bootloader

touch

  • tslib : Touchscreen access library

GUI

  • LVGL : Light and Versatile Graphics Library

random number generator

code style

blog

alternatives

Contributing

We welcome your contributions! Please follow these steps to contribute:

  1. Fork the repo.
  2. Create a new branch (e.g., feature/new-embedded-library-resource).
  3. Commit your changes to the new branch.
  4. Create a Pull Request, and provide a brief description of the changes/additions.

Please make sure that the resources you add are relevant to the field of MCU Embedded Software. Before contributing, take a look at the existing resources to avoid duplicates.

License

This work is licensed under a Creative Commons Attribution 4.0 International License.

About

A curated list of awesome libraries, tutorials, projects and other related to MCU Embedded domain(almost C language). This repository aims to be a comprehensive and organized collection that will help MCU embedded developers in the world!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published