Hey all,
I’ve been playing with the enviroPHAT connected directly to a Pi Zero W with no problems at all now due to processor heat issue and also desire to add display, I purchased a PHAT Stacker which i believe should work BUT I am now getting remote I/O errors.
Any suggestions?
I picture of how its all plugged together would help. And what headers were used where, male or female. Maybe even a picture of your soldering.
What display are you using and how is it wired? No two devices can have the same address on the i2c bus, just so you know.
It’s a displayotron. using the phatStacker configurator, they should work. It came pre-soldered as i was being lazy. The EnviroPHAT was DisplayOTron are female and the Pi is female using the cable.
TBH, the display is irrelevant, even with the display off of the stackboard, the envirophat has I/O error but still works when connected to pi itself. So, soldering on Pi and Envirophat must be fine.
Ok, if the pHat stack was presoldered, soldering shouldn’t be an issue with that, have to ask though.;)
The enviro pHat working on the Pi also suggests soldering on it isn’t an issue.
I asked what display because it may have been an i2c address conflict. As you say according to the configurator, https://pinout.xyz/phatstack that’s not an issue.
So the Pi has a male GPIO going to the pHat stack via ribbon cable. I would have flipped the cable the other way around, so its going over the top of the Pi towards the phat stack, but that shouldn’t make any difference electrically connectivity wise. As long as pin 1 on the Pi goes to pin 1 on the phat stack it should be fine.
A screen shot of the error may help, or a clip and past here etc. I’ve gone over all the basic stuff that can go wrong.
If you run i2cdetect while everything is connected to the phat stack does it see the enviro phat?
I believe it sudo i2c detect -y 1
Traceback (most recent call last):
File “enviro_logger.py”, line 14, in
lux = light.light()
File “/usr/lib/python2.7/dist-packages/envirophat/tcs3472.py”, line 80, in light
return self.raw()[CH_CLEAR]
File “/usr/lib/python2.7/dist-packages/envirophat/tcs3472.py”, line 88, in raw
self.setup()
File “/usr/lib/python2.7/dist-packages/envirophat/tcs3472.py”, line 44, in setup
self.i2c_bus.write_byte_data(ADDR, REG_ENABLE, REG_ENABLE_RGBC | REG_ENABLE_POWER)
IOError: [Errno 121] Remote I/O error
and i2cdetect shows this:
pi@raspberrypi:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --
note, if i switch the cable around, pi won’t and power supply (not pi) but plug flashes blue light
You have to switch both ends so Pin 1 goes to pin one. If you did that I would say your cable is bad. Its not mandatory but normally you connect the side with the white stripe to pin 1 on both ends.
tempted to changed connectot to female on pi, the cable’s a pain and really difficult to get off
I’ve used female headers mounted on the bottom of the Pi Zero to plug them directly to the Mini Black hat hack3r boards. Exact same way you mount a pHat. No messing with a ribbon cable.
Just a heads up, unless you have access to a good quality motor driver vacuum pump solder sicker, its a PITA to try and unsolder the GPIO header. I’ve tried it once and it didn’t end well.