Inkplate 10 I2C error 263 with PCAL GPIO expander

Customer:

I received an Inkplate 10 and spent considerable time with it, but can’t get anything to display on the screen using any of the supported methods. The ESP32 chip appears to work fine, and I successfully got the Arduino library working, but I’m unable to change anything on the screen. I keep getting this error on the serial terminal:

[ 1595] [Wire.cpp:513] requestFrom(): i2cRead returned Error 263

I opened it tonight and everything appears in working order. I re-seated the display ribbon but had no luck. Is there anything I can do to get it working or can I get a replacement eink display?

Originally submitted via email support on 21 February 2023. Migrated to the forum for community visibility.

Soldered Support:

Download and install the board definition from:
https://github.com/e-radionicacom/Dasduino-Board-Definitions-for-Arduino-IDE/raw/dev/package_Dasduino_Boards_index.json

You can also download the unofficial version of the Inkplate library from:
https://github.com/SolderedElectronics/Inkplate-Arduino-library/tree/PCAL-Support

Before uploading to the Inkplate, select Soldered Inkplate10 board and upload a sketch.

Customer:

That worked! I got several of the examples to work. I’m running into issues with micropython trying to get the same board to work - is there an updated library for that by any chance?

Soldered Support:

There is no updated library for micropython, only the Arduino version. The examples should work with micropython. Could you please share the errors you’re getting?

Customer:

The command I’m running is:

python3 pyboard.py --device /dev/cu.usbserial-110 “Examples/Inkplate10/basicGrayscale.py”

The output is:

Sd card could not be read
Traceback (most recent call last):
File " ", line 14, in
File “inkplate10.py”, line 744, in begin
File “inkplate10.py”, line 65, in init
File “mcp23017.py”, line 18, in init
File “mcp23017.py”, line 30, in write
OSError: [Errno 19] ENODEV

This happens regardless of which example file I use. I followed all the setup instructions without error:

  • Erased flash
  • Re-flashed with firmware from the micropython repo (v1.18.bin – though v1.19.1 is available and produces the same error)
  • Copied all the library files over

This seems like an I2C issue. When set up, the Arduino library throws the following error on the serial monitor:

[ 1595] [Wire.cpp:513] requestFrom(): i2cRead returned Error 263

I have an unformatted SD card in the Inkplate.

Soldered Support:

The newer version is on the dev branch here:
https://github.com/SolderedElectronics/Inkplate-Arduino-library/tree/PCAL-Support

Note that it is in development and not official, but it works.

On the new Inkplates, the PCAL GPIO expander is used (not the MCP like on older Inkplates) and this is causing the I2C error.

You need to format the SD card in the FAT32 file system.