Inkplate 6 I2C communication fails after initializing display

Customer:

I’m using Inkplate 6 (older version, the e-radionica Inkplate) for my final project and need to send certain information over the I2C port.

Inkplate receives messages normally until I include the inkplate.h library and initialize the display. After adding that, communication doesn’t work, neither with the onReceive function nor by checking Wire.available within the loop function in the Arduino program.

Currently I’m sending data over the I2C pins on the board side. Does it make a difference if I use the easyC port?

Does the display mode matter?

Is this a known issue and does someone have a temporary solution I can use?

Original message (Croatian)

koristim Inkplate 6 (starija verzija, tj. e-radionica Inkplate) za završni rad i trebam poslati određene informacije preko i2c porta.

Inkplate normalno prima poruke sve dok ne uključim inkplate.h library i inicijaliziram display. Pri dodavanju toga, komunikacija ne radi, niti sa onReceive funkcijom, niti provjeravanjem Wire.available unutar loop funkcije u arduino programu.

Trenutno šaljem podatke preko i2c pinova na strani ploče, ima li razlika ako koristim easyC port?

Da li ima veze u kojem je modu display?

Da li je problem poznat i ima li neko privremeno rješenje koje mogu koristiti?

Lp, [name removed]

Originally submitted via email support on 18 February 2024. Migrated to the forum for community visibility.

Soldered Support:

The Inkplate library configures Inkplate as an I2C master device, so it controls I2C communication. This cannot be avoided—Inkplate is always the master in I2C communication.

To send it data, it needs to request the data from your device using the Wire.requestFrom function.

There is no difference if you use the easyC port—it is the same as connecting to the I2C pins.

Original message (Croatian)

Inkplate library čini Inkplate kao I2C main uređajem, tako da on diktira I2C komunikaciju. Ovo se ne može izbjeći, Inkplate je uvijek main u I2C komunikaciji.
Kako bi mu slao podatke, on ih treba zahtijevati od tvog uređaja koristeći Wire.requestFrom funkciju.

Nema razlike ako koristiš easyC port - isto je kao da si se spojio na I2C pinove.

Slobodno pitaj dodatna pitanja, ako još kako mogu pomoći.

Super što koristiš Inkplate za završni rad, možeš li mi reći više o tome?