---
title: Pedometer
description: A library that provides access to the device's pedometer sensor.
sourceCodeUrl: https://github.com/expo/expo/tree/main/packages/expo-sensors
packageName: expo-sensors
iconUrl: /static/images/packages/expo-sensors.png
platforms: ["android", "ios"]
---
`Pedometer` from `expo-sensors` uses the system `hardware.Sensor` on Android and Core Motion on iOS to get the user's step count, and also allows you to subscribe to pedometer updates.
## Installation
## Usage
```jsx
const [isPedometerAvailable, setIsPedometerAvailable] = useState('checking');
const [pastStepCount, setPastStepCount] = useState(0);
const [currentStepCount, setCurrentStepCount] = useState(0);
const subscribe = async () => {
const isAvailable = await Pedometer.isAvailableAsync();
setIsPedometerAvailable(String(isAvailable));
if (isAvailable) {
const end = new Date();
const start = new Date();
start.setDate(end.getDate() - 1);
const pastStepCountResult = await Pedometer.getStepCountAsync(start, end);
if (pastStepCountResult) {
setPastStepCount(pastStepCountResult.steps);
}
return Pedometer.watchStepCount(result => {
setCurrentStepCount(result.steps);
});
}
};
useEffect(() => {
const subscription = subscribe();
return () => subscription && subscription.remove();
}, []);
return (
<View style={styles.container}>
<Text>Pedometer.isAvailableAsync(): {isPedometerAvailable}</Text>
<Text>Steps taken in the last 24 hours: {pastStepCount}</Text>
<Text>Walk! And watch this go up: {currentStepCount}</Text>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: 15,
alignItems: 'center',
justifyContent: 'center',
},
});
```
## API
```js
```