Using your voice to control everything has always been very interesting. With my shiny new echo I could connect all the usual "connected home" devices, but I really wanted the echo to keep my car warm and toasty on a winter morning. In this instructable we are going to make the Amazon Echo start any car. We will do this by programming a Raspberry pi zero to act like a Belkin Wemo switch, named My Car. You can then ask "Alexa turn ON my car"

1. Any remoter starter (compustar, drone mobile, Viper(viper has web APIs you can use :) )) + 1 extra remote (45$)

2. One 74HC4052 (~1$) (or use https://www.sparkfun.com/products/13906)

3. Pi-Zero (5$)

4. 10k resistor 1/4 W (https://www.sparkfun.com/products/11508)

5. USB OTG(https://www.sparkfun.com/products/11604) + Wifi Adapter(dongle) (15$)

6. pcb bare board (https://www.sparkfun.com/products/8808)

Step 1: Build Your Circuit

Open up the remote starter remote and disconnect the battery before you start. You could get away with connecting two wires on the opposite sides of the start button on your remote [shown in pic]. Every remote is wired differently, and you might have to figure out which two leads of the switch short when the start button is pressed. Also make sure you draw out the battery positive and battery negative(GND), this will power the 74HC4052 (Analog Mux). Now build the circuit shown in pic. This IC can support multiple buttons, but we are only using one channel right now. Make sure you short the enable pin to GND.

Can this be modified to do two (different) button presses? I have a Chevy RKE fob which requires a quick press on the door lock button, then a 4 second long press on the start button. Could I use 2z and 2y1 for the second button, if so, how would I connect them to the pi zero? And how could I encode the second button press? Thanks for any help I can get on this, and for sharing this great project.
<p>This is great, thanks for sharing. I hope you don't mind me adding some things that might help others like myself who might not be as electronically inclined as yourself and others.</p><p>1. Remember that the remote fob you will be using still needs to be programmed to start your car before this mod will work. I say this because I ordered another remote just for this project, and I went right to work on this project with it before realizing this, so be sure to program yours before starting this job.</p><p>2. I-think the item number from Sparkfun for the USB/OTB dongle (11604) is incorrect. This has a micro USB female. In my case the Raspberry Pi required a micro USB MALE, not female. (I'm not 100% sure this is correct, however the 11604 did NOT fit my RPi)</p><p>3. You will also need a power supply and an SD card for the Raspberry Pi. </p><p>Before I can continue I have a couple of questions.... Your circuit diagram clearly shows what needs to be grounded, but I don't understand what they need to be grounded to.</p><p>On your circuit diagram, one of the ground connections is called &quot;remote GND&quot;. Does this go to the negative from the remote's battery ? (looks like the VCC goes to the positive battery terminal). </p><p>Thanks for your time. I did do a thorough search to find answers to all the above but it seems like you are a pioneer of this operation since there is almost no other information available on this topic.</p>
<p>Hey,</p><p>Would it be possible to upload a photo of the underside of the pcb board with the mux on? I'm a complete electronics noob and trying to work it out but I'm using the alternative mux option you provided </p>
<p>This is fantastic! My remote uses 3 key (lock) presses to launch the start sequence. What would be the easiest way to modify the GPIO command to have it fire the button command 3 times?</p>
<p>in your case you will need to use 3 gpios. </p><p>GPIO.output(REMOTE_GPIO1,GPIO.HIGH)</p><p>GPIO.output(REMOTE_GPIO2,GPIO.HIGH)</p><p>GPIO.output(REMOTE_GPIO3,GPIO.HIGH)</p><p>time.sleep(4)</p>
<p>I'm assuming you mean that I should have the gpio command run 3 times rather than using 3 separate GPIOs. <br>Here is where I placed it. </p><p><strong>def</strong><strong> changeIOState</strong>(state): <strong>##simulate long key press</strong></p><p><strong>if</strong> state:</p><p> GPIO.output(REMOTE_GPIO,GPIO.HIGH)</p><p> time.sleep(4)</p><p><strong>else</strong>:</p><p> GPIO.output(REMOTE_GPIO1,GPIO.HIGH)</p><p> GPIO.output(REMOTE_GPIO2,GPIO.HIGH)</p><p> GPIO.output(REMOTE_GPIO3,GPIO.HIGH) <strong>## check this if you two buttons to turn ON/OFF</strong></p><p> time.sleep(4)</p><p> GPIO.output(REMOTE_GPIO,GPIO.LOW)<br><br>I'm not seeing any continuity Between Y1 and Z when it runs. Did I place the code wrong, or is something wrong on the hardware side. </p>
Thank you so much!
<p>Hi, I just bought an Amazon Echo and want it to start my car. Can you please send me a list of exactly everything I would need to do this? My car is a 2015 Buick Encore.</p>
What are the names of the other parts you are working with? I see you used some blue cord, wire, and a round board. This is my first project and I am a little unfamiliar.
<p>the blue wiring, is described on step 1 (circuit diagram)</p>
<p>I have just updated step 1 with all required components.</p>

About This Instructable




Bio: DIY, electronics...and loves getting creative...
More by sajingeo:Amazon Echo starts your car Real World Minecraft Bluetooth Speakers using Raspberry Pi 
Add instructable to: