# PIR Breakout signal WORKS ONLY in Arduino - 1uA (EKMB1107112)

**URL:** <https://community.sparkfun.com/t/pir-breakout-signal-works-only-in-arduino-1ua-ekmb1107112/44609>\
**Category:** Distance\
**Created:** [October 20, 2022, 9:51am UTC](https://community.sparkfun.com/t/pir-breakout-signal-works-only-in-arduino-1ua-ekmb1107112/44609 "2022-10-20T09:51:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mvp](https://avatars.discourse-cdn.com/v4/letter/m/5f8ce5/32.png) [@mvp](https://community.sparkfun.com/u/mvp)\
**Post date:** [October 20, 2022, 9:51am UTC](https://community.sparkfun.com/t/pir-breakout-signal-works-only-in-arduino-1ua-ekmb1107112/44609/1 "2022-10-20T09:51:08Z")

</div>

Hi.

I bought the SparkFun PIR Breakout - 1uA (EKMB1107112) [https://www.sparkfun.com/products/17373](https://www.sparkfun.com/products/17373)

and I test it with the basic example on an Arduino uno board. Everything works as expected.

The signal outputs 1 when movement is detected and 0 when there is no movement.

So far the sensor board works on Arduino uno.

the wiring is exactly as described in the hookup guide and the code is

```auto
#define PIR_PIN 2 // PIR output on D2
#define LED_PIN 13 // LED to illuminate on motion
#define DEBOUNCE_TIME 750

void setup() 
{
  Serial.begin(115200); 
  // Set the PIR Output signal as an input for the microcontroller:
  pinMode(PIR_PIN, INPUT);

  // Configure the LED pin as an output
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW); // Turn the LED off

  // Wait for 30 seconds for the PIR to stabilize after power on:
  Serial.println("Waiting 30 Seconds while PIR warms up");
  for (uint8_t seconds = 0; seconds < 30; seconds++)
  {
    Serial.println(seconds);
    delay(1000);
  }
  Serial.println("PIR Warmed up.");
}

void loop() 
{
  // The PIR's output is active high
  int motionStatus = digitalRead(PIR_PIN);

  // If motion is detected, turn the onboard LED on and print an object was detected:
  if (motionStatus == HIGH) 
  {
    Serial.println("Object Detected!");
    Serial.println(motionStatus);
    digitalWrite(LED_PIN, HIGH);
    delay(DEBOUNCE_TIME);
  }
  else // Otherwise turn the LED off and print All Clear:
  {
    Serial.println("All clear!");
    Serial.println(motionStatus);
    digitalWrite(LED_PIN, LOW);
    delay(DEBOUNCE_TIME);
  }
}

```

Now. I tried doing the same in another board: a Silabs EFR32FG32 dev board [https://www.silabs.com/documents/public … -guide.pdf](https://www.silabs.com/documents/public/user-guides/ug508-brd2600a-user-guide.pdf) and it doesn’t work at all.

I started with a very simple process, just to read the signal pin (OUT) from the board. and the signal never changes

All I’m doing from the Silabs board is 1. configuring the pin for input and 2. reading the value

```auto
GPIO_PinModeSet(PIN_PORT, PIN_NUMBER, gpioModeInputPull, 1);

```

```auto
printf(GPIO_PinInGet(PIN_PORT, PIN_NUMBER))

```

I tried different input configurations for the pin and different pins. but the way it is configured works very well with other simple sensors.

I successfully read the signal using other sensors like this one [https://www.sparkfun.com/products/13285](https://www.sparkfun.com/products/13285)

and also a hall effect sensor just to read the signal and make sure it is not a Silabs problem.

I’m not a hardware expert, I just need to get movement signals from a good quality PIR sensor.

Are there any other things that I’m missing to connect this breakout with another board different than arduino UNO?

Any ideas what am I missing ?

thanks

---

<div class="post-metadata">

**Author:** ![TS-Russell](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/ts-russell/32/6092_2.png) [@TS-Russell](https://community.sparkfun.com/u/TS-Russell)\
**Post date:** [October 20, 2022, 9:14pm UTC](https://community.sparkfun.com/t/pir-breakout-signal-works-only-in-arduino-1ua-ekmb1107112/44609/2 "2022-10-20T21:14:38Z")

</div>

Not familiar with that board, but it looks like you’re using it as input with internal pullup? Maybe try without that

Also, ensure that pin #1 is a digital pin?

---

<div class="post-metadata">

**Author:** ![mvp](https://avatars.discourse-cdn.com/v4/letter/m/5f8ce5/32.png) [@mvp](https://community.sparkfun.com/u/mvp)\
**Post date:** [October 24, 2022, 11:43am UTC](https://community.sparkfun.com/t/pir-breakout-signal-works-only-in-arduino-1ua-ekmb1107112/44609/3 "2022-10-24T11:43:08Z")

</div>

Thanks @TS-Russell.

I figured it was a pin configuration.
