Explorer pHAT ADC


Hi there,

Having looked at the pin out for the Explorer pHAT https://pinout.xyz/pinout/explorer_phat it looks to me like it is just the ADC which is using the I2C bus and the other connections are for the other so inputs on the board.

So if I were to wire up just the I2C connections between the Pi and the Explorer pHAT (i.e. pins 2, 3, 5 and 6) would I be able to make use of just the ADC functions of the Explorer pHAT library?



Explorer pHAT has a logic level conversion circuit between the ADC and the i2c pins, so you will also need to hook up 3.3v on Physical Pin 1. It looks like you need to use Physical Pin 9 for Ground instead of 6, too since 6 looks either isolated, or quite far removed, from the ground pins of the ADC.


Awesome; just about to give it a go so I will post back and let you know how it goes. The plan is to hook one of these up to the ADC and monitor it through the PI Zero: https://pulsesensor.com/products/pulse-sensor-amped


So far so good…

I have wired the suggested pins and i2cdetect sees the ADC…

Now to see if I can read my sensor!


Umm not sure it is happy with just those pins wired up. When I run the analog-event.py example code I get a few readings returned and the the Pi looses it’s WiFi connection and I loose access to it. I wonder if I might need to connect another ground pin?

Here are pictures of the wiring and soldering between the Pi Zero and Explorer pHAT…


I just tried hocking this https://pulsesensor.com/products/pulse-sensor-amped up to my EnviropHAT and had a little more success, but after reading this: https://github.com/pimoroni/enviro-phat/blob/master/documentation/REFERENCE.md#analog I was a little surprised to see readings coming from my Heart Rate sensor well above 3.3V. I then read the Analog section of this page: https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-enviro-phat and realised I probably need a voltage divider for my sensor’s data line (as it is a 5V Arduino sensor).

Being as the Explorer pHAT uses teh same ADC as the EnviropHAT; can I assume @gadgetoid that I need a voltage divider in the Explorer pHAT too? And also that it is likely this that was causing my Pi zero to lock up?


Ummm… Well I tested the sensor on my Enviro pHAT with the voltage divider and saw the readings coming back between 0 and 3V, so wired up my voltage divider to my Pi Zero and Explorer pHAT but still got the same result… Interestingly I have a LED wired up to GPIO16 on this Pi Zero and just before it locks up whilst reading the analog input from the Explorer pHAT; the LED flashes momentarily…

I think I might swap the Explorer pHAT out for the Enviro pHAT to get this project moving on… Next time I think I will use an ADC chip like the MCP3008…


0v to 5v should be fine- Enviro pHAT was tweaked after the first batch to make it 5v tolerant, although the previous version never showed any issues at 5v it wasn’t technically correct.

A Pi Zero lock-up might be caused by a voltage drop, though I’m not sure what could be causing that. Have you tried running analog-event.py without any sensors hooked up to the ADC?


Enviro pHAT is all working fine with just I2C bus chained to a Scroll pHAT HD so I am pushing on the finish the project. I will set it up with the Explorer pHAT again and see if I can replicate it without a sensor attached, but probably will not be until next week now…