Turning an Android Phone into a BLE Beacon (iBeacon/Eddystone) Without Root
10 min read
Learn step‑by‑step how to turn any Android phone into a BLE iBeacon or Eddystone beacon without rooting, using free apps and simple configuration.
October 12, 2026 18:30
Why turn an Android phone into a BLE beacon?
Bluetooth Low Energy (BLE) beacons are tiny transmitters that broadcast a short identifier. Developers use them for indoor navigation, proximity‑based triggers, and IoT testing. Buying a dedicated beacon costs a few dollars, but you can prototype instantly with a device you already own. This tutorial shows how to make your Android phone act as an iBeacon (Apple’s format) or an Eddystone beacon (Google’s format) without any rooting or flashing.
Before you start
- Android version: 5.0 (Lollipop) or newer. The BLE advertising API was introduced in Android 5.0.
- Hardware support: The phone must support BLE advertising, not just scanning. Most mid‑range and flagship devices from 2015 onward do.
- Battery: Advertising runs continuously; keep the device plugged in or ensure a full charge.
- Permissions: Android 6.0+ requires location permission and, for scanning, location services must be turned on. Advertising itself only needs Bluetooth.
- Apps: We will use two free Play Store apps – Beacon Tools (for configuration) and nRF Connect (for verification). Both are lightweight and do not need root.
If your device does not appear in the list of supported advertisers, the hardware is limited to scanning only. In that case you can still test as a scanner but not as a beacon.
Understanding iBeacon vs. Eddystone
Both formats encode a UUID‑like identifier, but they differ in the fields they expose:
| Feature | iBeacon | Eddystone |
| Standard | Apple proprietary | Open, maintained by Google |
| Frame types | Only "UID" (UUID+major+minor) | UID, URL, TLM (telemetry) |
| Typical use‑case | Proximity detection for iOS apps | Cross‑platform web & app triggers |
Choosing one over the other depends on the client app you plan to test. For pure Android development, Eddystone is often simpler because you can broadcast a URL directly.
Method 1 – Using Beacon Tools (recommended)
- Install Beacon Tools. Open the Play Store, search for Beacon Tools by Radius Networks, and tap Install.
- Grant permissions. On first launch the app will request
Location permission. Accept it; Android requires location access for any BLE operation that could infer location.
- Enable location services. Swipe down the quick‑settings panel and turn on Location. This is mandatory for the beacon to be discoverable by other Android devices.
- Create a new beacon. Tap the
+ button, then choose iBeacon or Eddystone‑UID.
- For iBeacon, you will see fields for
UUID, Major, Minor, and Tx Power.
- For Eddystone‑UID, you will see
Namespace ID (10‑byte) and Instance ID (6‑byte).
- Enter identifiers. You can generate random values or copy ones from an existing beacon you are emulating. Example iBeacon values:
UUID: 74278bda-b644-4520-8f0c-720eaf059935
Major: 1
Minor: 100
Tx Power: -59 dBm
- Start advertising. Tap Start Advertising. The app will switch to a status screen showing Advertising and the current signal strength (RSSI).
- Verify the broadcast. Grab a second Android device, install nRF Connect (or any BLE scanner), open it, and start a scan. Look for a device named
BeaconTools or the custom name you set. Tap it to see the advertised payload – you should see the UUID/Namespace you entered.
At this point your phone is acting as a BLE beacon. Any app that listens for iBeacon or Eddystone frames will receive the identifier you configured.
Why each step matters
- Location permission & services: Android treats BLE advertising as a potential location source. Without these, the system will silently block the broadcast.
- Tx Power: This value tells scanners how far away the beacon is. The default of -59 dBm works for most indoor tests; adjust only if you need a different range.
- Verification: Scanning with a second device confirms that the payload matches what you entered, preventing silent misconfiguration.
Method 2 – Using Bluetooth LE Advertiser (alternative app)
If you prefer a lighter app without the extra iBeacon/Eddystone UI, Bluetooth LE Advertiser (by app2sd) provides a raw advertising interface.
- Install Bluetooth LE Advertiser from the Play Store.
- Open the app and tap + Add Advertise Data.
- Select Manufacturer Specific Data for iBeacon or Service Data for Eddystone.
- iBeacon: set Manufacturer ID to
0x004C (Apple) and paste the 23‑byte iBeacon payload (UUID + Major + Minor + Tx).
- Eddystone‑UID: add Service UUID
0xFEAA and Service Data consisting of a frame type byte (0x00) followed by Namespace and Instance IDs.
- Tap Start Advertising. The app will keep the beacon alive as long as it stays in the foreground.
- Test with nRF Connect as described in Method 1.
This method gives you full control over the raw bytes but requires you to construct the payload manually. It is useful when you need a custom frame that Beacon Tools does not expose.
Keeping the beacon alive
Android may pause advertising when the screen turns off or when the system applies battery‑optimisation policies. Follow these steps to ensure continuous broadcast:
- Disable battery optimisation for the advertising app. Settings > Apps > Beacon Tools > Battery > Unrestricted (or Allow background activity).
- Keep the device awake. In Settings > Developer options enable Stay awake (screen stays on while charging). If you cannot keep the screen on, use a small
WakeLock‑type app to prevent deep sleep.
- Use a power source. Continuous BLE advertising draws ~10 mA; over many hours this can drain the battery noticeably.
Troubleshooting common issues
Beacon not visible on the scanner
- Bluetooth is off. Verify both devices have Bluetooth enabled.
- Location permission denied. Re‑open the advertising app and grant the permission.
- Location services disabled. On Android 6.0+ you must turn on Location for BLE scans; otherwise the scanner will see nothing.
- Device lacks advertising support. Some low‑cost phones can scan but cannot advertise. Check the spec or try a different device.
- Advertising stopped after screen off. Apply the "Keep the device awake" steps above.
Wrong payload appears
- Double‑check the UUID/Namespace you entered. A single transposition will make the beacon look different to the scanner.
- When using the raw advertiser, ensure the byte order (big‑endian) matches the specification.
App crashes or freezes while advertising
- Some manufacturers (e.g., Xiaomi, Huawei) add aggressive background‑task killers. Add the advertising app to the whitelist in Security > Battery manager or similar.
- Restart the phone to clear any stale HCI state, then start advertising again.
Regulatory and privacy considerations
BLE beacons broadcast in the 2.4 GHz ISM band, which is globally unlicensed, but you should still respect local regulations:
- Do not increase the transmit power beyond the device’s default – Android limits the power to safe levels.
- Avoid broadcasting personally identifiable information (e.g., a phone number) in the UUID. Use random or test‑specific identifiers.
- If you plan to deploy the beacon in a public space, inform nearby users that a Bluetooth signal is being emitted.
Broadcasting a beacon continuously can be detected by nearby devices. Use it only for testing or in controlled environments.
Practical use‑cases
- App development. Test proximity triggers without buying hardware.
- Indoor navigation prototypes. Simulate a network of beacons by placing several phones around a room.
- Education. Demonstrate BLE concepts in a classroom setting.
- Temporary event signage. Broadcast a URL that points to an event schedule, then turn off after the event.
Wrapping up
By following the steps above you can turn any compatible Android phone into a fully functional iBeacon or Eddystone beacon without rooting. The process is reversible – simply stop advertising in the app and, if desired, uninstall the app. This low‑cost approach lets developers and hobbyists iterate quickly, test proximity‑based features, and explore BLE fundamentals without purchasing dedicated hardware.