Inkplate 10 MicroPython basicBW.py fails with SD card error

Customer:

I’m trying to use the Inkplate 10 with MicroPython and hitting several issues:

  1. The Espressif Inkplate flash erase utility uses type annotations from Python 3.10 or later. I’m using Python 3.9 on Debian 12, which causes syntax errors when running the erase utility. I was able to backpatch the annotations to work with 3.9 and successfully erase the flash.

  2. The example for running basicBW.py in the GitHub repository is set up for Inkplate 6. I changed it to 10 but it would be helpful to have a separate section for Inkplate 10 with example commands.

  3. When I use pyboard to run the basicBW.py example from the Inkplate10 directory, I get an error about not being able to open the SD card. The error comes from line 32 of mcp32017.py where the program tries to write a byte to the I2C port. I’m not sure how to debug this.

Originally submitted via the contact form on soldered.com on 26 March 2025. Migrated to the forum for community visibility.

Soldered Support:

We currently have limited resources to maintain the MicroPython repository. Our primary focus is the Arduino library.

If your Inkplate 10 is newer, it’s a ‘Soldered Inkplate 10’ which uses the PCAL6416A instead of the MCP23017. See the IO expander functions documentation.

You should be able to use the display without an SD card.

Soldered Support:

Try using Soldered_inkplate10.py as the base driver for MicroPython - this has the PCAL expander and not MCP. You’ll also need to copy the PCAL driver .py file onto your board when using this main driver.