MCP23008 gone bad?

G’Day folks!

As I’m sure Ryan and Travis will recall, many months ago I set up a system for remote control of a well pump. It uses NCD’s MCP23008 PCBs and Particle Electrons. It has been working reliably ever since I was able, with excellent and timely assistance from both Ryan and Travis, to get it up and running. Well, it was running perfectly until yesterday.

I received an email, via IFTTT, that the pump had been running for more than two hours when it normally takes only about 90 minutes to fill the storage tank after a float switch first calls for water. Investigation showed that the pump is not running even though the Electron reports that it is. The NCD board has power and it, in turn, is powering the Electron, but the red R1 LED on the NCD board is not on (always used to be when things were behaving normally and the pump was running). I have rebooted the board several times with no change in the status. The Electron is connected to the Particle Cloud and I can access it remotely without issue and send it commands via Ryan’s ‘Pump_On-Off’ function, so I doubt that the problem is with it.

I threw a manul switch that bypasses all the electronics and powers the pump directly and the pump came on, proving that there is nothing awry with the pump itself.

With the above background, can anyone advise if the MCP2008 is most likely dead and in need of replacement? Or might there be another explanation or fix?

Many thanks for whatever advice and counsel anyone can offer.

Good to hear from you again. I hope you are doing well.

I would concur that the relay board(MCP23008) itself sounds like the culprit.

That R1 LED is the relay status LED, it should be on when the relay is on. There should also be a Power LED on the board, is it on?

Can you hear the relay click when you call the Pump_On-Off function? If not then the relay is not actually turning on and off which means the MCP23008 chip is probably not working. That chip can be damaged from power surges or high induction coming back from the load.

We will repair the board under warranty if you want to ship it here for repair. You can start that RMA process here:
https://ncd.io/contact-us/product-returns/
That said given the low cost of the board itself and the fact this system needs to stay online it would not be a bad idea to have a spare board around just in case. Many users will keep a spare board on hand in case something goes wrong then they can swap the board out and send the damaged board in for repair, this way they always have a good board on hand. Just a thought.

Hi there Travis!

Yes, the power LED is on. I will drive to the site shortly and listen for the click.

I fully agree with you that a spare board is a good idea. The powers that be declined that suggestion when I first made it to them months ago. I’m sure that they will have a different perspective now!

I was wandering around your website yesterday trying to find the exact same unit. The item I found that appeared to be the same now has more than doubled in price (to $103.95), along with the comment that the order interval is now lengthy (see attached). Am I looking at the right item?

Is your board a solid state relay board? From what I can tell on your order history it looks like you have 2 channel relay boards like this one:

Yup, that’s it. But here’s a freakin’ mystery: as you requested, I went to the site and called the ‘Pump_On_Off’ function (“on”) from my iPhone and IT WORKED!! Not only an audible click from the relay, but the R1 LED came on and the ‘Pump_Status’ variable returned a ‘1’. I then called ‘Pump_On_Off’ again (“off”) and the relay clicked, the R1 LED turned off and the ‘Pump_Status’ variable returned a ‘0’. So everything is now working exactly as it should!

WTF? I did all of that over the weekend, multiple times, including a complete reset by removing all power. I also tried the ‘Pump_Minutes’ function to turn the pump on for a specified number of minutes. The Electron would always return the expected results and the Google sheet that maintains, via IFTTT, a log of all ‘on’ and ‘off’ events was correctly logging everything, but the R1 relay never operated.

How could something that was broken suddenly fix itself? About the only thing that has changed around here is the temperature. Over the weekend it was in the mid to high 80s (maybe higher in the electronics enclosure). Right now it is about 78. Could temperature have anything to do with this very strange behavior?