Can you run a red/black/white Inky pHAT in black/white mode?


Is it possible to get a faster update on the red/black/white Inky pHAT by running it in black/white mode (with set_colour("black")), or will this cause damage to the unit?


We haven’t tested it at length, and I don’t know if the black/white settings will be right for running the red/black/white without getting serious red bleed through in images, but I seriously doubt you’d do any harm by giving it a try.


I’ve had a chance to test it and it seems to work ok, there’s a little bit of bleed through from previous images, but it’s not bad.

When using it in red mode the refresh time is around 24.5 seconds and in black mode 6.7 seconds; I’m not getting the 15 second refresh time mentioned on the product page. I’m testing using the following script, is there anything I should be doing differently to get a 15 second refresh time?

#!/usr/bin/env python3

import time
import inkyphat

def clear_time(colour):
  mod = 2 if colour == "black" else 3
  for i in range(22):
    inkyphat.rectangle(((i * 10,0),((i+1)*10,10)), i % mod, i % mod)
    inkyphat.rectangle(((i * 10,10),((i+1)*10,20)), i % 2, i % 2)
  start = time.time()
  end = time.time()
  print("%s = %f" % (colour, end - start))

def main():
  for i in range(3):
  for i in range(3):

if __name__ == "__main__":

Example test results:

red = 24.357704
red = 24.360417
red = 24.360350
black = 6.766947
black = 6.770305
black = 6.767915


I’m not sure where the 15 second number came from- it might be a vestige from the original red model which we had issues with.

You can certainly experiment with tweaking the timings but there’s a very fine balance between speed and a clean image, you can’t have both.

Timings are here:

They are time (in milliseconds I think) for the A, B, C and D phases of the refresh, followwed by the number of times each block should repeat. Lower numbers = faster, but more afterimage.