K-9 from Doctor Who

Tony Harding's Original K9 sketch
Tony Harding’s Original K9 sketch

K9, occasionally written as K-9 or K•9, was the designation given to a series of intelligent, dog-like robots who served as companions of Professor Marius, the Fourth Doctor, Leela, Romana, Sarah Jane Smith, Luke Smith, and Starkey.

There were four versions of K9, Mk I, II, III, and IV.

K9 addressed whoever they were given to as “Master” or “Mistress” depending upon their gender, and used the formal “affirmative” and “negative” rather than “yes” or “no”. They were programmed to be both loyal and logical, with a penchant for taking orders literally, almost to a fault. Their striped collars mirrored the Fourth Doctor’s trademark scarf.

In the script, K9 was simply described as a “personal Komputa [sic] which is like a tin dog on wheels”, and was envisaged by Bob Baker and Dave Martin to be ‘performed’ by a smaller actor in a dog-shaped suit. The effects designer assigned to this story, Ian Scoones, did a series of preliminary sketches, the first of which looked somewhat like a fierce armoured Doberman, but due to the heavy workload of miniatures requirements for the serial, he had to hand the final design and building of K9 to his assistant, Tony Harding.

Harding had only two weeks in which to draw up plans for the machine; his main brief was that it should not look as if there were a man inside. This meant that “the Dog” (by which the production crew affectionately referred to K9) had to be remote-controlled.

Harding’s first design sketches were not that different from K9’s eventual look. From this a rough form test model of the basic shell was made, After assessing the different requirements the Dog needed to perform for the story; e.g. tail wagging, head movement, gun and probe etc., it was realised that the motor for these functions would have to be housed in the head. The original moulded head, therefore, had to be made larger to incorporate all the electronics for this. Once the final shell was made, the electronics could be fitted. The mechanics of K9 included rotating ear probes, telescopic ‘eye’ probe, extendible Computers and Doctor Whonose, flashing lights on the top and the ‘eye’ panel, waggling tail antennae, and ticker-tape tongue. The head could also move up and down. The shell was painted in gold/grey metallic. Around K9’s neck was a tartan collar, from which hung a silver disk. Surprisingly there was nothing engraved on the disk, not even K9’s name!

K9 was operated by effects man Nigel Brackley using a radio-control unit. The chassis housed his battery power source, servos, and motor. One of the two steerable front wheels was connected by the chain drive to the motor. One major problem with K9’s radio control was that it operated on the same wavelength as the studio cameras, causing several delays in the studio when K9, receiving jumbled signals from the cameras, went in the wrong direction and crashed into the set!

K9 was originally driven by a chain drive. Unfortunately, this was rather noisy to the extreme that composer Dudley Simpson was forced to compose loud incidental music for scenes that featured K9. One example is in The Sun Makers, where K9 is ‘sneaking silently’ up to a guard. We, the audience, can hear the loud whine of the motor, and the crashing music while the guard stands completely unaware of the ‘danger’ behind him!

In terms of TV continuity, there have been three separate K9s but in reality, there has been only one, which has been repainted and rebuilt several times over the years. K9 Mark One was written out of the series in The Invasion of Time, staying behind on Gallifrey to look after mistress Leela. There was an ulterior motive for this. The special effects designers wanted to rebuild K9 during the recess between seasons. It would have been a cheat to not explain the difference in K9’s appearance in the opening story of the following season, so a simple scene where the Doctor produces a box containing the components for a new K9 was added to the end of The Invasion of Time.

While the shell remained the same, the interior was changed. This new K9 was given a rubber belt in place of the chain drive. However, valuable studio time was lost because the drive belt tended to snap.

While the cosmetic changes were minimal (including the new metallic charcoal paint-work), in terms of series continuity K9’s character underwent a vast change. Gone was the product of 5000 AD technology, as was the case with Marius’s version. This new K9 was a product of the Doctor’s own technology and values. The gun was now only capable of stunning – not killing – and K9 now responded to a dog whistle. K9 also featured a vast memory bank, seemingly a mixture of the Mark One model, the Doctor’s own memory and knowledge, and that of the TARDIS.

K9 MI’s model also built around this time was a lightweight duplicate shell. This manageable prop was a necessity for scenes where K9 was to be carried by actors because the motorised version was far too heavy. Although the Mark Two K9 had a stronger motor, on its first location filming it still had to be either placed on hidden tracks or pulled along with string. So much for an improved drive system!

The second K9 lasted until the end of Season 17. The main operator was Nigel Brackley, who handed the task onto Mat Irvine for Season 18. Before recording for the new season started, Irvine and his assistant Charlie Lumm undertook a complete overhaul on K9 which was why he was written out of the main story to allow time to work on the machine.

The entire inner workings were stripped once again and over two weeks a new drive and power system were installed. The new mechanics of K9 included larger wheels in conjunction with front and back-wheel drive, while the radio control was updated to be more reliable.

A year later, K9 was given a brand new coat of paint (this time a metallic blue) plus a handle on the top of the shell to make carrying him easier, for his appearance in the K9 and Company – A Girl’s best friend.

K9’s distinctive voice was first provided by actor John Leeson. For The Invisible Enemy, Leeson’s voice was treated with a modulator to give it a more mechanical lilt, but for subsequent stories, he was able to provide the required distortion naturally.

The prop had 3 colours. He was a kind of gold/grey colour from The Invisible Enemy to The Invasion of Time, a darker grey from The Ribos Operation to Warriors Gate and the blue/grey colour scheme from K9 and Company – A Girl’s Best Friend onwards. More details on the K9 Timeline page.

  • Using NGINX to proxy flask and camera
    In my previous posts, I have managed to get webcam feeds and Flask serving a webpage. Now I want to use NGINX (pronounced “engine x”) to bring everything together and run it all on port 80 (HTTP). I have moved the ports around for Flask and the cameras to rationalise them a bit. I have not moved Mosquitto as that service is not being proxied by the web server. Installing NGINX To get this all to work, we need to install the NGINX web server. We are going to configure it to serve the static assets directly, so that Flask… Read more: Using NGINX to proxy flask and camera
  • Camera on a Raspberry Pi
    In my post about getting Flask running as a service, I included a screenshot with a large dark area as the background. In this post, I will work on filling it with an image from a web camera, which will run on the same Raspberry Pi. I will cover the guages in a later post. The software I am using is called Motion and is available for download from the project GitHub. The two cameras I am using are: Getting Motion onto the Pi with a USB Cam SSH onto the Raspberry Pi and log in. The following are run… Read more: Camera on a Raspberry Pi
  • Running Flask as a Service
    On my ROV, I am running the Python web server Flask. I want it to start automatically when the Raspberry Pi starts. For this, I need to make it into a Service. Flask displays the following warning on startup. Stating that you should not use it in a production environment, as it is not a development server. However, since I am not doing that, I should be fine. Running a Flask Application as a Service with Systemd Linux has this thing called Systemd that manages most services for us. Systemd’s configuration files are composed of sections called ‘units’. There are… Read more: Running Flask as a Service
  • Adeept Robot HAT for Raspberry Pi
    Subsequently to the Serial interface issues, I bought an Adeept Robot HAT from Amazon. I have been keeping an eye on it for a while. The schematics and example code for the Robot Hat are available to download, which means that I can work on utilising the designs in my own hardware solutions. A basic overview of its peripherals includes: Running the Example Code for the Adeept Robot HAT The example code is available from Adeept’s repository. Since it is Python, my wife, Tamarisk, is a professional Python programmer, so I take her advice on how best to work with… Read more: Adeept Robot HAT for Raspberry Pi
  • Serial issues with the Arduino Pro Micro
    The Arduino Compatible Pro Micro and the Arduino Leonardo both use the ATmega32u4, which has built-in USB communications. While this eliminates the need for a secondary processor or UART chip, it allows the Leonardo to appear to a connected computer as a USB device, such as a mouse or keyboard, in addition to the virtual (CDC) serial/COM port. While this sounds really useful, I was having a weird issue using a Pro Micro as a serial device with my ROV hardware, where, despite explicitly stating the baud rate and being able to turn on and off outputs while manually connected… Read more: Serial issues with the Arduino Pro Micro
  • Passwordless Sudo
    At home, I have a Raspberry Pi that I use to develop my ROV and K-9 software. Raspbian seems to have passwordless sudo, meaning you don’t have to enter the user’s password to run a command as root. I share this development machine with my wife, Tamarisk. In the interest of getting some more of the code written, at the expense of having a development machine available for some of the work while I am not at home, I have installed Ubuntu Server on a VirtualBox Virtual machine. The default setup is that to run a command as ‘sudo’, you… Read more: Passwordless Sudo
  • Programming an Arduino from the command line
    As part of my K9 and ROV projects, I am using at least one Arduino to control components such as the K9’s ears. Since the Arduinos will be fixed to the robots, I will program them via the Raspberry Pi. The version of Raspbian I am running is Raspberry Pi OS Lite, which does not have a Graphical User Interface, so we will need to install the Arduino command-line tools. Configure Arduino command-line IDE After a fairly default install, you will still need to install the specific parts for working with the Arduino. So log into the Raspberry Pi Linux… Read more: Programming an Arduino from the command line
  • The Internals of Doctor Who’s K9
    Ian Hughes’ 3D-printed files for K9 also include files to create internal components that fit under the side featuring the ‘K·9’ logo. (Yes, I have used an Interpunct.) The design features two panels held in place with 10 mm diameter magnets. Unfortunately, Ian does not include any colour information in his renders, which means that you need to find your reference images. A list of episodes featuring K9 is also available on the Timeline page. I want to know what colours to paint the K9 internals. There are some reference images from the School Reunion episode that show the K9… Read more: The Internals of Doctor Who’s K9
  • K9 Button Panel… Which layout?
    Bob Clough managed to get our Prusa 3D printer working again, so I am back to printing out parts of my K9. One of the parts is the K9 button panel, which is mounted on K9’s rear. Looking at the images I have assembled of K9’s timeline, I have the following three clear photos of the rear buttons. I prefer the layout from the Doctor Who episode “Search Out Science”, but I am not a massive fan of the third handle located on K9’s back just in front of the panel, so since there is a level of inspired by,… Read more: K9 Button Panel… Which layout?
  • Using Components in Other Fusion 360 documents
    In my previous posts, I got the dimensions for ISO 4017 Machine Screws and DIN 931 Bolts. In Autodesk Fusion 360 I have drawn the ISO 4017 screws, along with ISO 5032 hex nuts, ISO 7091 washers, and ISO 4762 Socket screws. I have not done the DIN 931 bolts, since I don’t use them. The Autodesk Fusion 360 file has been exported and uploaded to printables. It is available to download, so you can follow the instructions below on your computer. (Fusion 360 is free for personal use, so I still use it; if that changes, I will consider… Read more: Using Components in Other Fusion 360 documents
  • Setting up BlueOS for a Remote Operated Robot
    BlueOS is Blue Robotics Raspberry Pi software to control ROVs, it combines the functionality required to control robots and low-cost hardware
  • Building up Ian Hughes’ K9 Body
    Ian Hughes has done a lot of work on making a 3D-printable K9. Details of Doctor Who’s K-9 and other science-fiction models can be found on his Patreon page. I am currently working on printing the external parts for the main body, The parts are printed on our Prusa MK3 3D printer using a mix of random PLA (Polylactic acid) filaments. However, I am mostly using PLA+ from eSUN. I have managed to get the bottom ring printed out so far, this is the sections at the bottom edge of the image to the right. Unlike the diagram to the… Read more: Building up Ian Hughes’ K9 Body
  • #Makevember Post 02 – K9’s Back
    Today’s Makevember There seems to be very little consensus on the arangement of the colours of the buttons on the back of K-9, K9 has a 4 x 3 array of buttons on his back, I am using this image Binary kitten got me from the k9 at the Doctor Who Experience in cardiff as my guide for the lay out of the colours. I am going to have to print the back for my Remote Controlled K9 in multiple parts, so for today’s Makevember post all I need is the 3D design finished and ready to print, and the… Read more: #Makevember Post 02 – K9’s Back
  • #Makevember Post 06 – K9’s Back!
    I missed a Makevember post yesterday, and the one for today is going to be quite virtual again… Last time I did a post on K-9’s Back it was to work out how to read the buttons, and to do a first draft of the CADing up for the 3D Printed plastic part, This time its for the LEDs: The 12 LEDs are ‘Charliplexed’ so they only require 4 output lines on a micro controller.
  • Can you guess what it is yet?
    First test prints of my small K-9 head on our new Prusa 3D printer.
  • The eyes have it.
    After the print yesterday, I wanted to know what the 100% sized eyes would look like. Having also thought a bit more; I can think of a better way of constructing the head, so that is back to CAD for a re-design. The 100% eyes seem to have printed only one layer in the in-fill part, so that will want to be a bit thicker.  
  • Re-bulbing K-9’s back buttons
    A while ago I picked up these buttons for my Dr Who’s K-9 robot from AliExpress, Hobby Components have similar available online, The ones I purchased are SPDT with a 24 V DC incandescent bulb in them, regardless of the button colour they are all illuminated with a white incandescent bulb, because I want to use them with an Arduino microcontroller, I am swapping the bulb for LEDs in the same colour as the switch front: I am now ready to print the Back of K9 and I have found out that Bob is going to get his CNC machine… Read more: Re-bulbing K-9’s back buttons
  • How to use 80/20 (2020 T-Slot) and other extrusions in Fusion 360
    I have started designing assembles in Fusion 360 using T-Slot, a lot of head scratching on how to make use of it at arbitrary lengths in my designs… I started by making a 20mm length of T-Slot as its own model in Fusion 360; This is model has all of its materials and properties defined, as well as dimension origins added in additional sensible locations. If you download either the T-Slot model or the 8mm stainless rod model, you can treat them them the same once they are imported. I have put together a quick video showing you how to… Read more: How to use 80/20 (2020 T-Slot) and other extrusions in Fusion 360
  • 3D Print K9
    I have been trying to design a K9 for 3D printing for a while, even using Fusion 360 getting the body design has been a stumbling block, On Facebook, there is a k-9 builders community and a link to a OneDrive account with 200 x 200 sliced STLs. I have started with the front left corner, the corners are about 300 g of filament, according to the readme it has a requirement for about 7 rolls of natural PLA.
  • My dog’s got no nose
    To avoid this joke in future, I have started printing my K9’s head by printing the two parts of the nose first: