C Embedded

Open-source C projects categorized as Embedded | Edit details

Top 23 C Embedded Projects

  • GitHub repo MicroPython

    MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

    Project mention: Building a FAKE defusable bomb toy for Airsoft/Paintball/Nerf. Description and questions in the first comment! | reddit.com/r/arduino | 2021-09-19

    Totally, if the microcontroller is "beefy" enough! https://micropython.org/

  • GitHub repo Mongoose

    Embedded Web Server (by cesanta)

    Project mention: Timed out waiting for response mongoose | reddit.com/r/ValveIndex | 2021-09-15

    I'm pretty sure mongoose is not mongodb related but rather related to a lightweight http server library. I am pretty sure it is this: https://github.com/cesanta/mongoose (source: I reverse engineered a bit of the code and other things indicated that a mongoose.c was part of the build. steamVR relies on a lot of local http traffic so it all makes sense.)

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo cray

    A simple and easy-to-use library to enjoy videogames programming

    Project mention: Making a 3d game from scratch with a code editor vs something like Unreal Engine. | reddit.com/r/gamedev | 2021-09-20

    Alternatively, I think a good compromise for people who want more control over the inner workings of their game but don't want to use a full game engine is using a game framework like Monogame or Raylib. In our salad analogy, this is like buying a a good bag of lettuce, but growing your own toppings, dressings, etc.

  • GitHub repo lvgl

    Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).

    Project mention: What GUI library for medical devices ? | reddit.com/r/C_Programming | 2021-08-30

    Personally, I think LVGL is pretty great: https://lvgl.io/

  • GitHub repo zephyr

    Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.

    Project mention: How to contribute to open source or Linux kernel? | reddit.com/r/linux | 2021-09-15

    Microcontrollers are a good start. Boards are cheap and sensors are plentiful. You could get a yet unsupported board and port RIOT, Zephyr or NuttX.

  • GitHub repo wasm3

    🚀 The fastest WebAssembly interpreter, and the most universal runtime

    Project mention: Does it make sense to write an interpreter in a non-GC programming language (like Rust or C)? | reddit.com/r/ProgrammingLanguages | 2021-08-11

    I wondered if some interpreter for non garbage collected languages existed. I found one for Web assembly https://github.com/wasm3/wasm3 (written in C) There are apparently several C interpreters too.

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo circuitpython

    CircuitPython - a Python implementation for teaching coding with microcontrollers

    Project mention: Please help me! | reddit.com/r/circuitpython | 2021-09-13

    Couldn't you get them back by reflashing the image from https://circuitpython.org ?

  • GitHub repo nanopb

    Protocol Buffers with small code size

    Project mention: Efficient multi-language message packing / serialization for embedded applications. (stuff_sack) | reddit.com/r/programming | 2021-07-17

    You are on the right track regarding protobufs, FlatBuffers, and Cap'n Proto. They are targeted at server communication and/or RPC and have features (optional fields, variable length arrays, etc) that stuff_sack does not have. There is an implementation for protobufs called nanopb which is targeted at embedded devices and is a good option for application requiring those features. Without these features stuff_sack is generally faster in packing and unpacking. Whether or not the binaries are smaller actually depends on the number of messages defined, but for common use cases (<15 messages) they should be.

  • GitHub repo littlefs

    A little fail-safe filesystem designed for microcontrollers

    Project mention: Little fs, a file system for embedded applications. | reddit.com/r/AskComputerScience | 2021-05-07
  • GitHub repo cleanflight

    Clean-code version of the baseflight flight controller firmware

    Project mention: Cleanflight 1.1. | reddit.com/r/Multicopter | 2021-05-08

    This? https://github.com/cleanflight/cleanflight/releases/tag/v1.1.0

  • GitHub repo wasm-micro-runtime

    WebAssembly Micro Runtime (WAMR)

    Project mention: How to debug C/C++ compiled to WebAssembly - That One Game Dev | reddit.com/r/programming | 2021-08-29

    This is realated to a project I will be probably working on in the future that needs plugins. I want to use wasm/ and https://github.com/bytecodealliance/wasm-micro-runtime to call the plugins. An ABI/platform stable plugin system where whatever compiles to wasm is A-OK. A small loss in perf, but in the use case I am ok with that. Should be interesting. Worst case, I back out and use dlload or whatever.

  • GitHub repo tinyusb

    An open source cross-platform USB stack for embedded system

    Project mention: Tiny USB docs | reddit.com/r/raspberrypipico | 2021-08-07

    This blog post provides a rough overview of how to structure tinyusb applications. For specific use cases, though, it's best to look through the examples/ folder of the tinyusb repo. Hope this helps!

  • GitHub repo printf

    Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems. Extensive test suite passing.

    Project mention: A 1 hour interview for an embedded engineering position | reddit.com/r/C_Programming | 2021-08-24

    There are many good and tiny printf's fir embedded on GitHub. https://github.com/mpaland/printf eg Better than the bsd printf mostly

  • GitHub repo mjs

    Embedded JavaScript engine for C/C++

    Project mention: What is your programming stack, as well encryption with ESP32? | reddit.com/r/esp32 | 2021-06-04

    In the past I've programmed with ESP8266 with Mongoose OS using mJS - https://github.com/cesanta/mjs but it has on 1.5K GitHub stars and I assume there are other alternative as well for Python language

  • GitHub repo ejdb

    :snowboarder: EJDB 2.0 — Embeddable JSON Database engine C library. Simple XPath like query language (JQL). Websockets / Android / iOS / React Native / Flutter / Java / Dart / Node.js bindings. Docker image.

    Project mention: EJDB 2 – Embeddable JSON database with XPath-like query language and REST API | news.ycombinator.com | 2021-08-15
  • GitHub repo spiffs

    Wear-leveled SPI flash file system for embedded devices

    Project mention: Choosing an appropriate file system for SPI NOR Flash memory | reddit.com/r/embedded | 2021-04-21

    You may want to take a look at spiffs

  • GitHub repo AtomVM

    Tiny Erlang VM

    Project mention: Embedded programming for the functionally-inclined programmer? | reddit.com/r/functionalprogramming | 2021-01-25

    There’s also AtomVM a minimal erlangVM to run elixir on microcontrolers https://github.com/bettio/AtomVM and possibly the Lumen compiler to compile to byte code https://getlumen.org

  • GitHub repo incubator-nuttx

    Apache NuttX is a mature, real-time embedded operating system (RTOS)

    Project mention: How to contribute to open source or Linux kernel? | reddit.com/r/linux | 2021-09-15

    Microcontrollers are a good start. Boards are cheap and sensors are plentiful. You could get a yet unsupported board and port RIOT, Zephyr or NuttX.

  • GitHub repo flutter-pi

    A light-weight Flutter Engine Embedder for Raspberry Pi that runs without X.

    Project mention: Flutter app on esp32 | reddit.com/r/FlutterDev | 2021-03-07

    Try https://fuchsia.dev/ or https://github.com/ardera/flutter-pi

  • GitHub repo pycopy

    Pycopy - a minimalist and memory-efficient Python dialect. Good for desktop, cloud, constrained systems, microcontrollers, and just everything.

    Project mention: Pycopy 3.5.4 - a minimalist and memory-efficient Python dialect | reddit.com/r/Python | 2021-03-21

    Oh, so you're interested to get 100 tomes of technical drawings for SpaceX? You may be out of luck with it, but with any open-source project you're in luck - source to answer all of your questions is right there ;-). https://github.com/pfalcon/pycopy in this case. There's also the testsuite which formally specifies everything Pycopy can do (coverage 97%): https://github.com/pfalcon/pycopy/tree/master/tests . Finally, the docs include the section on specific differences with CPython3.4: https://pycopy.readthedocs.io/en/latest/differences/index.html (but that's human-written, so definitely not complete). By the way, docs are 381 pages rendered as a PDF: https://pycopy.readthedocs.io/_/downloads/en/latest/pdf/ .

  • GitHub repo embox

    Modular and configurable OS for embedded applications

    Project mention: STM32 lwip not accepting more than 2 clients? | reddit.com/r/embedded | 2021-09-22

    Look at Embox (https://github.com/embox/embox). It has its own TCP/IP stack and the support of STM32 boards including H7. The TCP stack has even more rich features than lwIP (see about design web-sites in the article (https://anton-bondarev.medium.com/design-web-site-on-linux-and-running-on-a-stm32-mcu-1e8298d33772)

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-09-22.


What are some of the best open-source Embedded projects in C? This list will help you:

Project Stars
1 MicroPython 12,986
2 Mongoose 7,460
3 cray 7,206
4 lvgl 6,739
5 zephyr 4,933
6 wasm3 4,121
7 stlink 3,093
8 circuitpython 2,587
9 nanopb 2,556
10 littlefs 2,364
11 cleanflight 2,346
12 wasm-micro-runtime 2,259
13 tinyusb 2,039
14 printf 1,511
15 mjs 1,504
16 DAPLink 1,301
17 ejdb 1,237
18 spiffs 1,177
19 AtomVM 906
20 incubator-nuttx 758
21 flutter-pi 690
22 pycopy 660
23 embox 656
Find remote jobs at our new job board 99remotejobs.com. There are 25 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives