“I strapped a Raspberry Pi Pico W to my garage door motor and now I can control my garage door from my phone! The Pico W hosts a simple webpage on my local network with three control buttons - one for Up, Stop and Down. Pressing one of the buttons does exactly what you’d expect.
This project writeup will walkthrough the control strategy, electronics, and code required to follow along. If you’ve never played around with smart-home, MicroPython or WiFi projects before, this project will get you started with all three!
Why do this project? Cause it’s super cool! …and garage door remotes suck. They’re a whole extra thing you have to carry in your car or pocket; They take funny batteries and have buttons that wear out or become unresponsive. It’s [today-year] and I rely entirely on my phone / biometrics for so many things… why not access control too?
My model of garage door motor has an accessory terminal – there’s a connection for Up, Stop and Down. I expect these are meant to be hard-wired to some button panel that would mount to the wall. I measured the three control terminals and found they were at +12V. A bit of intuition told me that if I pull these to Ground, they would trigger the corresponding action. I bridged the UP terminal to Ground with a piece of wire and the door started raising - result! Note: it’s generally a really bad idea to just bridge connections willy-nilly.
This control scheme is called “active-low” and it’s very simple to create a circuit to interface a microcontroller (Pico W) with an active-low 12V input (garage door motor)
The following circuit uses a transistor (N-Channel MOSFET) to interface with the door-motor. When the Pico’s GPIO is HIGH, the transistor will switch on, pulling the control channel to Ground. When the GPIO is LOW, the transistor is off.
This is the schematic for just one channel - to put it into practice we need three channels (Up, Stop, Down). 12VDC power is also provided by the door-motor, so we’ll include a DC-DC converter to power the Pico W.
Bill of Materials
The following is all the hardware used to build the project.
- 1x Raspberry Pi Pico W
- 1x Makerverse Protoboard. I used a Pico Breakout
- 3x 2N7000 transistors (or similar logic-level N-ch MOSFET)
- 3x 10k Resistors
- 1x 5-pin terminal (2.54mm pitch)
- 1x 5V DC-DC Converter
- 2x 20pin Male header (could snap a 40-pin in half)
- 2x 20pin Female header (snapping a 40-pin always breaks one terminal. would need 2 in that case)
- 1x Schottky Diode (if you have a standard rectifier diode, that will work just fine too)
Other tools and consumables:
- light wire
- solder + soldering iron
- side cutters
- screwdriver for installation”