# How do I create a gauge-styled battery indicator thingy?

I was impressed with how people are able to create some watchfaces with a gauge-styled indicator, like the ones you’d see on cars. This makes me want to make my own, but I was wondering if anyone can help me onto how people are able to pull this off, specifically from @Tombot 's watch shown here:

I’ve been wanting to recreate this VW Rabbit clock, and other derivatives that utilizes these types of gauges.

Any help is appreciated! Thanks

3 Likes

I am not trying to duck out but the question is a Bit Vague to me . It is best if you show Us the resources . Dial And Hand . As it is very much to do with the Range of the dial . Angle covered and Data Included . It could be Kilo Calories Burnt .
In creator there is collection of Faces Featured in Community that are all inspectable . When you get stuck get back .

2 Likes

I’ve done it and I was quite confused as to what these tags even mean.

This is in the rotation box:

“(clamp(((#ZHR#*1.09)),10,190)-99)”

2 Likes

Yup . The Clamp thing is A little like Voodoo . If You can master that It is the Pinnacle of coding . So apply that code to a Hand and see what it does when you change the numbers . Try substitute #ZHR# Heart rate .with #BLN# Battery .

Sorry I had to go and eat my lunch .

I am a great Believer in keeping it as simple as possible an follow the Peter Perfectly Descriptive Maths Type Formulas . @petruuccios

`((#ZHR#*(180/200))-90)`

(180/200) is the scaling factor for the full range of the dial . 180 degrees full range over 200 max heart beats . The hand is started from -90 degrees off set from Top Dead Centre .
In this case The Hand will be vertical for most normal Heart Rate .

clamp is used above to limit the Range of data use from the Heart Rate Sensor.

Have a play with these things .

Yes, so a meter with a hand is basically mapping a value range to a rotation.

For values, such as battery level, the range is finite: 0-100.
That means if you have a full circle, then 0=0 degrees, 100=360 degrees. So the rotation for the battery meter is `(#BLP#*3.6)`.
In the picture you posted from my watch face the meter rotates only 180 degrees, the formula is therefore: `(#BLP#*1.8)`, but it should start at 270 degrees, so the formula is `(#BLN#*1.8+270)`

Now, take steps for example, the value is infinite. So if you want to limit the rotation to a maximum rotation, you can use the clamp function.

The steps meter is limit to 6000 steps, and the digital display is limited to 9999, because there is not enough space for 5 digits. The formula for the digital number is:`(clamp(#ZSC#,0,9999))`

The rotation formula is a little bit more complicated. I need to limit the rotation with clamp because I do not want the hand to rotate past the 6, and it starts at a specific angle. The rotation is from -135 degrees to 135 degrees = total of 270 degrees. This means I need to put 6000 steps into 270 degrees, which is a factor of 0.045. So the formula is `(clamp(#ZSC#*0.045-135,-135,135))`

Hope that all makes sense…

3 Likes

this is a cool idea!!!