How to set up GPIO in Location Beacons?


Location Beacons open up new opportunities to wirelessly control different devices with your app. Just connect a beacon to an item via GPIO port and voila! You are ready to manage the device with your app.

How does it work?

GPIO is an electronic interface that you can use to connect various devices to the Internet of Things. You can read more about the general concept here: What is GPIO? 

To get started you will need:

  • Location Beacons (only Location Beacons have the GPIO port)
  • compatible iPhone or Android phone with Estimote app installed
  • Cables (jump wires). You can find them in any hardware store.
  • Device you want to connect it to (LED lamp, push button, etc.)

Test it out with our Estimote app:

  1. Go to the Estimote app
  2. Tap on the beacon and scroll down to GPIO field
  3. Check the position of the GPIO port pins on the beacon and available modes.

It looks like this:


You need to use the GND pin and one of the GPIO pins (GPIO0 or GPIO1).Under Configuration you can choose the mode you want to use. State field will tell you whether there’s a connection with the external device or not.

Input mode allows you to turn your beacon into a receiver of the data, depending on the external device connected to it. A simple example would be a push button transmitting its status through the beacon, directly to an app.

To test it, connect the Location Beacon to the button with jump wires (we are using male-female wire, but you can use any depending on the idea). Once you are connected, pushing the button will change the State of GPIO pin to High.

Depending on what you want to do, you can choose one of three options for the Input mode:

  • Input No Pull sets the pin to Input without setting any default state.
  • Input Pull Down sets the pin to Input with the default state "low" if no input is connected
  • Input Pull Up sets the pin to Input with the default state "high" if no input is connected

Output mode turns the Location Beacon into a controller of the device connected. Location Beacons send data to the device via GPIO, making it possible to manage it remotely. Connecting it to the LED lamp is a simple way to test it. For this, the best way to go is the red one. Once again, make sure the wires connect the Location Beacon pins to the LED lamp legs.

Now changing the state from Low to High will turn on the LED lamp.

The data on GPIO state is broadcasted in the Telemetry packet and you can pick it up with our SDK 4.0 to make your app control the external device or receive data from it. After you’ve tried basic functionality of the GPIO port in Location beacons, imagine countless opportunities for remote control over various devices!

Now you know how to use GPIO port in Location Beacons, so go ahead and try it! It's easy as that:

Have a great idea on how to use GPIO and want to discuss it with us? Have questions about GPIO that are not answered here? Post on our forums or send us an email!

Was this article helpful?
0 out of 0 found this helpful

2 Comment(s)

  • Avatar
    rubeea jaffari

    Is this GPIO feature available for android devices? If so, pls provide a link or demo illustrating its setup and usage.


  • Avatar
    Chris Jones (Non-Jabil)

    I notice that the location beacon has Vcc In pin. Can this input be used in place of batteries? If this is the case, will power cycling allow the beacon to resume transmission of packets?

Estimote is