6
\$\begingroup\$

I've made some tests with my Arduino UNO, all worked great: analog i/o, digital i/o, serial i/o. Then I've noticed that built-in LED on pin 13 is always on.

I've uploaded an empty program like void setup(){} void loop(){} and it still was on. When I manually turned it off by digitalWrite command it switched off. So it works well.

I just want to know if I've broken the board somehow or it's just some feature, which I do not get?

NOTE: a mate of mine has the same board with the same problem. Any ideas? Thanks much!

\$\endgroup\$
  • \$\begingroup\$ I'm not sure, but I think that it's set to INPUT with the internal pull-up activated by default (probably to reduce noise). Does the LED turn off if you set pinMode() to OUTPUT for pin 13? \$\endgroup\$ – exscape Sep 7 '12 at 8:47
  • \$\begingroup\$ Yes, it does! I've just checked it. \$\endgroup\$ – Kolyunya Sep 7 '12 at 8:51
  • \$\begingroup\$ I'd look at platform if it is actually Open Hardware/Firmware platform. If not, then who knows ? \$\endgroup\$ – user924 Dec 18 '12 at 5:53
7
\$\begingroup\$

Taking a look at the Arduino Uno's schematic explains this, if I understand the schematic correctly. I don't own an Arduino Uno, so I can't verify with a multimeter, so I might be wrong.

As I understand from the schematic, pin 13 of the arduino, the SCK pin, is connected to an op amp buffer. When you (or anyone) upload a program that doesn't do anything to pin 13, it's default state is an input without a pullup.

When a digital pin is configured as an input without a pullup resistor, it has a high impedance (high-Z) and unspecified voltage. It can be 0V, but might be something like 1.5V as well. The measurement will depend on the impedance of your meter, among other things. Upload an empty sketch and check the voltage on the pins - you'll find they're pretty random and not always 0V.

Now, a high-Z input pin with, say, a few volts will not be able to power an LED. However, this voltage is buffered by the Uno's op amp, and repeated on the output. This op amp will be able to power up an LED, and apperently, it does.

I think the Arduino team should add a high ohmage pulldown resistor (e.g. 50kOhm) to make this less confusing.

\$\endgroup\$
  • \$\begingroup\$ I've measured the voltage between pin13 and the ground and it was 0 volts... \$\endgroup\$ – Kolyunya Sep 7 '12 at 9:09
  • \$\begingroup\$ My guess would be that if your multimeter has a fairly low impedance (which is a bad thing for measuring voltage), it can pull the voltage down. \$\endgroup\$ – Jonny B Good Sep 7 '12 at 9:11
  • \$\begingroup\$ Similar behaviour as pin D13 can observed with pins D0 and D1 (from the top of my mind). These pins are used for serial communicationst and have pull ups to Vcc too. \$\endgroup\$ – jippie Sep 7 '12 at 9:17
  • \$\begingroup\$ You cannot measure anything on-board in series without unplugging something else. So you're I think probably measuring correctly. The correct way to measure the SCK pin is thus: first locate the pin you want to measure. Set the multimeter to an appropriate voltage range (0-2 or 0-20). Connect the black probe of the multimeter to ground (for the arduino, the easiest way is using the USB-B metal shielding, it's connected to GND). Then connect the red probe to the pin you want to measure. And so you have connected the multimeter in parallel to the pin. \$\endgroup\$ – Jonny B Good Sep 7 '12 at 10:01
  • \$\begingroup\$ If you wanted to measure something in series, it would be the current. Then you have to use the current port of your meter. This way the multimeter has low impedance and "pretends" to be a piece of wire. \$\endgroup\$ – Jonny B Good Sep 7 '12 at 10:03
2
\$\begingroup\$

"So it works well."

Apparently your board isn't broken, since the LED can be switched on and off, and your mate's Uno shows the same behavior. By default the LED seems to be used as a power indicator, and to draw your attention to it: "Hey, if you need a LED don't forget you already have one on the board!". It's called a "feature" :-). Just assign any function you wish to it.

\$\endgroup\$
  • \$\begingroup\$ Very strange, since there is another LED called "POWER LED"... But ok... \$\endgroup\$ – Kolyunya Sep 7 '12 at 8:33
  • \$\begingroup\$ @Kolyunya - That's why I say "by default". It isn't needed for that, so you can control it yourself for whatever functionality you need. \$\endgroup\$ – stevenvh Sep 7 '12 at 8:36
  • \$\begingroup\$ Does your pin13 behaves the same way (if you have this board)? Thanks for a reply! \$\endgroup\$ – Kolyunya Sep 7 '12 at 8:38
  • \$\begingroup\$ @Kolyunya - No, I don't have one, but I figure the idea is to draw your attention to it: "Hey, if you need a LED don't forget you already have one on the board!." \$\endgroup\$ – stevenvh Sep 7 '12 at 8:42
  • \$\begingroup\$ I may be wrong, but older UNOs did not had this "feature", so it is easy to get confused. And yes, the LED+resistor of prevoius versions (and chinese nano/micro/etc) works like suprisingly strong pulldown in some cases and I had to change some of my projects, where I forgot the "pulldown" effect of LED on D13. So this change is good step, but can confuse people used to older (and worse) behavior. \$\endgroup\$ – gilhad Apr 11 '18 at 16:16
1
\$\begingroup\$

The arduino has a nice pull-up, but I also noticed that the LED blinks a few times when uploading stuff. And yes, I know what the TX and RX leds are, but pin 13 works too...

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.