C Firmware

Open-source C projects categorized as Firmware | Edit details

Top 23 C Firmware Projects

  • GitHub repo Tasmota

    Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at

    Project mention: How to long-press-to-dim? | reddit.com/r/tasmota | 2021-09-17

    Have a check at this: https://github.com/arendst/Tasmota/issues/10202

  • GitHub repo nodemcu-firmware

    Lua based interactive firmware for ESP8266, ESP8285 and ESP32

    Project mention: File Transfer using Bluetooth Classic, ESP32, SD SPI, and Android | reddit.com/r/arduino | 2021-04-23
  • 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 IronOS

    Open Source Soldering Iron firmware for Miniware and Pinecil

    Project mention: PinePower Desktop Power Delivery Port stopped working | reddit.com/r/PINE64official | 2021-09-20

    I originally had a different issue where my Pinecil would randomly reset when soldering, somebody found this github issue from someone else with exactly the same problem and a video https://github.com/Ralim/IronOS/issues/975

  • GitHub repo edk2

    EDK II

    Project mention: Honeycomb LX2 ARM Workstation: An Alternative to x86 | news.ycombinator.com | 2021-08-26

    Heh. Embedded Development Kit II (EDK2) is a "modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications". https://github.com/tianocore/edk2

  • GitHub repo mongoose-os

    Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.

    Project mention: CISA Advisory (ICSA-21-119-04) - CyberHoot | reddit.com/r/u_CyberHoot | 2021-08-20

    Cesanta Software mongooses – Update available

  • GitHub repo nexmon

    The C-based Firmware Patching Framework for Broadcom/Cypress WiFi Chips that enables Monitor Mode, Frame Injection and much more

    Project mention: Can I use other fruits for pwnagotchi? | reddit.com/r/pwnagotchi | 2021-09-20

    so the major reason for the use of raspberry pi is support for seemoo labs(check them out because for wireless security research they do super interesting stuff) nexmon platform. nexmon is a binary firmware patching platform that is aimed at providing patches to allow mobile radio chips to do things the stock firmware does not support, ie it is named for providing monitor mode on a nexus phone.

  • GitHub repo fwupd

    A system daemon to allow session software to update firmware

    Project mention: Firmware Update on Windows | reddit.com/r/System76 | 2021-09-20

    I just got my Launch keyboard (very classy by the way, I'm a fan so far). The only firmware update I'm finding is via the fwupd utility, but I'm on Windows. I know the keyboard is pretty new, and there may not yet be a firmware update, but how can I ensure that the firmware remains up to date moving forward?

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo MaixPy

    MicroPython for K210 RISC-V, let's play with edge AI easier

    Project mention: Has anyone got python/micropython on RISC-V working? | reddit.com/r/RISCV | 2021-08-03
  • GitHub repo flipperzero-firmware

    Flipper Zero Firmware

    Project mention: Flipper Zero Firmware Is Now Open Source | news.ycombinator.com | 2021-09-08
  • GitHub repo idevicerestore

    Restore/upgrade firmware of iOS devices

    Project mention: Asahi Linux progress report, August 2021 | news.ycombinator.com | 2021-08-14

    I don't know about Windows, but it runs on Linux, yes, and it works on all M1 Macs (as targets) to my knowledge. See: https://github.com/libimobiledevice/idevicerestore/pull/406

  • GitHub repo stm32-bootloader

    Customizable Bootloader for STM32 microcontrollers. This example demonstrates how to perform in-application-programming of a firmware located on an external SD card with FAT32 file system.

    Project mention: Writing bootloaders for microcontrollers | reddit.com/r/embedded | 2021-05-03

    Here's a bootloader "library" that might be useful. You need to add your own code to get the actual firmware image from somewhere (UART, an SD card, or whatever), and then you just pass it off to the "library" for flashing.

  • GitHub repo NanoVNA

    Very Tiny Palmtop Vector Network Analyzer

    Project mention: Where to get a good NanoVNA v3? I'm fine with copies. I just want it to work properly. | reddit.com/r/RTLSDR | 2021-07-24

    I bought mine from Nooelec. They're listed as an official distributor on edy555's GitHub repo.

  • GitHub repo yi-hack-MStar

    Custom firmware for Yi 1080p camera based on MStar platform

    Project mention: Yi 1080P Dome Camera Questions | reddit.com/r/homeassistant | 2021-02-16
  • GitHub repo EasyAVR

    Easy AVR USB Keyboard Firmware and Keymapper

    Project mention: I buildt myself a macro-keyboard | reddit.com/r/electronics | 2021-02-25

    I recommend looking at EasyAVR and its use with custom boards. This may be easier than working through the Arduino IDE once you get the initial legwork done. There are lots of alternatives too, such as:

  • GitHub repo Marlin-Ai3M

    🖨 Marlin firmware optimized for the Anycubic i3 Mega 3D printer

    Project mention: Problems whit I3 Mega firmware | reddit.com/r/3Dprinting | 2021-09-10

    Update: I tried this version but i have the same problem, run via USB but not from SD

  • GitHub repo IoTGoat

    IoTGoat is a deliberately insecure firmware created to educate software developers and security professionals with testing commonly found vulnerabilities in IoT devices.

    Project mention: We are cybersecurity researchers who wrote a book teaching people how to hack the Internet of Things, called Practical IoT Hacking. Ask us anything! | reddit.com/r/IAmA | 2021-03-27

    We have a chapter on methodologies in the book and go into a lot of detail on how we test. We also created the free OWASP IoT Goat project - a deliberately insecure IoT firmware that you can use for a testbed.

  • GitHub repo RetroESP32

    Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager

    Project mention: Gameboy Esp32, yes please! Picking this up the second it releases. | reddit.com/r/SBCGaming | 2021-04-29

    I wonder where the OS came from. I kind of expected to see Retro-ESP32 when it booted up 😅

  • GitHub repo yi-hack-Allwinner

    Custom firmware for Yi 1080p camera based on Allwinner platform

    Project mention: Yi Cameras with Homebridge | reddit.com/r/homebridge | 2021-03-10

    Yi-hack-Allwinner for the Home 1080: https://github.com/roleoroleo/yi-hack-Allwinner

  • GitHub repo qmkbuilder

    Online GUI for QMK Firmware

    Project mention: New keyboard for Office | reddit.com/r/olkb | 2021-09-13

    Find link github from comment, download file project-kbfirmware.json and upload into kbfirmware.com/ and see handwiring grid and pins for microcontroller.

  • GitHub repo OpenSteamController

    Steam Controller reverse engineering and customization project.

    Project mention: I wish the Steam Deck would come with GPIO pins. | reddit.com/r/SteamDeck | 2021-09-06

    Did you look up schematics of the steam controller? I suspect the interface to the device controls on the deck will run through USB and be an iteration of the steam controller. https://github.com/greggersaurus/OpenSteamController/blob/master/ReverseEngineering/Luna_maiboard_V000456-00_rev3.md would suggest two pins unused/undetermined. Yes, it's an input device and would require driver/firmware changes, but as long as hardware capability is there, the rest is a software problem.

  • GitHub repo sof

    Sound Open Firmware

    Project mention: Computer randomly starts to play one continuous beep until I kill pulseaudio | reddit.com/r/archlinux | 2021-09-17

    Sounds like the sof-firmware beeping bug. Try booting with the snd_sof.sof_debug=1 parameter and follow https://github.com/thesofproject/sof/issues/3868

  • GitHub repo micropython-ulab

    a numpy-like fast vector module for micropython, circuitpython, and their derivatives

    Project mention: Micropython with Ulab for esp32 | reddit.com/r/esp32 | 2021-09-20

    Has anyone of you managed to install a micropython version with ulab for your esp32? I tried the procedure on the ulab github but without any succes. When I try it stops at sth like: "no submodule. stop."

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-20.


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

Project Stars
1 Tasmota 16,135
2 nodemcu-firmware 6,793
3 IronOS 3,637
4 edk2 2,439
5 mongoose-os 2,195
6 nexmon 1,710
7 fwupd 1,313
8 DAPLink 1,292
9 MaixPy 1,197
10 flipperzero-firmware 663
11 idevicerestore 621
12 stm32-bootloader 611
13 NanoVNA 610
14 yi-hack-MStar 536
15 EasyAVR 490
16 Marlin-Ai3M 404
17 IoTGoat 360
18 RetroESP32 360
19 yi-hack-Allwinner 298
20 qmkbuilder 278
21 OpenSteamController 271
22 sof 217
23 micropython-ulab 207
Find remote jobs at our new job board 99remotejobs.com. There are 24 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