Introduction: Star Trek Doorbell Hack

About: When I was young I took all of my toys apart just to see inside. Eventually I learned how to put them back together.

I've always been a fan of the Star Treks and as such I was very excited when my roommate brought home an original series style Star Trek comm panel. I had never seen one of these but a quick search took us to the Thinkgeek website where the panels are sold, and we soon figured out how to use it.

Myself having a reputation as a tinkerer, my roommate immediately asked if I could wire the panel into our already existing wireless doorbell. I wasn't sure I'd be able to pull it off, but by taking the two products apart, studying how they worked, and adding a few wires and a small microcontroller, we now have a sweet new Red Alert doorbell! In this instructable I will share pictures, diagrams, and insight on how the doorbell and door chime were made one; thanks for checking out the project!

Why do this? Well, besides the obvious awesomeness, this project does serve some very practical purposes. I live in a large apartment with several roommates. Because of the size and construction of the apartment it is impossible to hear people knocking on the door, a problem that has been incredibly annoying. We got a wireless doorbell which seemed like the ideal solution but it was just too quiet to hear at the other end of the apartment. We then bought another doorbell receiver that you can link to the same button and put it in the back of our place, which worked o.k., but was still not ideal.

The Star Trek door chime is loud, really, really loud, especially the "Red Alert" setting. So we had a too-quiet, wireless door bell and a really loud, sensor triggered comm panel, why not try to mash the two together?


Step 1: Parts & Tools

Parts

ThinkGeek Star Trek Electronic Door Chime

GE Plug-In Eight-Chime Wireless Door Chime SKU:19299
This is the doorbell I already owned and is the model used in this instructable. I can't absolutely guarentee that other wireless doorbells work exactly like this one, but I do believe that they are all very similar. Later on I'll be explaining how I knew which parts of the doorbell to hack into and I feel that methodology will work with most any doorbell (and most modern consumer electronics.)

ATtiny85 Microcontroller

Red LED

47 Ohm Resistor

Wall Adapter Power Supply - 5V DC
You can buy one of these, but you probably already own several. Any cellphone made within they last five years will use one of these as a charger and by some bizarre reason there seem to be about 3 times as many of chargers as there are phones in the world; believe me, you have an extra one somewhere!

TOOLS

Tiny AVR Programmer by Sparkfun
Used to program the ATtiny85 mictrocontroller.

  • Screwdrivers
  • Soldering Iron
  • Flux
  • Solder Heatshrink Tubing of various colors and sizes
  • Wire Strippers
  • Flush Cutters

Step 2: How Electronics Work (Oversimplified)

To hack the bell and the chime together I first needed to study their circuit boards and get an idea of how they both worked. Knowing what the different components on the boards do and recognizing circuit layouts is something that comes with experience. The more you study and experiment with electronics the easier this becomes; after enough tinkering you learn what to look for and how to test your guesses.

From an incredibly broad view, electronic products all follow a similar format. They all need power, so they have a power supply like batteries or AC wall plugs. They need something to control the functions, so they have microcontrollers and logic ICs. Since we need a way to communicate with the electronics they have inputs such as buttons and sensors. And finally, electronics need a way to talk back to us so they have outputs like display screens, speakers, lamps and LEDs. These principles are true for your computer, your phone, your car, and your cat's laser pointer.

Step 3: How the Wireless Doorbell Works

CAUTION Testing electronics while they are on or even just plugged in can be dangerous! Unplug your doorbell before taking it apart! Start hackings things that take batteries and work your way up to high voltage AC electronics!

The insides of the doorbell consisted of a circuit board and a speaker. The first thing I went looking for on this board was its power supply. As you can see in the picture, there are four large diodes on one side that are connected to the AC wall plug prongs. This is a very common diode arrangement known as a Bridge Rectifier which converts AC voltage to DC.

That rectifier was connected to an IC with three legs and a large heatsink lead, a very common package for voltage regulators. Here I used a multimeter to test the output of the voltage regulator and found that it provided a 3.3V output, a voltage level used in by many logic IC and microcontrollers (0 volts = binary zero, 3.3 volts = binary one.)

Next I looked for the largest IC on the board, one likely to be a control MCU, to try and find a detectable signal. In this case the biggest IC was actually another board... allow me to explain. One way to manufacture cheaper ICs is by printing the tiny circuitry that would normally fit inside the familiar black plastic rectangle directly on a circuit board and covering it with a black blob of protective epoxy, these are known as Chip on Board (COB) ICs. Instead of a standard IC this doorbell has a COB board soldered into the larger board.

I tested each pin of the COB while pressing the doorbell's button to see if any of them changed state, as in going from high to low or low to high, but none of them did. The only pins I found that did change voltage significantly where the two connected to the bell's speaker. After the inspection I decided that monitoring the voltage that goes to the speaker would be the easiest way to tell when the doorbell has been triggered.

Step 4: How the Star Trek Door Chime Works

The Star Trek chime was easier to figure out, mostly because the circuit board was simpler, but also because I recognized the sensors that it uses to detect movement. On each side of the chime there are two Passive Infrared (PIR) sensors that point outward. These sensors detect infrared light and are able to see the infrared generated by body heat.

These PIR sensors have three wires: a ground, a positive supply, and a signal. The ground and positive supply power to the sensor while the signal wire carries a varying voltage level that changes depending on the amount of infrared light is detected. It would have been nice if two of the wires going to these sensors were colored red and black, for positive and ground, but they weren't.

I could have just used my multimeter to test the wires, but by following the sensor wires back to the circuit board I saw that one wire from each sensor had a printed label on the board, S1 and S2. These are common labels used in electronics, part of a group of abbreviations known as Reference Designators. "S1" isn't included on that page, but if you got a wire coming from a sensor that is labeled with a "S", chances are pretty good that it is the signal wire. I used my meter to test the S1 output voltage which was around .56 volts with nothing moving in front of the sensor. When I put my hand in front of the sensor the voltage changed to .6 volts, confirming that it was the signal from the sensor.

I've played with PIR sensors and an Arduino before so I had an idea of how the door chime was reading the sensor. I worked on the assumption that the door chime had its own microcontroller (MCU) programmed to repetitively check the sensor values and watch for the voltage to jump (as a result of heat passing in front of the sensor.) When the MCU detects this jump it is triggered to play the alert sound out over the chime's speaker. With this knowledge in hand, I was able to trick the chime's MCU with with my own, the ATtiny.

Step 5: Connecting the Bell to the Chime

To find a way to meld the doorbell and the chime into one single electrical system we need to go back to the the general overview of how electronics work, starting with power. The doorbell runs off of AC voltage that is converted to 3.3V DC through a regulator, and the chime runs on 3.5 volts. What I decided to try was to hook the chime's battery wires to the bell's 3.3V regulator to see if the regulator could provide enough current to power both circuits, which it did! I then wanted to power both circuits from one wall plug instead of using any batteries.

The doorbell was designed to be plugged right into the wall but I wanted to hide its circuit board inside the ST doorchime. After testing the bell's rectifier I knew that I just needed to get 5V to the bell's voltage regulator to have it power the rest of the bell and the chime with 3.3V. Luckily, I already had a separate wall plug that provided a 5V output. In fact, these type of wall plugs have become incredibly common, so much so that you likely own several already in the form of a cellphone charger. When you cut the phone connector end off of one of these chargers you are left with a red (pos) and a black (ground) wire. Wall plugs always have their specs printed on them somewhere and those that are intended for charging the lithium batteries inside cellphones usually supply 5 volts and up to around 1 amp of current, which in this case is just right.

The next consideration is how to make decisions and take action using the output from the doorbell's speaker wire and the chime's sensor input, this is where we need the ATtiny and a bit of programming to orchestrate the new Frankenstein circuit's operation. The ATtiny85 is an eight pin microcontrol that can be programmed to do useful things with its pins, such as sending and receiving data, reading sensors, or driving LEDs.

Here I use it to read the voltage coming from the doorbell's speaker over and over until there is a drastic change (similar to how the chime monitors it's PIR sensors.) When this change is detected the ATiny sets its pin, the one connected to the chime's PIR sensor signal wire, from 0 volts to 3.3 volts. Remember that the chime is watching the signal wire for a sudden change in voltage, so when it sees this jump it thinks that something has moved in front of its sensor. This tricks the chime's MCU into triggering the Red Alert sound.

Now, one of the plastic parts of the front panel is made of a white, semi-transparent plastic that I though should blink red when triggered. I can't remember if this part did light up on the TV show or not, but I really felt that it would be a nice bit of flavor to add regardless of accuracy. I added a red LED and a current limiting resistor to one of the ATtiny's pins so that it could be turned on and off in synch with the chime being triggered. To mount the LED to the plastic panel I first soldered on some lengthy cuts of wire and then hot-glued the LED and resistor in place.

Instead of soldering the ATtiny into circuit board I decided to solder wires to a 8-pin socket with heat shrink covering the contacts. Using a socket for the chip instead of soldering it in gives me the option of pulling the chip out and reprogramming it. This is a habit that I picked up after burning out a half dozen chips over the past few years and it has saved me a lot of rework.

Step 6: Programming the ATtiny85

The code for the ATtiny is written using the Arduino IDE and I used a Tiny AVR Programmer by Sparkfun to get the code onto the chip. Programming these chips is ridiculously easy and boils down to little more than loading a few drivers, plugging the chip into the programmer, and hitting the upload button. Sparkfun has written a very thorough tutorial that explains every step of that process and it is the tutorial that I followed: Sparkfun Tiny AVR Programmer Tutorial.

The code for my doorbell is relatively simple compared to most sketches (Arduino code files) and it operates as follows:

  1. Check the voltage level of the bell's speaker pin and save that value into a variable.
  2. If that value is greater than a set threshold the ATtiny momentarily sets its PIR connected pin high and flashes the red LED.
  3. If the value is less than the threshold the ATtiny does nothing and starts the code over.

I've pasted the Arduino code here but you can also download it from github or at the bottom of this page.
Oh yeah, I also made a 3D printed case for my Tiny Programmer. The files for this case are up on Thingiverse.

//Define which wires are attached to what pin
const int speakerPin = A1;
const int ledPin = 0;
const int pirPin = 1;

//Create a variable to store the speaker's voltage value
int speakerValue;

void setup() {
   //Set the pins as inputs or outputs
   pinMode(speakerPin, INPUT);
   pinMode(ledPin, OUTPUT);
   pinMode(pirPin, OUTPUT); }

void loop() {

   //Read the voltage on the speaker wire pin as an analog
   //value and store it in the variable speakerValue
   speakerValue = analogRead(speakerPin);

   //is the speaker voltage greater than zero?
   if (speakerValue >= 175){
     //yes it is!
     digitalWrite(ledPin, HIGH); //turn the LED on
     digitalWrite(pirPin, HIGH); //send 3.3V to the PIR sensor wire
     delay(1000);                //pause for one second
     digitalWrite(ledPin, LOW);  //turn the LED off
     digitalWrite(pirPin, LOW);  //set the PIR sensor wire back to
                                 //zero volts
  }  
  delay(10); //pause for 10 milliseconds before starting over
}


Step 7: Final Assembly

Surprisingly, there was just about enough room inside the Star Trek door chime for the doorbell's circuit board. I did have to do some slight modification to the chime's battery case with a Dremel and a rotary saw bit to get a perfect fit, and by slight modification I mean completely cutting it out. After removing all of the plastic that held the batteries I was able to sit the doorbell PCB in the new space and close the door chime and screw it back together with its original screws.

Oh yeah, I did end up cutting the plastic buttons on the doorbell PCB to shorten them. The first time I reassembled this the buttons where getting squashed and held pushed in, which locked up the doorbell in a setup mode.

All that was left was to mount our new doorbell to the wall, plug it in, and wait for guests to come over for a glass of Tranya! Thanks again for checking out my project and please feel free to leave any questions and/or comments!