All Projects → vmilea → pico_i2c_slave

vmilea / pico_i2c_slave

Licence: other
I2C slave library for the Raspberry Pi Pico

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to pico i2c slave

wbi2c
Wishbone controlled I2C controllers
Stars: ✭ 25 (-35.9%)
Mutual labels:  i2c, i2c-slave
prk firmware
A keyboard firmware platform in PicoRuby
Stars: ✭ 337 (+764.1%)
Mutual labels:  rp2040, raspberry-pi-pico
zeptoforth
A not-so-small Forth for Cortex-M
Stars: ✭ 70 (+79.49%)
Mutual labels:  rp2040, raspberry-pi-pico
wizio-pico
Raspberry Pi Pico development platform for PlatformIO
Stars: ✭ 119 (+205.13%)
Mutual labels:  rp2040, raspberry-pi-pico
rpi
Microcontroller projects (RPi, Arduino, ATTiny85, ESP, Pico, STM8/32)
Stars: ✭ 76 (+94.87%)
Mutual labels:  i2c, rp2040
rp2040js
A Raspberry Pi Pico Emulator in JavaScript
Stars: ✭ 178 (+356.41%)
Mutual labels:  rp2040, raspberry-pi-pico
buzzer music
RPI Pico / Micropython library to play music through one or more buzzers, can automatically replace chords with fast arpeggios to simulate polyphony with a single buzzer. Music can be easily taken from onlinesequencer.net
Stars: ✭ 23 (-41.03%)
Mutual labels:  rp2040, raspberry-pi-pico
MDNS Generic
mDNS Library for nRF52, SAMD21, SAMD51, SAM DUE, STM32F/L/H/G/WB/MP1, AVR Mega, RP2040-based boards, etc. using Ethernet W5x00. Supports mDNS (Registering Services) and DNS-SD (Service Discovery). Ethernet_Generic library is used as default for W5x00
Stars: ✭ 22 (-43.59%)
Mutual labels:  rp2040
SwiftySHT20
⚡ A Swift library for the I2C SHT20 Humidity and Temperature Sensor.
Stars: ✭ 19 (-51.28%)
Mutual labels:  i2c
adafruit-i2c-pwm-driver
Node.js implementation for the Adafruit 16-Channel 12-bit PWM/Servo Driver
Stars: ✭ 25 (-35.9%)
Mutual labels:  i2c
ESP32 I2C Slave
I2C slave library for ESP32
Stars: ✭ 70 (+79.49%)
Mutual labels:  i2c-slave
Pico-DMX
A library for inputting and outputting the DMX512-A lighting control protocol from a Raspberry Pi Pico
Stars: ✭ 59 (+51.28%)
Mutual labels:  raspberry-pi-pico
pico-solar-system
No description or website provided.
Stars: ✭ 186 (+376.92%)
Mutual labels:  raspberry-pi-pico
gobot
Golang framework for robotics, drones, and the Internet of Things (IoT)
Stars: ✭ 7,869 (+20076.92%)
Mutual labels:  i2c
MCP7940
Arduino Library to access the MCP7940M, MCP7940N and MCP7940x Real-Time chips
Stars: ✭ 29 (-25.64%)
Mutual labels:  i2c
arduino-sps
Arduino library for Sensirion SPS30
Stars: ✭ 36 (-7.69%)
Mutual labels:  i2c
pico-loud talking detector
A tinyML system using a Raspberry Pi Pico and TensorFlow Lite for Microcontrollers to detect loud talking. It can be utilized to encourage people to eat quietly to prevent the spread of the coronavirus and help in the fight against COVID
Stars: ✭ 17 (-56.41%)
Mutual labels:  raspberry-pi-pico
u8g2-arm-linux
U8g2 for arm linux - a monochrome graphics library
Stars: ✭ 37 (-5.13%)
Mutual labels:  i2c
i2c-swift-example
Use I2C bus device with Swift
Stars: ✭ 19 (-51.28%)
Mutual labels:  i2c
embedded-ccs811-rs
Platform agnostic Rust driver for the CCS811 ultra-low power digital gas sensor for monitoring indoor air quality
Stars: ✭ 12 (-69.23%)
Mutual labels:  i2c

I2C slave library for the Raspberry Pi Pico

The Raspberry Pi Pico C/C++ SDK has all you need to write an I2C master, but is curiously lacking when it comes to I2C in slave mode. This library fills that gap to easily turn the Pico into an I2C slave.

Examples

An example program is included where the slave acts as a 256 byte external memory. See example_mem.

For those who prefer the Wire API commonly used with Arduino, there is a second version on top of a Wire wrapper. See example_mem_wire.

To keep it simple, both master and slave run on the same board. Just add jumpers between the two I2C instances: GP4 to GP6 (SDA), and GP5 to GP7 (SCL).

Setup

Follow the instructions in Getting started with Raspberry Pi Pico to setup your build environment. Then:

  • git clone https://github.com/vmilea/pico_i2c_slave
  • cd pico_i2c_slave
  • mkdir build, cd build, cmake ../, make
  • copy example_mem/example_mem.uf2 to Raspberry Pico
  • open a serial connection and check output

Links

Authors

Valentin Milea [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].