Open-source projects categorized as I2c

Top 23 I2c Open-Source Projects

  • TinyGo

    Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

    Project mention: TinyGo release 0.29 is out | news.ycombinator.com | 2023-08-30
  • johnny-five

    JavaScript Robotics and IoT programming framework, developed at Bocoup.

    Project mention: Dockerize Javascript IOT Applications | dev.to | 2023-07-03

    The library Johnny-Five is a Javascript library that allows you to control Arduino and other microcontrollers using Javascript. It is very easy to use and it has a lot of examples that you can use to learn how to use it.

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

  • gobot

    Golang framework for robotics, drones, and the Internet of Things (IoT)

    Project mention: Elixir Nerves alternatives | /r/IOT | 2023-06-10

    https://gobot.io/ (see the bottom for other languages that use the same firmware.)

  • cylon.js

    JavaScript framework for robotics, drones, and the Internet of Things (IoT)

  • esp8266-oled-ssd1306

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

  • SwiftyGPIO

    A Swift library for hardware projects on Linux/ARM boards with support for GPIOs/SPI/I2C/PWM/UART/1Wire.

  • hidapi

    A Simple cross-platform library for communicating with HID devices

    Project mention: Trying to get raw HID working to get vim modes to trigger qmk events and layers. | /r/olkb | 2023-05-20

    On the computer, write a program (the "host" or "server") that talks over the raw HID protocol. It is open ended how you do this, but IME both the Python pyhidapi and C hidapi were simple enough to get something started. The trickiest part might be getting the program to run with the permissions to talk the raw HID protocol (at least on Linux, there was some udev rule to set up). Read the documentation for these libraries for details about how to get set up.

  • SonarCloud

    Analyze your C and C++ projects with just one click.. SonarCloud, a cloud-based static analysis tool for your CI/CD workflows, offers a one-click automatic analysis of C and C++ projects hosted on GitHub. Zero configuration and free for open-source projects! Analyze free.

  • rppal

    A Rust library that provides access to the Raspberry Pi's GPIO, I2C, PWM, SPI and UART peripherals.

    Project mention: Implementing a non blocking delay on Raspberry with Rust | /r/embedded | 2023-02-07

    The other thing that I thought about is to use Raspberry's hardware timers, but the HAL library I'm using doesn't provide access to that. So the only to use it would be using Assembly directly into the Rust code, which is intriguing, but I don't know if it's worth it, because I would have to spend a lot of time studying since I'm not familiar with it.

  • luma.oled

    Python module to drive a SSD1306 / SSD1309 / SSD1322 / SSD1325 / SSD1327 / SSD1331 / SSD1351 / SH1106 OLED

  • ssd1306

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

    Project mention: Using Adafruit SSD1306 library on WeAct Black Pill | /r/stm32 | 2022-11-06

    The solution was an alternative library (https://github.com/lexus2k/ssd1306) which I found through here. It just needed wired to the default pins. Got a lot more to do with the black pill, group project for a prototype ECG

  • buck50

    STM32F103 logic analyzer and more

    Project mention: STM32F103C8T6 USART. HELP PLEASE IDK WHATS GOING ON | /r/embedded | 2023-07-11

    From my experience, always check the hardware first. Are you wiring correctly, maybe your wire is too long. You should have a logic analyzer to debug these protocols. You can use another stm32 board as logic analyzer https://github.com/thanks4opensource/buck50 (there are lots of open source logic analyzers out there). If it shows dots, I guess your uart config is correct. Maybe your clock is wrong. Making a logic analyzer and watching the pulse will make it easier to debug further.

  • drivers

    TinyGo drivers for sensors, displays, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.

  • SerialTransfer

    Arduino library to transfer dynamic, packetized data fast and reliably via Serial, I2C, or SPI

  • i2c-bus

    I2C serial bus access with Node.js

  • lcdgfx

    Driver for LCD displays running on Arduino/Avr/ESP32/Linux (including Rasperry) platforms

  • hydrafw

    HydraFW official firmware for HydraBus/HydraNFC for researcher, hackers, students, embedded software developers or anyone interested in debugging/hacking/developing/penetration testing

    Project mention: Recommendations for general-purpose bus debuggers | /r/embedded | 2023-04-03
  • nf-interpreter

    :gear: nanoFramework Interpreter, CLR, HAL, PAL and reference target boards

  • LiquidMenu

    Menu creation Arduino library for LCDs, wraps LiquidCrystal.

    Project mention: Embedded UI design | /r/embedded | 2023-04-10

    Arduino LCD Menu

  • VoodooRMI

    Synaptic Trackpad driver over SMBus/I2C for macOS

    Project mention: ventura | /r/hackintosh | 2023-09-01

    SMBus trackpad - VoodooRMI

  • SolidSoils4Arduino

    C# .NET - Arduino library supporting simultaneous serial ASCII, Firmata and I2C communication (by SolidSoils)

  • PCF8574_library

    PCF8574 library. i2c digital expander for Arduino, Raspberry Pi Pico and rp2040 boards, esp32, SMT32 and ESP8266. Can read write digital values with only 2 wire. Very simple to use and encoder support.

  • CCS811

    Arduino library for the CCS811 gas sensor for monitoring indoor air quality.

  • DS3231

    Communicates between Arduino-programmed AVR and Maxim DS3231 RTC: splice of Ayars' (http://hacks.ayars.org/2011/04/ds3231-real-time-clock.html) and Jeelabs/Ladyada's (https://github.com/adafruit/RTClib) libraries

    Project mention: How do I write a program/function in C that counts how many days it’s been running? | /r/cprogramming | 2023-05-05

    This assumes you are using a convenience library such as https://github.com/NorthernWidget/DS3231.

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

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

I2c related posts


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

Project Stars
1 TinyGo 13,497
2 johnny-five 13,094
3 gobot 8,445
4 cylon.js 3,987
5 esp8266-oled-ssd1306 1,867
6 SwiftyGPIO 1,309
7 hidapi 1,291
8 rppal 931
9 luma.oled 738
10 ssd1306 577
11 buck50 518
12 drivers 514
13 SerialTransfer 353
14 i2c-bus 333
15 lcdgfx 297
16 hydrafw 295
17 nf-interpreter 275
18 LiquidMenu 241
19 VoodooRMI 210
20 SolidSoils4Arduino 182
21 PCF8574_library 176
22 CCS811 159
23 DS3231 151
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.