Mega2560: Digital Pin30 always high

Hi,

I have to admit, so far I have almost zero experience with the Arduino. But I use it for my Reprap 3D printer, where its hooked it up with a shield, which among others carriers Pololu A4988 motor drivers.

Recently, I fried two of those motor drivers and now I am drying to find the root cause.

As mentioned with actually zero Arduino experiences, I was thinking “how can I check if my Arduino Mega2560 is broken?”. What I did: I found a sketch called “Blink”, which I applied to all pins from 0 to 53. Interestingly, while for all pins the LED blinked as expected, pin 30 behaved differently: at pin 30 the LED is ALWAYS on, even after sending a “digitalWrite(30, LOW)”.

Additionally I tested the AnalogIn-Pins with an example sketch “AnalogReadSerial” and a potentionemter: all AnalogIn Pins behaved as expected (by turning the poti, the numbers on the SerialMontior changed accordingly).

I am wondering: is this for me strange behavior of Pin30 really a reliable indicator that the Arduino is really broken and I have to throw it away?

It is possible that a single pin is damaged. So yes, the Arduino Mega is broken.

Can you check the pcb board ? Perhaps there is a shortcut or a solder drop.
When the Arduino Mega is turned on, and no pinMode() is done (you could upload an empty sketch), is that pin still high ?

Hi Peter_n,

thanks for your quick reply.

When I upload

void setup() { }

void loop() { }

and connect the LED to Pin30, yes the LED still is on.

Checking the PCB isn't for me an easy task. I am not that experienced with electronics and have no glue how to start checking the PCB.

You could use a magnifier, start at pin 30 and look for strange things. Do you really need pin 30, or can you use another pin ? You have checked them all, and the others are okay.

But in the end.... I think you have to buy an other Arduino Mega board.