C Arduino

Open-source C projects categorized as Arduino | Edit details

Top 23 C Arduino 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 add LED brightness control to this code - Project Guidance | reddit.com/r/arduino | 2021-09-21

    It's why most of us cheat and use a WS281x chip to provide one wire control with the FastLED or NeoPixel libraries. That said, I think the Tasmota project used to have code for brightness control on discrete RGB LEDs.

  • GitHub repo esp8266_deauther

    Affordable WiFi hacking platform for testing and learning

    Project mention: We have a USB outlet in our lockers at school. Any thoughts on what to use it for? | reddit.com/r/hacking | 2021-09-02
  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo arduino-esp32

    Arduino core for the ESP32

    Project mention: Best cheap board with BLE and supports Arduino framework? | reddit.com/r/RISCV | 2021-09-16

    Look for a board with the ESP32-C3. They're fairly new, as is Arduino support (arduino-esp32 v.2.0.0 from Espressif).

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

  • GitHub repo Arduino_Core_STM32

    STM32 core support for Arduino

    Project mention: Stm32f103c8 bluepill hmc5883l compass problems | reddit.com/r/stm32 | 2021-06-03

    I am using the stm32duino core for the Arduino Ide (https://github.com/stm32duino/Arduino_Core_STM32). My settings are the following:

  • GitHub repo esp8266-oled-ssd1306

    Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32

    Project mention: I2C LCD screen works in setup, not in loop(). | reddit.com/r/esp8266 | 2021-06-26
  • GitHub repo TFT_eSPI

    Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips

    Project mention: Warning for people using TFT_eSPI as a stand alone library for M5Stack. | reddit.com/r/esp32 | 2021-09-13
  • 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 ESP8266Audio

    Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, MP3, and AAC files on I2S DACs or with a software emulated delta-sigma DAC on the ESP8266 and ESP32

    Project mention: Anybody know of an I2S audio library for ESP32 to play tones? | reddit.com/r/arduino | 2021-08-06

    There is an example from this one, but it plays every second instead of the whole duration. https://github.com/earlephilhower/ESP8266Audio

  • GitHub repo Watchy

    Watchy - An Open Source E-Ink Smartwatch

    Project mention: Watch not keeping time? | reddit.com/r/watchy | 2021-08-12

    Also see https://github.com/sqfmi/Watchy/issues/40

  • GitHub repo ATTinyCore

    Arduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8

    Project mention: ATtiny85 + IR2110 | reddit.com/r/arduino | 2021-09-16

    The Arduino core (i.e. the Arduino libraries) for the ATTiny85 (and a couple more ATTinys) is here and you can find the link for the ATTiny85 specific information a bit down the main page which, inside, includes this excelent refence picture.

  • GitHub repo Sonoff-Homekit

    Make your Sonoff Switch compatible with Apple Homekit! 🎉

    Project mention: Sonoff Basic R2 | reddit.com/r/homebridge | 2021-06-07

    There is a firmware for Sonoff with native HomeKit. here

  • GitHub repo arduino-mqtt

    MQTT library for Arduino

    Project mention: WIFI BUS CONTOL NOOB QUESTION | reddit.com/r/esp32 | 2021-04-27

    https://randomnerdtutorials.com/esp32-mqtt-publish-subscribe-arduino-ide/ https://github.com/256dpi/arduino-mqtt

  • GitHub repo Arduino-HomeKit-ESP8266

    Native Apple HomeKit accessory implementation for the ESP8266 Arduino core.

    Project mention: ESP HomeKit Project | reddit.com/r/arduino | 2021-05-09

    Hey, i tried to turn on an LED through the apple home app and it worked perfectly. I tried tweaking the code a bit and it stopped working so i went back to the original code ( that worked in the first place ) and it never worked the again even when i use it untouched straight from the examples i got from - https://github.com/Mixiaoxiao/Arduino-HomeKit-ESP8266 - So what may be the problem? I am making sure that i am setting the wifi SSID and password correctly. Can it be because the board i am using is cheap ( from ali express ). I am using an esp32.

  • GitHub repo HoodLoader2

    16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE

    Project mention: Rubber Ducky using Arduino Uno or Nano | reddit.com/r/arduino | 2021-09-11

    hoodLoader2 might help you out. I've no experience with it though.

  • GitHub repo GxEPD2

    Arduino Display Library for SPI E-Paper Displays

    Project mention: 2.4in LCD Display from WaveShare (SPI, ILI9341) | reddit.com/r/arduino | 2021-01-28

    Githib: GxEPD2

  • GitHub repo ssd1306

    Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms (by lexus2k)

    Project mention: Display Menu on SSD1306 OLED display and select options by using Buttons need to do in esp-idf. | reddit.com/r/esp32 | 2021-05-06

    Check out this library: https://github.com/lexus2k/ssd1306 It has suppot for rendering menus. Here is an example sketch with menus: https://github.com/lexus2k/ssd1306/blob/master/examples/direct_draw/menu_demo/menu_demo.ino

  • 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 libhydrogen

    A lightweight, secure, easy-to-use crypto library suitable for constrained environments.

    Project mention: Ask HN: Are there small alternatives to libsodium/NaCL | news.ycombinator.com | 2021-08-31

    Are you possibly thinking of libhydrogen?


  • GitHub repo uMQTTBroker

    MQTT Broker library for ESP8266 Arduino

    Project mention: Should I even try? | reddit.com/r/esp8266 | 2021-08-27

    You could use MQTT as a form of communication for all the devices, and make all your messages retained, so whenever some device updates the status, all subscribed devices will receive the new message, and because the messages are retained any new device will imediatly receive the retained messages, essencially syncing all current and future devices. Technically you will have an MQTT server, or better know as broker in this context, so a RPi would a good ideia, but an ESP8266 might be sufficient, I've beber tried it though A quick search on Google lead me to this link: "GitHub - martin-ger/uMQTTBroker: MQTT Broker library for ESP8266 Arduino" https://github.com/martin-ger/uMQTTBroker .

  • GitHub repo RunCPM

    RunCPM is a multi-platform, portable, Z80 CP/M 2.2 emulator.

    Project mention: Ask HN: Are impressive new programs being written for CP/M? | news.ycombinator.com | 2021-05-01

    There are no doubt some systems still running under emulation doing the same thing as they were 40 years ago. But the truth is CP/M is dead. Long live CP/M!

    It's just hobbyists now. One hacker ported his game to a Kaypro under CP/M a couple years ago: http://www.chrisfenton.com/dd9-kaypro-edition/

    Much of the focus is on porting CP/M to whatever new or old Z80 system someone has built or found. I can't think of anything particularly dazzling besides the above, in terms of recent new programs, but here are some pointers if you wanted to write something yourself!

    RunCPM is a CP/M Z80 virtual machine under modern OSes for development etc. https://github.com/MockbaTheBorg/RunCPM

    CP/Mish is an attempt to bring all the free software CP/M tools together. It is to CP/M as Linux is to UNIX, or FreeDOS is to MS-DOS. A mostly complete, improved, libre reimplementation: https://github.com/davidgiven/cpmish

    Also from David Given (and not CP/M specific) is Cowgol. Alpha quality. But it's a self-hosted Pascal/Ada-like language with compiler. Runs on 8-bit systems, at least theoretically. It is written, of course, entirely in Cowgol: https://github.com/davidgiven/cowgol

    Millfork is a language which targets CP/M systems, among others. It's a whole-program optimizing compiler for a language somewhat lower level than C, with properties that make it very nice to compile for 8-bit systems like no recursion, and no automatic promotion to 16-bit integers in type handling: https://github.com/KarolS/millfork

    SDCC supports the platform with C surprisingly well. I wouldn't call it rock-solid but compared to the above toys it is an industrial quality compiler for the Z80. In fact, C seems to be the most common actual language for hobbyist and the little remaining serious Z80 development, probably ahead of assembly.

    If it just reads and writes the terminal and can fit in 64 KB, then a port is probably straightforward.

  • GitHub repo WebSerial

    Remote Serial monitor for ESP8266 & ESP32

    Project mention: ESP8266 webserver with serial output | reddit.com/r/arduino | 2021-09-19
  • GitHub repo ESP_WiFiManager

    This is an ESP32 / ESP8266 WiFi Connection Manager with fallback web configuration portal. Use this library for configuring ESP32 (including ESP32-S2 and ESP32-C3), ESP8266 modules' WiFi, etc. Credentials at runtime. You can also specify static DNS servers, personalized HostName, fixed or random AP WiFi channel. With examples supporting ArduinoJson 6.0.0+ as well as 5.13.5- .

    Project mention: Avoid keyboard interaction on IOT device, by passing wifi credentials through phone via bluetooth? | reddit.com/r/iOSProgramming | 2021-04-16

    Yes, this is the normal way to do it. There are several excellent libraries around including this one for ESP32.

  • GitHub repo Sanguino

    Sanguino add-on for the Arduino IDE, based on http://code.google.com/p/sanguino/

    Project mention: Do you know of any ATMegas with approximately 40 pins, that are programmable through the INO-language? | reddit.com/r/AskElectronics | 2021-03-22
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-21.


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

Project Stars
1 Tasmota 16,135
2 esp8266_deauther 8,956
3 arduino-esp32 7,313
4 wasm3 4,121
5 Arduino_Core_STM32 1,638
6 esp8266-oled-ssd1306 1,530
7 TFT_eSPI 1,444
8 ESP8266Audio 1,136
9 Watchy 1,097
10 ATTinyCore 1,064
11 Sonoff-Homekit 806
12 arduino-mqtt 744
13 Arduino-HomeKit-ESP8266 734
14 HoodLoader2 550
15 GxEPD2 400
16 ssd1306 365
17 RetroESP32 363
18 libhydrogen 311
19 uMQTTBroker 304
20 RunCPM 220
21 WebSerial 195
22 ESP_WiFiManager 179
23 Sanguino 156
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