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:

image

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.

In this example (Tombot - TX-CR181 Target Sports AOD - watch face for Apple Watch, Samsung Gear S3, Huawei Watch, and more - Facer):
meter

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!!! :astonished: