

Garage
Garage door control unit
- Size
- 90 × 100 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 32
- Nets
- 33
- Pads
- 96
- Tracks, vias
- 111, 2
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 10 Jun 2025
- Updated
- 4 Sep 2025
Overview
Garage is an open-source printed circuit board by macdems, from the macdems/Garage repository on GitHub. It is a 2-layer board of 90 × 100 mm with 32 parts on 33 nets, routed with 111 tracks and 2 vias.
It is built around the HLK-30M12C, LM358 and LM2940T-5.0/NOPB. Its parts include 8 resistors, 4 capacitors, 4 ICs, 4 switches and 2 diodes. It belongs with the home automation and IoT boards and the ESP32 and RISC-V boards of this library.
Main components
3HLK-30M12C
插件,57.5x33.5mm0.2W 1 12V 150mVp-p 2.5A 22.5mm 220uF 30W 33.6mm 3kV 57.5mm 85VAC~264VAC 87% AC-DC Short Circuit Protection、Over Current Protection ±0.4% 插件,57.5x33.5mm AC-DC Power Modules ROHSHI-LINKAC-DC Power ModulesLM358
SOP-8-18V~18V 0℃~+70℃ 1.2MHz 10nA 2 24mA 3V~36V 500uA 50nA 5mV 80dB Built-in compensation SOP-8 Operational Amplifier ROHSMSKSEMIOperational AmplifierLM2940T-5.0/NOPB
TO-220-40℃~+125℃@(Tj) 1 150uVrms 1A 1V@(1A) 26V 5V 60mA 72dB@(120Hz) Fixed Over Current Protection、Over Temperature Protection、Short Circuit Protection Positive TO-220 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) Regulators
README
README.mdGarage ESPHome Controller
Overview
This project provides a comprehensive solution for automating and monitoring a garage door using the ESP32-C3 Super Mini microcontroller. The controller integrates seamlessly with Home Assistant via ESPHome, enabling smart home automation and remote control.
Key Features
- ESPHome integration for easy Home Assistant setup and monitoring
- Current sensor for accurate detection of fully open/closed garage door states by monitoring motor current
- External push button support for manual operation
- 12V remote receiver compatibility (e.g., INEL ORS-X1T) for remote control
- Compact hardware design fits standard enclosure with receiver
- Complete KiCAD hardware design files and ready-to-use ESPHome YAML configuration
Hardware Requirements and Bill of Materials (BOM)
| ID | Item | Quantity | Description |
|---|---|---|---|
| U1 | LM2940T-5.0/NOPB voltage stabilizer | 1 | Package TO-220-3, output voltage 5V |
| U2 | ACS712xLCTR-05B current sensor | 1 | For motor current measurement https://www.aliexpress.com/item/1005006830307802.html, SOIC-8 package |
| U3 | LM358 operational amplifier | 1 | Package DIP-8 W7.62mm |
| U4 | ESP32-C3 Super Mini | 1 | Main controller (recommended version with external antenna socket for optimal WiFi performance) |
| K1,K2 | Relay module JW1aFSN-DC12V | 1 | For garage door motor control |
| C1 | Capacitor 470nF | 1 | Capacitor THT: D4.3mm W1.9mm P5.00mm |
| C2 | Capacitor 22µF | 1 | Capacitor THT: D4.5mm P2.50mm |
| C3 | Capacitor 1nF | 1 | Capacitor THT: D4.3mm W1.9mm P5.00mm |
| C4 | Capacitor 22uF | 1 | Capacitor THT: D4.5mm P2.50mm |
| D1,D2 | Diode 1N4148 | 2 | Diode 1N4148 THT: DO-35 SOD27 P7.62mm Horizontal |
| HS1 | Heatsink | 1 | Heatsink for TO-220 https://www.aliexpress.com/item/1005006082544471.html |
| J1 | AC power connector | 1 | TerminalBlock MetzConnect: TerminalBlock MetzConnect Type101 RT01602HBWC 1x02 P5.08mm Horizontal |
| J2 | Gate connector | 1 | TerminalBlock MetzConnect: TerminalBlock MetzConnect Type101 RT01603HBWC 1x03 P5.08mm Horizontal |
| K1,K2 | Relay SPST-NO | 2 | Relay THT: Relay SPST Panasonic JW1 FormA |
| PS1 | HLK-30M12C 230V power supply | 1 | Converter ACDC: Converter ACDC Hi-Link HLK-30M12C |
| Q1,Q2 | Transistor 2N5551 | 2 | Package TO SOT THT: TO-92 Inline |
| R1,R2,R5,R6 | Resistors 10k | 4 | Resistor THT: R Axial DIN0207 L6.3mm D2.5mm P7.62mm Horizontal |
| R3,R4 | Resistor 68k | 2 | Resistor THT: R Axial DIN0207 L6.3mm D2.5mm P7.62mm Horizontal |
| R7 | Resistor 4k7 | 1 | Resistor THT: R Axial DIN0207 L6.3mm D2.5mm P7.62mm Horizontal |
| R8 | Resistor 5k6 | 1 | Resistor THT: R Axial DIN0207 L6.3mm D2.5mm P7.62mm Horizontal |
| RV1 | 10k Potentiometer | 1 | Potentiometer THT: Potentiometer Runtron RM-065 Vertical |
| SW1 | Button connector | 1 | TerminalBlock MetzConnect: TerminalBlock MetzConnect Type101 RT01602HBWC 1x02 P5.08mm Horizontal |
| SW2 | Radio remote receiver connector | 1 | TerminalBlock MetzConnect: TerminalBlock MetzConnect Type101 RT01604HBWC 1x04 P5.08mm Horizontal |
Electric circuit diagram
Assembly & Integration
- Use the provided KiCAD or Gerber files to manufacture the PCB. I recommend using JLCPCB service, which offers high quality PCB boards for only $2.
- Assemble the PCB using the schematic above.
- Install all components in the enclosure, connect 230V power and your garage doors to the terminals. Optionally, you may connect external button or radio remote receiver.
- Adjust the RV potentiometer such that there is 0V on R7.
- Flash the ESP32-C3 Super Mini with the included ESPHome configuration.
- Add the device to Home Assistant via ESPHome for full smart home integration.
Additional Recommendations
- Use the ESP32-C3 Super Mini version with an external antenna socket and connect a suitable WiFi antenna.
- Ensure all wiring and installation comply with local electrical safety standards.
License
This project is open source. Please refer to the repository for detailed license information.
For further assistance, consult the repository documentation or open an issue.
Parts
32| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R2, R5, R6 |
| 3 | MountingHole | MountingHole:MountingHole_3.5mm | H1, H2, H3 |
| 2 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2 |
| 2 | 2N5551 | Package_TO_SOT_THT:TO-92_Inline | Q1, Q2 |
| 2 | 68k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R3, R4 |
| 2 | Relay_SPST-NO | Relay_THT:Relay_SPST_Panasonic_JW1_FormA | K1, K2 |
| 1 | 10k | Potentiometer_THT:Potentiometer_Runtron_RM-065_Vertical | RV1 |
| 1 | 1nF | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C3 |
| 1 | 22uF | Capacitor_THT:CP_Radial_Tantal_D4.5mm_P2.50mm | C4 |
| 1 | 22µF | Capacitor_THT:CP_Radial_Tantal_D4.5mm_P2.50mm | C2 |
| 1 | 470nF | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C1 |
| 1 | 4k7 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R7 |
| 1 | 5k6 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R8 |
| 1 | AC L/N | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type101_RT01602HBWC_1x02_P5.08mm_Horizontal | J1 |
| 1 | ACS712xLCTR-05B | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | Button | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type101_RT01602HBWC_1x02_P5.08mm_Horizontal | SW1 |
| 1 | ESP32-C3_SUPERMINI_TH | ESP32-C3_SUPERMINI:MODULE_ESP32-C3_SUPERMINI_TH | U4 |
| 1 | Gate | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type101_RT01603HBWC_1x03_P5.08mm_Horizontal | J2 |
| 1 | HLK-30M12C | Converter_ACDC:Converter_ACDC_Hi-Link_HLK-30Mxx | PS1 |
| 1 | Heatsink | Custom:Heatsink_T8WC_TO-220 | HS1 |
| 1 | LM2940T-5.0/NOPB | Package_TO_SOT_THT:TO-220-3_Vertical | U1 |
| 1 | LM358 | Package_DIP:DIP-8_W7.62mm | U3 |
| 1 | Radio | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type101_RT01604HBWC_1x04_P5.08mm_Horizontal | SW2 |
Questions
How big is the Garage PCB?
It measures 90 × 100 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Garage use?
32 parts, built around the HLK-30M12C, LM358 and LM2940T-5.0/NOPB. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Garage KiCad files?
From the macdems/Garage repository on GitHub, at the commit this page was made from: the board is garage.kicad_pcb and its schematic acs712-sim.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Garage design in my own project?
Its repository states no licence, so its author keeps all rights: ask macdems before reusing the design.
Similar boards
- 2 layers54.6 × 52.1 mm

- 2 layers132.1 × 45.7 mm

IPoS
peterheinrich/InternetOverSpaghetti
Transmitting IP packages over a pair of spaghetti thus demonstrating how media independent IP really is.
42 parts342 - 2 layers68.8 × 53.6 mm

ZArduino
zmaker/arduino_cookbook
gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube
46 parts269 - 2 layers152 × 88 mm

RFBitBangSMT
profdc9/RFBitBanger
A QRP digital transceiver created from readily available parts for off-the-grid maintenance
271 parts222 - 2 layers118 × 103.5 mm

- 2 layers113 × 62.2 mm

FullScope
tvlad1234/pillScopePlus
Oscilloscope based around the STM32F401 Black Pill and a color LCD screen
15 parts165Apache-2.0 - 2 layers75.2 × 61.1 mm

- 2 layers144.1 × 182.2 mm

SHVC CPU-01
starlightk7/OpenSFC
OSHW Reproduction Parts related to the Super Famicom / Super Nintendo game console
498 parts114CERN-OHL-S-2.0