Open-source C projects categorized as SDK

Top 23 C SDK Projects

  • open62541

    Open source implementation of OPC UA (OPC Unified Architecture) aka IEC 62541 licensed under Mozilla Public License v2.0

  • SGDK

    SGDK - A free and open development kit for the Sega Mega Drive

    Project mention: iHaveNoReasonToDoThisOtherThanBraggingRights | /r/ProgrammerHumor | 2023-06-21
  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • phnt

    Native API header files for the System Informer project.

  • pvsneslib

    PVSnesLib : A small, open and free development kit for the Nintendo SNES

    Project mention: Snes development | /r/snes | 2023-04-21

    There's an open-source SDK: https://github.com/alekmaul/pvsneslib

  • azure-iot-sdk-c

    A C99 SDK for connecting devices to Microsoft Azure IoT services

    Project mention: I'm trying to communicate with the iot hub via an edge gateway device | /r/AZURE | 2023-03-29

    I'm trying to send data via an edge gateway device. I have set up my edge device which is a linux machine (https://learn.microsoft.com/en-us/azure/iot-edge/how-to-provision-devices-at-scale-linux-symmetric?view=iotedge-1.4&tabs=individual-enrollment%2Cubuntu), now I need to send data from an esp32 device to the iot hub via the edge gateway device. The example code given in the azure iot edge documentation is in C (https://github.com/Azure/azure-iot-sdk-c/blob/main/iothub_client/samples/iotedge_downstream_device_sample/iotedge_downstream_device_sample.c), I need it in the arduino framework for my esp32 device.

  • gpmf-parser

    Parser for GPMF™ formatted telemetry data used within GoPro® cameras.

    Project mention: max lens mod post processing | /r/gopro | 2023-05-03

    If you had stabilization on, the stabilization warped the image thinking it didn't have max lens mod on, so you would have to undo this warp, and then re-add one using the correct max lens mod calibration and the same rotation. I know the rotations/orientations are in the video metadata (https://github.com/gopro/gpmf-parser find the ones with ORI in it) but I don't know where to find the calibrations. So it's technically possible, but very involved, so if you're looking for an easy fix, I'm not sure there is one.

  • toolchain

    Toolchain and libraries for C/C++ programming on the TI-84+ CE calculator series (by CE-Programming)

    Project mention: TI-84+CE Toolchain v11.1 Release | /r/TI_Calculators | 2023-05-19

    Download: https://github.com/CE-Programming/toolchain/releases/latest

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

  • artoolkitx

    artoolkitX, providing high-performance video acquisition, marker and texture tracking in native code for iOS, Android, macOS, Windows, and Linux variants.

  • pupnp

    libupnp: Build UPnP-compliant control points, devices, and bridges on several operating systems.

  • cue-sdk

    Corsair iCUE SDK

  • kendryte-freertos-sdk

    This project is no longer maintained Not recommended for product development.

  • mdk

    A bare metal SDK for the ESP32 & ESP32C3

    Project mention: Can I build bare-metal code for the esp32? | /r/esp32 | 2023-01-25

    this? Looks like it doesn't have I2C yet so you'll have to dig into the datasheets and implement your own.

  • sdk-ng

    Zephyr SDK (Toolchains, Development Tools)

    Project mention: Need help getting Zephyr RTOS native_posix target working from an x86_64 host | /r/NixOS | 2023-06-08

    # Basic configuration for Zephyr development. { pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/refs/tags/23.05.tar.gz") { } }: let pp = pkgs.python3.pkgs; imgtool = pp.buildPythonPackage rec { version = "1.10.0"; pname = "imgtool"; src = pp.fetchPypi { inherit pname version; sha256 = "sha256-A7NOdZNKw9lufEK2vK8Rzq9PRT98bybBfXJr0YMQS0A="; }; propagatedBuildInputs = with pp; [ cbor2 click intelhex cryptography ]; doCheck = false; pythonImportsCheck = [ "imgtool" ]; }; python-packages = pkgs.python3.withPackages (p: with p; [ autopep8 pyelftools pyyaml pykwalify canopen packaging progress psutil anytree intelhex west imgtool cryptography intelhex click cbor2 # For mcuboot CI toml # For twister tabulate ply # For TFM pyasn1 graphviz jinja2 requests beautifulsoup4 # These are here because pip stupidly keeps trying to install # these in /nix/store. wcwidth sortedcontainers ]); # Build the Zephyr SDK as a nix package. new-zephyr-sdk-pkg = { stdenv , fetchurl , which , python38 , wget , file , cmake , libusb , autoPatchelfHook }: let version = "0.15.0"; arch = "arm"; sdk = fetchurl { url = "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${version}/zephyr-sdk-${version}_linux-x86_64_minimal.tar.gz"; hash = "sha256-dn+7HVBtvDs2EyXSLMb12Q+Q26+x6HYyPP69QdLKka8="; }; armToolchain = fetchurl { url = "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${version}/toolchain_linux-x86_64_arm-zephyr-eabi.tar.gz"; hash = "sha256-B7YIZEyuqE+XNI7IWnN6WiC1k9UdFEt4YN4Yr7Vn3Po="; }; in stdenv.mkDerivation { name = "zephyr-sdk"; inherit version; srcs = [ sdk armToolchain ]; srcRoot = "."; nativeBuildInputs = [ which wget file python38 autoPatchelfHook cmake libusb ]; phases = [ "installPhase" "fixupPhase" ]; installPhase = '' runHook preInstall echo out=$out mkdir -p $out set $srcs tar -xf $1 -C $out --strip-components=1 tar -xf $2 -C $out (cd $out; bash ./setup.sh -h) rm $out/zephyr-sdk-x86_64-hosttools-standalone-0.9.sh runHook postInstall ''; }; zephyr-sdk = pkgs.callPackage new-zephyr-sdk-pkg { }; packages = with pkgs; [ # Tools for building the languages we are using llvmPackages_16.clang-unwrapped # Newer than base clang gnat zig zls rustup glibc_multi # Dependencies of the Zephyr build system. (python-packages) cmake ninja gperf python3 ccache dtc gmp.dev zephyr-sdk ]; in pkgs.mkShell { nativeBuildInputs = packages; # For Zephyr work, we need to initialize some environment variables, # and then invoke the zephyr setup script. shellHook = '' export ZEPHYR_SDK_INSTALL_DIR=${zephyr-sdk} export PATH=$PATH:${zephyr-sdk}/arm-zephyr-eabi/bin export VIA_WORKSPACE_PATH="$(realpath ./workspace/)" source ./workspace/zephyr/zephyr-env.sh ''; }

  • memfault-firmware-sdk

    Memfault Firmware SDK for embedded systems. More information at https://docs.memfault.com.

    Project mention: Last call! Local to San Francisco, Boston, or Berlin? Upcoming Firmware Meetups! | /r/embedded | 2023-09-13

    These community events are hosted by Memfault, the creators of the Interrupt blog. We hope to see you there! ☺️

  • couchbase-rs

    The official, community supported Couchbase Rust SDK

    Project mention: Document your Open Source library with a Free AI chatbot | dev.to | 2023-06-18

    It is therefor with great satisfaction we hereby announce that we might sponsor your Open Source project with your own custom AI chatbot built on top of ChatGPT and our AI chatbot technology. To show you an example of how this might look like, consider the following chatbot we've created for CouchBase.

  • NanoSDK

    NanoSDK - MQTT 5.0-compliant SDK with QUIC support in NNG flavor

    Project mention: MQTT Communication Optimization Practices for Internet of Vehicles Mobile Scenarios | dev.to | 2022-12-13

    We recommend using QoS 1 for sending important data on the automotive side and using MQTT SDK with QoS retransmission capability and built-in QoS message window (queue), such as NanoSDK, which features asynchronous acknowledgment, built-in QoS message queue, automatic retransmission, and high throughput and consumption capabilities.

  • nuclei-sdk

    Nuclei RISC-V Software Development Kit

  • amissl

    :closed_lock_with_key: AmiSSL is the AmigaOS/MorphOS/AROS port of OpenSSL. It wraps the full functionality of OpenSSL into a full-fledged Amiga shared library that makes it possible for Amiga applications to use the full OpenSSL API through a standard Amiga shared library interface (e.g. web browsers wanting to support HTTPS, etc.)...

    Project mention: AmiSSL 5.11 available with OpenSSL 3.1.3 compatibility | news.ycombinator.com | 2023-09-20
  • t2sde

    T2 SDE Linux

    Project mention: Smallest distros for old hardware | /r/linux4noobs | 2023-04-15

    Other option may be to custom build a system for it using something like T2SDE

  • ziti-sdk-c

    A C-based sdk for delivering secure applications over a Ziti Network

    Project mention: Lessons Learned Writing A Zero Trust NGINX Module (in C) - How I Spent Hours Debugging NGINX | /r/cprogramming | 2023-01-19

    set(NGINX_CONFIGURE_ARGS "--with-threads" "--with-compat") if (DEBUG) set(NGINX_CONFIGURE_ARGS "--with-threads" "--with-compat" "--with-debug") endif() message("args ${NGINX_CONFIGURE_ARGS}") # build against nginx at the version specified by GIT_TAG. nginx uses custom auto configuration scripts that # creates header files that are specific to the current host and output to /objs/*.h. ExternalProject_Add( nginx PREFIX ${CMAKE_BINARY_DIR}/_deps/nginx GIT_REPOSITORY https://github.com/nginx/nginx.git GIT_TAG release-1.23.2 TIMEOUT 10 CONFIGURE_COMMAND ./auto/configure ${NGINX_CONFIGURE_ARGS} INSTALL_COMMAND "" #empty install command to disable install UPDATE_COMMAND "" #empty update command to disable update LOG_DOWNLOAD ON BUILD_IN_SOURCE 1 #build inside of the downloaded repo's source directory as expected by auto/configure ) if(NOT DEFINED $ENV{ZITI_SDK_C_BRANCH}) SET(ZITI_SDK_C_BRANCH "main") endif() FetchContent_Declare(ziti-sdk-c GIT_REPOSITORY https://github.com/openziti/ziti-sdk-c.git GIT_TAG ${ZITI_SDK_C_BRANCH} ) set(ZITI_BUILD_TESTS off) set(ZITI_BUILD_PROGRAMS off)a FetchContent_MakeAvailable(ziti-sdk-c) add_dependencies(${PROJECT_NAME} nginx) ExternalProject_Get_property(nginx SOURCE_DIR) message("project name ${PROJECT_NAME}") target_include_directories(${PROJECT_NAME} PUBLIC "${SOURCE_DIR}/objs" PUBLIC "${SOURCE_DIR}/src/core" PUBLIC "${SOURCE_DIR}/src/event" PUBLIC "${SOURCE_DIR}/src/event/modules" PUBLIC "${SOURCE_DIR}/src/http" PUBLIC "${SOURCE_DIR}/src/http/modules" PUBLIC "${SOURCE_DIR}/src/mail" PUBLIC "${SOURCE_DIR}/src/stream" PUBLIC "${SOURCE_DIR}/src/os/unix" ) target_link_libraries(${PROJECT_NAME} ziti)

  • ziti-sdk-nodejs

    An SDK for embedding zero trust into Node.JS applications and web servers to improve security.

    Project mention: Call an API, running in my machine, from a UI deployed in vercel | /r/node | 2023-06-18

    You could also use zrok.io. It's an open source alternative which can be self-hosted or has a free SaaS. It also includes cool features like 'private sharing'. I work on the parent project (OpenZiti... we also have a Node SDK - https://github.com/openziti/ziti-sdk-nodejs)

  • psxsdk

    Homebrew Sony PlayStation 1 SDK

  • pico-servo

    A simple C library for controlling servos using a Raspberry Pi Pico

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

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

C SDK related posts


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

Project Stars
1 open62541 2,237
2 SGDK 1,504
3 phnt 803
4 pvsneslib 656
5 azure-iot-sdk-c 557
6 gpmf-parser 466
7 toolchain 443
8 artoolkitx 408
9 pupnp 310
10 cue-sdk 195
11 kendryte-freertos-sdk 192
12 mdk 142
13 sdk-ng 132
14 memfault-firmware-sdk 123
15 couchbase-rs 97
16 NanoSDK 91
17 nuclei-sdk 86
18 amissl 77
19 t2sde 74
20 ziti-sdk-c 53
21 ziti-sdk-nodejs 51
22 psxsdk 33
23 pico-servo 10
Collect and Analyze Billions of Data Points in Real Time
Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.