Unexpected low current output

PLEASE READ THIS I CAN'T POST MORE COMMENTS FOR TODAY SINCE I AM A NEW MEMBER

Nah just one that like has more info on the matter at hand. I'm sure using a multimeter has been studied intensively. I only soldered the one arduino. The rest I just used the way they came and tested them with an LED soldered to a resistor before using the multimeter.

**Edit:**Also I just signed up on this website so that's all the replies I can have. Unfortunately the website does not allow me to upload pics directly since I'm a new user. I can also no longer add replies today so please keep checking this last comment for immediate replies.

EditCan you please Elaborate on what I'm doing wrong. Saying that I am handling the microcontroller wrong doesn't help me without context.

Edit: Yes woo I don't know how my brain farted that hard that was a dumb mistake, But luckily the boards seem to be fine (besides the defect they already had). I did have extra boards that are unopened but upon testing one with my LED-resistor yesterday (after I was told that I may have fried all of my boards), it behaved the same way the rest of the boards did.

I have one or 2 other boards still in their bags that I will test by doing the following:

pin -> ammeter -> 220 ohm with LED -> gnd

If something is wrong with that please let me know.

I am not entirely sure how to look for flaws on the board.

Edit:

Problem solved? analogWrite(pin, 1023) will set the value of any pin to HIGH and produces the right current.

Anyone has an explanation?

Applying a current meter in parallel with a voltage source is a common cause of blown fuses in multimeters. Eventually the user is advised that it should go in series. But what you are doing would be fine, except that it causes the current flow to exceed ratings.

What you are doing wrong is not how to use the DMM.
The usage of the DMM as a current measurement is correct.

It is a problem of handling microcontroller.

1 Like

Or the IC's are counterfeit. How about some close ups of the boards?

The time line matters. If you only connected LEDs at the start, and observed that they were dim, before you made those current measurements, then you're off the hook.

1 Like

What I would do. Go back and start fresh. Set the bare boards upon your desk and see it as an investigation. Start with simple steps to be sure. To test the outputs without damaging them, you could load them with a maximum safe load like 200 ohms. Then measure the voltage at the output pin. It would give you an idea of how low the output impedance is. Always be consistent, if you use some ground pin to measure the voltage on some pin, use the same ground to measure and compare with a different one. Then start methodically comparing pins with each other on a board, and also with pins on other boards. You speak of context. Keeping things in this context will exhibit clear patterns more easily.

Look for sneaky flaws - I had one set of 10 boards that had an open on the ground to the programming port. That one had me going on for days!

Do you have any fresh units, still in poly bags, to compare with?

1 Like

I think you'll have to assume that board is fried now.

Never do this! You've shorted an output. Current meters are effectively short-circuits.

By the way if you have clone boards you might as well expect them to be broken, using counterfeit components - not worth the trouble and best avoided.

No, in the same way as I can't direct you to an article that says that driving your car off a cliff will reduce its resale value.

However if you search for:-
how to use a multimeter

You will not find the way you tried to measure current recomended or described in any way. Maybe some of the better tutorials might mention it is not the way to measure current.

2 Likes

We measure the current flowing through a load. Without a load, you measure the maximum current that source can deliver even if it is destructive! A current meter has very low resistance so as not influence the measurement.

1 Like

You're painting with a very wide brush, although such problems are on the rise. The key is to learn who are the reliable clone manufacturers and suppliers. What gets you into trouble, is trying to save five cents when you're ordering a five dollar part. Then you are among the wolves.

I'm not going to name it here, but I can think of one brand that makes boards and modules which in my opinion, meet and sometimes exceed genuine part quality.

There is also some innovation going on, boards that have conveniences not offered on the standard models, like a full complement of pin headers...

1 Like

Yes. Your original code has a bug that causes A0 and A1 to be INPUTs. Hard to say more without the code. Again problem caused by the user, not The Evil Chinese Counterfeiter.

1 Like

That would be explained by something in the mysterious code that we're not allowed to see. Previously, I assumed that you were making the measurements with some simple sketch that just turns on the LED. Now I find out you're playing with PWM. Well, that makes a huge difference, introducing a huge unknown factor. So unless you post your entire sketch, the strong possibility of a software issue remains.

How on earth did you come up with 'analogWrite(pin, 1023)'? The input range is expressly documented as 0-255. What is happening, is that the four upper bits of 1023 are masked by the function, 255 is what remains, the function internally handles that value differently, by turning off PWM, configuring it as an output, and setting it to HIGH.

Try substituting 'digitalWrite(pin, HIGH)' in the same code and you will see.

1 Like

Here is the test code I was using:

void setup(){

  for(int i = 2; i <= A5; ++i){

       pinMode(i, OUTPUT);
  }
}

void loop() {
  for(int i = 2; i <= A5; ++i){
      digitalWrite(i, HIGH); 
  }
}

The only change I made was

digitalWrite(i, HIGH); -> analogWrite(i, 1023);

That made all the difference.

But I tested A0 and A1 individually with very simple code. I'm not sure how that could have happened.

Also if this were the case digitalWrite and analogWrite should have had the same results no?

  1. You have problem with your code.
  2. You don't show the code.
    What do you expect???

EDIT: Sorry, I have missed the previous post with code.

I believe there is a suggestion that analogWrite actually sets the pin as an output whereas digitalWrite correctly does not. So unless you define the pin as an output, setting it HIGH with digitalWrite will put it in INPUT_PULLUP mode.

2 Likes

Oh oops you were right I missed what the other person said. Seems that I am also missing lots of stuff lately like the fact that when I was playing around with I2C I forgot to define the pins using the same for loop for the secondary as I did for the primary. I then proceeded to copy said loop to the test script, and in the few days of testing I guess I was convinced that I set the pins up correctly and tested them the way they needed to be tested. I'm still blaming it on the evil chinese manufacturers ofc.

Anyway, thanks for the help guys, I made this way too hard for you. I should have posted code and the current and voltage measurements in the original post, but I missed that too. Thanks for sticking with me on this one. Really appreciate it.

Come to think of it, I should probably quit this hobby and like stop thinking about studying engineering and live on a farm somewhere with no access to electricity. It doesn't seem like something I would excel in doing.

If everyone who did such mistake left this hobby there would be very few people left. You just need to learn how to find it.

Should you? :confused: Hard to say. :grin: Perhaps, perhaps not. :astonished:

Will you?

Absolutely not. This stuff is seriously addictive, perhaps not as addictive as nicotine, but not far behind if at all. :rofl:

The OP states cheap chinese Nano clones. That means the junk in my experience I'm afraid.