Pullup input DFRduino

Im writing program on DFRduino UNO R3 and have one problem. Im setting 8 inputs (from 4 to 11) as pullup inputs, and afetr uploading program, all inputs shows high status and one input - input 9 - shows low status. I've checked on Arduino Uno board and same program gives me high status on all inputs. So is there problem with DFR board, or am I missing smt? Thanks for any help.

13:38:33.259 -> 4 : 1 : 0 : 0 : 0
13:38:33.306 -> 5 : 1 : 0 : 0 : 0
13:38:33.306 -> 6 : 1 : 0 : 0 : 0
13:38:33.354 -> 7 : 1 : 0 : 0 : 0
13:38:33.354 -> 8 : 1 : 0 : 0 : 0
13:38:33.400 -> 9 : 0 : 1 : 1 : 0
13:38:33.400 -> 10 : 1 : 0 : 0 : 0
13:38:33.445 -> 11 : 1 : 0 : 0 : 0
13:38:33.445 -> ---------------------

First colum shows number of pin and the second shows digitalRead of every pin, rest is not important.

And there is nothing else connected? Then, yes, it does sound like a faulty board. It seems unlikely to be the atmega328 that is faulty, but if you have an Arduino Uno R3, you could try swapping the chips to confirm that.

You could also check the solder joints on the board, under the chip socket and under the female headers for pin 9 to see if you can see any solder bridges or splashes. If a solder bridge/splash was shorting the pin to ground, that would explain what you have seen, and would be quite easy to fix with a soldering iron.

1 Like

Also what i forget to mention is that, when shorting to ground nothing happen, but shorting with 5V changes state to HIGH and when unshhorten, going back to LOW, if this any important

Okay, i have checked the atmega328, changed it with the one from Arduino UNO and everyting works fine, so atmega on DFR was somehow broken. Thanks very much

I'm surprised that the chip is faulty on just one pin like that, but at least it's easy to fix. You can buy atmega328p with Uno bootloader installed on eBay etc. Or a blank atmega328p and use your other Uno to burn the bootloader into the new chip.

Unless you plan to return the whole Uno with the bad chip to the vendor, of course.

I've seen it happen. I worked for a testhouse. A customer used a certain microcontroller in its products and paid us to run an additional check of the microcontroller when it came from the manufacturer and before it was shipped to them.

The manufacturer's process was good, there were never problems with the microcontrollers. Till one day we started to get batches where the input leakage on one pin on some microcontrollers of the batch exceeded the limit. Taking random samples from the batch showed that, although input leakage was within the limits, it was significantly higher than the golden samples that we had. It was quickly determined at our side that is looked like an ESD problem.

Obviously the manufacturer blamed us and we told them that it happened at their side. Customer told the parties to sort it out, they were not going to pay the manufacturer or us till such time. At the end of the day, it was the last step in the manufacturer's process (placing the ICs in the tubes) where the problem occured.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.