BlueboxNotify - Tardis over IP | Nathaniel Read

When 12/2018 Type Hardware
As a kid I was a was a massive fan of Doctor Who, and had an old battery-powered Tardis sat powered off on my desk. My challenge was not to only power it from USB, but make it an internet connected device and control it remotely.

Initially, I planned to wire a single 5050 LED (single colour for all LEDs) strip to the ESP8266, and then have a second bulb wired to the roof as a multicolour changing LEDs. After attending some hardware meetups in Hull, I discovered more about NeoPixels and decided with individually addressable bulbs they’d be a better solution.


This led me to version 2.0 that you can see in the models above, the redesign was shaped partially by the benefits of the individually addressable bulbs but also because of space constraints meaning three wires and attached resistors wouldn’t fit. The new design uses two NeoPixel rings instead meaning that only 5 cables need to run up to the roof (as the 5V line is shared).

The Build


During the build I discovered more holes needed to be drilled in the roof to help light spread out, as otherwise the tardis sheds light really poorly, I also cut down the sides of the interior plastic to help reach the windows more easily.

The Firmware

I flashed MicroPython on the ESP8266 to run my software, on boot the device connects to WiFi then connects to the MQTT server and waits for requests. The 3 modes allow the lamp to be manually flashed, interior colour changed or notifications sent:

  • lamp0,50,0 - sets the lamp colour for one blink
  • interior0,50,0 - changes the interior colour until overridden or rebooted
  • notify0,50,0 - flashes roof and changes interior temporarily to notify
Tools Used
  • Firmware is written in MicroPython
  • Mosquitto as an MQTT Server
  • ESP8266 and NeoPixels
  • uPyCraft/ESPTool/Screen & MFPShell to connect to the ESP8266

  The words Doctor Who and Tardis are trademarks of the British Broadcasting Corporation (BBC) since 1996.
No connection to or endorsement is given or implied to or by the BBC.