There are a few requirements a mobile device needs to meet to be able to receive signal from beacons.
Hardware
It has to support Bluetooth Smart (also known as Bluetooth Low Energy or BLE) and needs Bluetooth enabled to be able to detect beacons. Most mobile devices today ship with Bluetooth on by default.
You can find a comprehensive list of BLE-compatible devices on the official Bluetooth site.
If content in the app is fetched from the cloud, Wi-Fi or cellular connection is also required. It’s also mandatory if the app uses Estimote Cloud API.
Software
BLE support was introduced in iOS 7 and Android 4.3. You need devices running these or higher versions of mobile systems to interact with beacons.
Also, remember that it’s not the smartphone itself that triggers actions based on proximity to beacons. Rather than that, it’s an app that detects beacons by using Estimote SDK or native frameworks by Apple (for iBeacon) and Google (for Eddystone).
In case of iOS devices, the app also needs to ask for permission to use Location Services.
How to obtain Location Services authorization for iBeacon apps?
Related knowledge:
How does an Estimote Beacon work?
Other platforms
In theory, any device with BLE support can detect beacons. However, to ‘interpret’ the signal, it needs Estimote SDK, Apple’s Core Location, or Google’s Nearby API. (Note: With Google discontinuing Nearby Notifications starting on December 6th, 2018, users will no longer be able to receive notifications through Eddystone-URL.) If you want non-iOS/Android devices and tools to work with beacons (for example you want to use PhoneGap, or build an app for Raspberry Pi), you might need to create these tools yourself.
There’s also a lot of resources our amazing community of developers has already built. You will find them here: