Go Down

Topic: Built-in LED defect on MKR1000 (Read 940 times) previous topic - next topic

haeygen

Hi. I am having troubles switchting the built-in LED of my MKR1000. The device is new.

I have tried the standard example "basics->blink" without success:

Code: [Select]

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}


I have also tried to use port 6 and 13 without using the constant LED_BUILTIN just in case. Further I used a small program (found searching google) that iterates through all ports.

Nothing works and the built-in LED (L) stays off.

The MKR1000 seems to work fine otherwise however, as I can run examples like "WiFi101->SimpleWebServerWiFi".

I can only think that the LED is actually defect. Any other ideas what to try out, or what am I doing wrong? Thanks!

pert

The MKR1000 LED is on pin 6 rather than 13 as on the Uno and Mega. LED_BUILTIN should also work. I don't know why the LED on your board isn't working, that blink sketch should definitely work so it sounds like you have a bad LED on your board.

haeygen

Pert, thanks for your reply. It is indeed the LED that is the problem. I have now measured with a voltmeter, while running the blink sketch. It jumps from 0V to ~3V and back as expected.

jahshueth

I am having the same problem, should I return this and get a new one

ballscrewbob

Before you send them back you should change "built in" for the ACTUAL pin

Code: [Select]


// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(6, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(6, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(6, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}


That would confirm for sure that it is indeed the LED.
One of the IDE;s (not sure which) had an issue and did not correctly set pin 6 for the MKR when calling built_in.

It may not be the answer you were looking for but its the one I am giving based on either experience, educated guess, google or the fact that you gave nothing to go with in the first place so I used my wonky crystal ball.

Go Up