Image caption Ben Whishaw played Freddie Lyon in The Hour

British actor Ben Whishaw has been cast as Q in the new Bond film Skyfall, his agent has confirmed.

The role of 007's gadget designer was played by Desmond Llewelyn in From Russia With Love and most recently by John Cleese, opposite Pierce Brosnan, in 2002's Die Another Day.

At the age of 31, Whishaw is 12 years younger than Bond actor Daniel Craig, a first for the Q character.

Whishaw recently starred in the BBC's 1950s news drama The Hour.

He is due to play Richard II in a new BBC Shakespeare adaptation which is part of next year's cultural programming to coincide with the Olympics.

The actor played Ariel in Julie Taymor's recent film adaptation of The Tempest opposite Dame Helen Mirren.

His other credits include Criminal Justice, Brideshead Revisited and the literary big screen adaptation of Perfume.

Q is the head of Branch Q, the fictional armoury division of the secret service. He appeared briefly in the first Bond film Dr No in 1962 under his real name Major Boothroyd, played by actor Peter Burton.

Image caption Desmond Llewelyn's final Bond film was The World Is Not Enough

His next appearance was in 1963 in From Russia With Love, played by Welsh actor Llewelyn, who played the role in every subsequent Bond film, except Live And Let Die, until his death in 1999.

The character returned just once in 2002, played by former Python Cleese.

As well as Craig returning as 007 in his third outing, British actors Naomie Harris and Albert Finney will join him in the 23rd Bond film, due out next year.

Oscar-winning Spanish actor Javier Bardem has been cast as Skyfall's main villain.