Bluetooth Garage Door Opener & Car Starter




About: Enjoy tinkering with electronics hardware and software. Very interested in the Internet of Things.

If you're like me, you nearly always carry your phone or are frequently at a computer. I often find it more convenient when I can interact with the things around me like the garage doors, car starter, sprinklers, electric blankets, holiday decorations, etc. via my phone or computer.

It is relatively easy to Bluetooth enable many devices. These instructions will explain how I Bluetooth enabled my garage doors and car starter. The implementation is quite generic. Similar techniques could be used to Bluetooth enable many other things too.

The Bluetooth board that was used has at least six different connections that could each possibly control a different thing.

There is a corresponding free Android application that you can download; Daisy On/Off. It allows dynamically creating, labeling, and configuring multiple buttons so that you can easily control the various things that are Bluetooth enabled.

There are risks associated with wireless control and modifying any equipment. You assume full responsibility and associated risks related to your use of this information.

Materials: You can also buy a kit with all components.  For more information, check our website at

  • Soldering iron and solder
  • Wire cutters/strippers
  • Screwdriver
  • Knife
In addition to the above materials and tools, you will need an Android device to utilize the corresponding Android Daisy On/Off application for interacting with the Bluetooth module. Alternatively, there are links to the simple commands so that applications for other types of Bluetooth devices can be created. For example, you could control the Bluetooth module from a laptop or PC that is Bluetooth enabled. Apple 'i' product hardware has restricted Bluetooth access and would have to proxy through another device like a PC. Not a difficult task, but another hoop to have to jump through - choice is a good thing.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Getting to Know the Circuit and Parts

The Bluetooth board has at least six pins that can be used for general purpose input/output (GPIO). The Bluetooth module on the board operates at 3.3V, however the board has a voltage regulator so that it can be powered from USB power or via other power sources like wall-warts or batteries up to 18VDC. By connecting the Bluetooth module to a general purpose MOSFET switch it can switch higher voltages and currents.

The BS170 MOSFET is a general purpose N-Channel transistor. This means that the switch turns on when the voltage on the gate is positive ~2.1V with respect to the source. The MOSFET source and Bluetooth module ground are connected together so they are properly referenced to each other. The gate of the MOSFET is the control and gets connected to one of the Bluetooth board GPIO pins. The MOSFET is turned on by driving the corresponding GPIO pin high.

When the Bluetooth module is reset or not set as an output, the pin effectively floats - it actually has a weak pull-down. By connecting a resistor between the MOSFET gate and source, we ensure that it always turns off.

Alternatively, if we wanted to turn positive power on to a device instead of grounding it for control, we could connect a P-Channel MOSFET to the N-Channel MOSFET. The source would connect to power, the gate to the drain of the N-Channel MOSFET and the drain to the devices positive terminal. The device would be directly connected to ground. A resistor should be connected between the MOSFET gate and source to ensure proper turn-off.

The Bluetooth board GPIO 3, 6, 7, 10, and 11 default to low upon power-up and will be off. GPIO 8 and 9 default to high upon power-up and will be on. The power-up state of each pin is configurable, see the quick reference manual and/or user manual.

Step 2: Initial Assembly

See pictures of each step below.
  1. Attach the headers to the board
  2. Place the perforated board over the headers
  3. Place the transistor and resistor in the perf board - leave an extra row of holes between the resistor and headers  and transistor and outside edge of board for connecting wires
  4. Connect the resistor leads to the transistor leads

Step 3: Final Assembly and Connections

  1. Add more transistor and resistor pairs to switch more things if desired
  2. Connect the transistor source to the Bluetooth board ground pins - connect to both header grounds to physically stabilize the board
  3. Connect the transistor gates (center pins) to Bluetooth board GPIO pins - each one to a different pin (recommend 3, 6, 7, 10, 11)
  4. Connect wires to the devices to be controlled

I used old phone cable, but most any wire could be used. Cut two phone cables, each long enough to run to one garage door opener. The green and black wires were connected together and red and yellow together - this is not necessary though. The black/green wire pair is connected to the transistor source which is ground. The red/yellow wire pair is connected to the transistor drain.

The spare car starter key FOB was opened and the battery and switch pins were identified. One end of the switch connected directly to the battery. This pin was connected to the transistor source. The other switch contact pin was connected to the transistor drain.

The MOSFETs contain protection diodes between the source and drain. If the car starter FOB is connected backwards, it will conduct through the protection diode and activate the starter immediately. If this happens just reverse the wires.

Step 4: Connect the Garage Doors

I have Craftsman garage door openers. Terminals 1 and 2 are shorted when the garage door button is pressed. The transistor source is connected to terminal 1 and the transistor drain is connected to terminal 2.

The MOSFETs contain protection diodes between the source and drain. If the garage door opener is connected backwards, it will conduct through the protection diode and activate immediately. If this happens just reverse the wires.

Step 5: Configure and Test

The device can be tested many ways. The simplest way to test it would be to use the free Daisy On/Off application for Android. Just download, configure, and test. The device can also be controlled through any Bluetooth serial port connection (SPP). I like to use BlueTerm on my Android for command line testing and GtkTerm on Ubuntu Linux.
  1. Power up the Bluetooth module by connecting it to a USB host or a USB power adapter. The LED should blink red indicating waiting for connection.
  2. Enable Bluetooth and open the Bluetooth manager
  3. Scan for new devices - the device can be renamed so it can easily be identified, see the manual
  4. Pair with the device - default pin code if requested is 1234, can be changed for security (up to 20 characters)
  5. Connect with SPP - the Bluetooth module should change to green indicating connected
  6. Open a terminal like GtkTerm, on Linux
  7. Connect to the rfcomm port
  8. Immediately send just $$$ not followed by Enter - the device should respond with 'CMD', if it doesn't, the internal command mode timer has expired. Power cycle the Bluetooth module and try again.
  9. Once in command mode, send 'st,255' followed by Enter - this sets the command mode timer to indefinite
  10. Use the quick reference manual to figure out exactly which commands to enter to control the Bluetooth module GPIO pin that was selected for control, e.g., if GPIO pin 3 was selected enter the following commands:
    1. s@,0808 followed by Enter - sets GPIO 3 to an output
    2. s&,0808 followed by Enter - sets the pin high and turns on the transistor
    3. s&,0800 followed by Enter - sets the pin low and turns off the transistor
You will likely want to turn the transistor on and off quickly for applications like the garage door and starter FOB to simulate a one second press. For this reason having an application is ideal.

The direction command only needs to be sent once after the device is reset or power-cycled. Optionally  you can send s%,0808 to set the GPIO 3 direction to output on power-up. The direction command would then never have to sent again unless the device is factory reset for some reason.

Step 6: Package

So that the electronics aren't hanging in the breeze and exposed to potential damage, it is ideal to enclose them. Cardboard, plastic or rubber potting, or plastic project cases could be used. Potting is not desirable because it isn't easy to modify, repair, or re-purpose the electronics in the future if desired.

Since I have a MakerBot Thing-O-Matic, it is quick and easy to whip up a custom project case. Just draw one up in Google SketchUp, convert it to STL, and print it out. I can print for you.

The components were then test fit into the cases. Had to do a little filing on the perf board since I measured it close and it breaks slightly uneven. The starter FOB fit, but was also a little tight. Probably a bit of shrinkage in the plastic as it cooled.

After testing, the Bluetooth case was closed with hot glue and the starter FOB with duct tape. No respectable project would be complete without a little duct tape and hot glue.

To mount it to the garage rafters, I used some Velcro dots. The dots were stapled to the wood since the sticky back might come loose in the heat and humidity. The dots will probably stick OK to the plastic since it is clean and not very permeable.

Be the First to Share


    • Assistive Tech Contest

      Assistive Tech Contest
    • Reuse Contest

      Reuse Contest
    • Made with Math Contest

      Made with Math Contest

    76 Discussions


    2 years ago

    simulate a push button using bluetooth from my phone on a music system


    i want to simulate a push button using bluetooth from my phone on a music system what i want to achieve by doing this is when we power on the music system(by using WiFi enabled Sockets), by default it starts in aux mode by using mobile with bluetooth it changes it from aux to bluetooth mode so we can connect it with mobile and play music at scheduled time by using Tasker app

    so we dont have to physically push any button


    i use Zebronics ZEB-BT361RUCF Bluetooth 2.2 Ch. Multimedia Speaker System and i want to make change in this system


    2 years ago


    I am a newbie and this project is my first so please excuse my ignorance.

    I purchased Bluetooth 4.0 adapter, but it is soldered on top of another PCB and has input/output pins on one side. Could you please tell me if I can use RX and TX signals to control my garage doors or do I have to solder the leads to PIO contacts on sides of the BT board.

    Thank you.


    3 years ago

    Sir, can you give some information about how you did the part of car system?


    Very nice concept
    Saves BOM by replacing atmega and all related components.

    I suggest to give your products more aesthetic look.will make your daisy work products more awesome !!


    Reply 7 years ago on Introduction

    So did I . has step by step instructions for an Android controlled Garage Door opener (via bluetooth), NO Android programming and No Soldering required just plug and play

    Uses my pfodApp. which has a user interface controlled completely by the Arduino code. Multiple menus, navigation screens, user input, multiselection lists etc.

    Think HTML replacement for micros, with messages <255 chars and simple code on the micro side.

    pfodApp is the micro-browser and your micro device (like Arduino) is the micro-server.


    7 years ago on Introduction


    I setup the project but have run into some issues with it. I think one is that the garage door opener I have is older and it has power running through the lines that control the opener. I think in stead of pulling the transister to ground I need to just close the transistor. I'm not too sure of that. But my other issue is that my bluetooth board has stopped working properly. The indicator LED is no longer working and I may have lost the programming on the controller. Is there a way you can help diagnose this with me? Maybe via email instead of open forum. Let me know if you can.

    1 reply

    Can you please send an e-mail to and we'll try to help resolve the problem. Thank you.


    7 years ago on Introduction

    I dont have a Garage door, but i do have a car alarm that start my car, how do i connect this to my car alarm?? would i have to get some type of Bluetooth receiver for my car alarm?? and if that the case where can i get it, and how do i install it??

    Thanks in advance...

    1 reply

    Reply 7 years ago on Introduction

    I wish I could answer your question, however, I would need to know the make and model of this doohickey car alarm that starts your car. If you tell me that, I could try to figure out how you could interface to it. Interfacing with the starter key fob is much easier. I have a new bluetooth board that has the MOSFETs on it and screw terminals to simplify installation. I'll be posting a new Instructable on it very soon.


    7 years ago on Introduction

    Great idea and great work! Thank you for the excellent instructable. This project could only be improved for lazy people like myself by making the setup completely hands free. It has a very big "wow factor" to show friends that you can open and close the garage door or car door with your phone but it would be much more convenient to have the car automatically unlock when you walk up to it, or the garage door open when you drive up without even reaching for you phone. This project may be easily adaptable to a Bluetooth Proximity Detector that simply scans for your Bluetooth MAC address to do just that.


    8 years ago on Introduction

    Altogether a VERY well layed out Instructable... bravo! The inclusion of videos is helpful as well. I've dreamed about walking around my hobby farm and being able to control floodlights, waterers, gates, etc. with my Android phone. Obviously BT wouldn't work due to range but are you aware of any similar 802.11 based breakout boards that might work for my goals?

    6 replies

    Reply 8 years ago on Introduction

    The Bluetooth module is a Class 1 device capable of ~100m (300ft) line-of-site (LOS). The Motorola Droid that I have is a Class 2 device capable of ~10m (30ft). I found that I can communicate over a hybrid of those ranges as expected. I've ordered an antenna for ~$5 (incl. shipping) that has been claimed to increase the range of BT to ~3/4 mile communicating with a phone. We'll see.

    I'm creating an 802.11 board for this and other purposes where BT won't work, like Apple iProducts.


    Reply 7 years ago on Introduction

    I work in an office building where my car is typically parked about 5-7 floors below where my desk is located (everything is above street level). My remote starter doesn't work from this distance/building environment. Would your Bluetooth w/ antenna or 802.11 plans for for my situation? I would love to be able to start my car with my phone while sitting at my desk. Thanks!


    Reply 7 years ago on Introduction

    I've been working on a WiFi module with optional external antenna. As long as you have open wifi or know the codes, this could work for you. We also plan to support iPhone. I'll update the instructable when it is ready.


    Reply 7 years ago on Introduction

    Any idea when that will be available or the cost?

    I am contemplating having a Viper SmartStart system ( ) installed in my wife's car but am not too keen on the $400+ cost, or the $300+ cost to add it to my existing system.  A basic starter + wifi would presumably achieve the same thing at a fraction of the cost of the Viper system. 


    Reply 7 years ago on Introduction

    We are testing the WiFi boards now. The anticipated price is under $100 depending on selected features. The final version is expected to have at least two control outputs, temperature, accelerometer, and several other features.


    7 years ago on Introduction

    sir' can u pls. post a sample video controlling ur device using commands instead of the daisy app.?

    1 reply

    It is simple enough to explain.

    Discover and pair with the Bluetooth module. Then connect with SPP through the Bluetooth manager.

    On linux rfcomm0 or the next available number will be created in /dev. On windows the next available comm port will be created.

    Connect with the port that was created. You can use gtkterm on linux or hyperterminal or teraterm on Windows. You can also connect to the port with most any programming language for automation. This is the command on linux: gtkterm -e -p /dev/rfcomm0 -s 115200

    Send $$$ and the module will respond with CMD.
    To set PIO3 to an output send s@,0808<CR> and the module will respond with OK.
    To set PIO3 high send s&,0808<CR>.
    To set PIO3 low send: s&,0800<CR>.

    You can find quick reference manual for the bluetooth commands here.