Need help with i2c and displayotron hat


I’ve got a problem where I can’t seem to get the displayotron hat to do anything because I keep getting the error “IOError: [Errno 121] Remote I/O error”. I believe this is a problem with my i2c set up, but I can’t seem to find a resolution. (I tried reducing the speed which did not help.) Here is the output I get, for example:

jbf@gardenhousepi:~/displayotron/displayotron/examples/dothat/basic $ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

import dothat.backlight as backlight
Traceback (most recent call last):
File “”, line 1, in
File “/usr/local/lib/python2.7/dist-packages/dothat/”, line 1, in
import sn3218, colorsys, math
File “/usr/lib/python2.7/dist-packages/”, line 114, in
File “/usr/lib/python2.7/dist-packages/”, line 62, in enable_leds
[enable_mask & 0x3F, (enable_mask >> 6) & 0x3F, (enable_mask >> 12) & 0X3F])
IOError: [Errno 121] Remote I/O error

Has anyone dealt with this? Is there an easy way to verify that i2c is not working?


Is the HAT mounted securely, directly on top of the Pi?


Joy, thank you! New users of this device should be aware that it is easy (with a dark case) to seat the display-o-tron incorrectly, with the pins misaligned. The top corner of the display-o-tron hat should line up with the corner of the pi, and a voltmeter can be used to verify a 5 volt potential can be read across the “5V” and “GND” pins.


Eek! Believe me when I say that I’ve seen HATs and other Pi addons seated incorrectly in every conceivable way and have done it myself plenty of times (even recently). Glad you’re up and running!