I started to travel in a van a few months ago and the trip has gone well. Sometimes finding a parking spot where the ground is flat is impossible and you have to put leveling blocks under the tires otherwise you might be sleeping with your head slightly tilted downwards which feels odd.
I had had an idea for an app that tells you pitch and roll of the car already quite some time. Normal inclinometer app does not work very well for this purpose as you want to see the app while you are driving -> you need to place your phone on a phone holder -> your phone will not be on same level in the holder as your car floor. So the app needs a calibration functionality that computes and stores difference between the phone orientation on the holder and the level ground.
After checking if there exists a working app already, I only found apps which either did not have a calibration functionality (Yescapa Level), or the calibration was in my opinion done incorrectly/not accurately (Camper Leveler).
So I built levelmyvan.com. It’s free, does not need a registration and does not have any adds or tracking. It stores the calibration and some user settings on the browser local storage. It can also be used offline if it has been loaded at least once (uses web workers).
The calibration is based on measuring the phone orientation twice: while the vehicle is in the initial position and the second one after rotating the vehicle 180 degrees. This allows the app to measure the inclination of the current parking spot and to determine the true inclination of the phone holder in respect to the vehicle wheels. In other words, the calibration can be done even in uneven ground, but the vehicle needs to be turned around once.
If the user gives permissions to the device location (GPS), also sun rise and sun set locations in respect to the vehicle can be displayed.
The app should work in most phones which have an accelerometer. Tested on a Pixel 4a + Chrome and on some kind of iPhone + Safari.
I have noticed that at least on the Pixel 4a, the orientation (compass) of the phone is sometimes reported very inaccurately and you can see in the app that the returned value from the sensors is drifting for multiple seconds until converging into stable value. So I think it’s best to open the app at and let it get stable sensor reading for some seconds before trusting the values.
Let me know if the app is useful or you would like to see some additional features 🙂