I live in an apartment with a detached garage where the only entrance is through the garage door, and if you forget the remote in the garage, you are locked out. This was my solution for WiFi enabled garage door opener with these conditions and no WiFi within reach of the garage. This sits in my apartment about 200ft from my garage, and still able to trigger it.
- $6 Raspberry Pico W
- $13 Cheap Garage Remote
- Perfectly okay to leave in a breadboard, but I decided to solder to this PCB to make it a bit more permanent. But note you will need headers soldered to the pico to be able to plug a micro USB into the pico. If I had to do it over, I'd use this PCB made for Pico and solder directly to the PCB.
- 1 10k ohm resistor. It may not be needed, but I did not want much voltage going to the garage door opener if not be required.
- For the garage door remote, you can take it apart by two small Phillips head screws on the back.
- Once open, I'd hold it with the buttons on the bottom facing you. Then you solder your GPIO pin to the top lead left from the button to the PCB. Then solder your ground to the bottom left lead. If you buy a different remote, you can use a piece of wire to connect the two; if it lights up, then that's where it should be wired. You can also use a volt to find what is needed. What I did initially.
- Setup the remote for your garage motor following directions included with the remote. I'd solder the wires in and test that you can trigger a button press before setting up the remote with your garage to cut down on how many times it opens and close
- Wire up as seen in the diagram.
You will find a settings.json.example. This file holds all the settings for this project.
Remove the .example
so the file becomes settings.json
, then enter your values.
- ssid - Your WiFi name
- ssid_password - Your WiFi password
- password - A clear-text password is needed to open your garage (100% not the most secure, just a bit of a determent if you are port forwarding to your pico).
- Download and set up MicroPython. If not already can find out here.
- Copy main.py and settings.json to your Pico. (Can use rshell or Throny for this)
- Using REPL for the pico should print the IP address. Use that and type
http://{pico-ip}/garage/toggle/{password-from-settings}
should see a web page and the pico light flash meaning it toggled GPIO Pin 14 to open the garage door. I set opening this URL to a shortcut on my iPhone to trigger the door.