# Scroll pHAT - IO error

**URL:** <https://forums.pimoroni.com/t/scroll-phat-io-error/1608>\
**Category:** Raspberry Pi\
**Created:** [January 19, 2016, 1:59pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608 "2016-01-19T13:59:35Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mr-G](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/mr-g/32/3107_2.png) [@Mr-G](https://forums.pimoroni.com/u/Mr-G)\
**Post date:** [January 19, 2016, 1:59pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/1 "2016-01-19T13:59:35Z")

</div>

hi chaps, im getting IO error in my python shell upon running scripts for the scroll pHAT,

althought everything seems to be working fine? any ideas?

---

<div class="post-metadata">

**Author:** ![gadgetoid](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/gadgetoid/32/13_2.png) [@gadgetoid](https://forums.pimoroni.com/u/gadgetoid)\
**Post date:** [January 19, 2016, 5:04pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/2 "2016-01-19T17:04:15Z")

</div>

It’ll generate an odd IO error with no ill effect. How frequently do you see them?

The library is still a little rough around the edges, but we’ll polish it up and squelch those messages soon!

---

<div class="post-metadata">

**Author:** ![Mr-G](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/mr-g/32/3107_2.png) [@Mr-G](https://forums.pimoroni.com/u/Mr-G)\
**Post date:** [January 20, 2016, 8:55am UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/3 "2016-01-20T08:55:02Z")

</div>

hiya, i get them every now and then. its doesnt seem to be causing a problem?

---

<div class="post-metadata">

**Author:** ![gadgetoid](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/gadgetoid/32/13_2.png) [@gadgetoid](https://forums.pimoroni.com/u/gadgetoid)\
**Post date:** [January 20, 2016, 9:18am UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/4 "2016-01-20T09:18:37Z")

</div>

I’ve now squelched them out of the library, however if more than 10 IO errors occur it will pop up a little message saying so.

I didn’t get any while holding the board against a pin header manually ( no soldering at all ) so I assume it’s either flaky soldering in some cases, and an overly high brightness causing some intermittent signal noise in others. Either way it doesn’t matter- the script is resilient enough.

I haven’t pushed the update to Pip yet, but if you want to test the latest and greatest you can install the library like so:

```auto
git clone https://github.com/pimoroni/scroll-phat
cd scroll-phat/library
sudo python ./setup.py install

```

---

<div class="post-metadata">

**Author:** ![Mr-G](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/mr-g/32/3107_2.png) [@Mr-G](https://forums.pimoroni.com/u/Mr-G)\
**Post date:** [January 20, 2016, 10:03am UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/5 "2016-01-20T10:03:34Z")

</div>

ok many thanks, ive install the latest now. maybe the soldering is the problem, ill have to get another zero and scrollPhat to verify that! for now it seems im not getting anymore IO errors!

heres my current project im working on (updated code in the comments)  
[http://forums.pimoroni.com/t/twitter-hashtag-to-scroll-phat/1609/5](http://forums.pimoroni.com/t/twitter-hashtag-to-scroll-phat/1609/5)

---

<div class="post-metadata">

**Author:** ![Mr-G](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/mr-g/32/3107_2.png) [@Mr-G](https://forums.pimoroni.com/u/Mr-G)\
**Post date:** [January 20, 2016, 1:00pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/6 "2016-01-20T13:00:44Z")

</div>

i can confirm that ive not seen an IO error since updating. many thanks my little pirate friends!

---

<div class="post-metadata">

**Author:** ![coatezy](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/coatezy/32/811_2.png) [@coatezy](https://forums.pimoroni.com/u/coatezy)\
**Post date:** [February 10, 2016, 7:37pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/7 "2016-02-10T19:37:08Z")

</div>

Just wondering if getting the odd IOError is normal? I added a print where the IOError exception is caught so I could get a better understanding of how many I am getting. I ran the example progress.py script for 10 minutes and caught 9 IOError exceptions.

Just wondering if this is just a thing that happens or if I should touch up the soldering on my scroll pHAT. I was originally running it on my pi zero so tried it on my pi 2 to see if the IOError’s continued, which they did.

Attached a picture of my soldering. If it was a bad connection/solder joint would the IOError’s be more consistent?

Tom

![](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex016/uploads/pimoroni/original/1X/05940eeded9cfc7b0bc61df9cc802d0f9dc18019.jpg)

---

<div class="post-metadata">

**Author:** ![coatezy](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/coatezy/32/811_2.png) [@coatezy](https://forums.pimoroni.com/u/coatezy)\
**Post date:** [February 10, 2016, 8:13pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/8 "2016-02-10T20:13:30Z")

</div>

Interestingly the [sine.py](https://github.com/pimoroni/scroll-phat/blob/4688cd91748e076085cee3367b33327aa72f02c6/examples/sine.py) example which uses [set\_buffer](https://github.com/pimoroni/scroll-phat/blob/4688cd91748e076085cee3367b33327aa72f02c6/library/scrollphat/IS31FL3730.py#L124) rather than [set\_pixel](https://github.com/pimoroni/scroll-phat/blob/4688cd91748e076085cee3367b33327aa72f02c6/library/scrollphat/IS31FL3730.py#L152) does not throw a single IOError.

---

<div class="post-metadata">

**Author:** ![Mr-G](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/mr-g/32/3107_2.png) [@Mr-G](https://forums.pimoroni.com/u/Mr-G)\
**Post date:** [February 10, 2016, 8:43pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/9 "2016-02-10T20:43:02Z")

</div>

have you updated the package? they supressed the IO error… im unsure why theyre appearing but one thing to be aware of is that not all of the pins are required to be soldered on the scrollphat… doing this would reduce possibilities of soldering errors

check the pinouts here… its just 2 pins plus the power/ground

> **[Scroll pHAT at Raspberry Pi GPIO Pinout](https://pinout.xyz/pinout/scroll_phat)**
>
> A 11 x 5 LED matrix

curl -sSL [get.pimoroni.com/scrollphat](http://get.pimoroni.com/scrollphat) | bash  
sudo python ./setup.py install

---

<div class="post-metadata">

**Author:** ![Mr-G](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/mr-g/32/3107_2.png) [@Mr-G](https://forums.pimoroni.com/u/Mr-G)\
**Post date:** [February 10, 2016, 8:45pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/10 "2016-02-10T20:45:02Z")

</div>

you should only get an error on 10 consectutive IO Errors

[https://github.com/pimoroni/scroll-phat/commit/d5ed9770f2fb17f59ebbe1c953b8c7a89bfc0ccd](https://github.com/pimoroni/scroll-phat/commit/d5ed9770f2fb17f59ebbe1c953b8c7a89bfc0ccd)

---

<div class="post-metadata">

**Author:** ![coatezy](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/coatezy/32/811_2.png) [@coatezy](https://forums.pimoroni.com/u/coatezy)\
**Post date:** [February 10, 2016, 8:58pm UTC](https://forums.pimoroni.com/t/scroll-phat-io-error/1608/11 "2016-02-10T20:58:11Z")

</div>

A actually added the more verbose logging of the IOErrors back in to the update method as I wanted to see how frequently I was receiving them.

Without my verbose logging I guess I would get the normal `"A high number of IO Errors have occured, please check your soldering/connections"` message after around 10 minutes when using the [progress.py](http://progress.py) example. If I increase the number of updates per second when using set\_pixel the IO Error count of 10 is reached in less time.

I have a feeling it has something to do with the set\_pixel method which updates the buffer list rather than pushing a new list when using set\_buffer.

I’ve had [sine.py](http://sine.py) running for 30 min without a single error with my verbose logging.

Thanks for the pin tip! Good to know if I grab another in the future.
