Smooth gauge needle animation

I recently started learning Blender and I need some hints about animation. In the Game Engine, I want to display a gauge with a needle (think classical speedometer) which is set by values coming in over the network.

It's supposed to look very smooth. Therefore, when moving the needle, I would like to rotate it with a bezier-like movement to the new value. This means I need an animation that I can parametrize with (rotation_start, rotation_end) values from a Python script and then playback (like playAction() on objects).

I have tried doing this with Actions/Drivers, but was unsuccessful.

What is the best way to solve this?

• Have you tried using Lerp? On the rotation I mean. Without using premade animations – Daniel Holst May 11 '17 at 14:33
• @DanielHolst Thanks, that would work too.. I prefer the "slow parent" solution though because it is more 'visible' in Blender and less hidden away in Python. – JackD May 15 '17 at 12:58

Assumption:

The speedometer does not move or rotate. It stays at the same place in scene.

Design:

Animate an invisible object (axis) that turns according to the input values.

Parent a visible indicator (needle) to the axis. Enable slow parent (Properties editor / object tab / Relation Extras panel) with an offset > 0.

Effect:

while the axis immediately shows the received value the needle will smoothly go for that pose.