Garage controller esp8266 is an open-source printed circuit board by SonicTS, from the SonicTS/garage-project repository on GitHub. It is a 2-layer board of 100 × 100 mm with 39 parts on 57 nets, routed with 249 tracks and 0 vias.
It is built around the LTV-817 and SP0502BAJTG. Its parts include 20 resistors, 7 capacitors, 4 diodes, 3 ICs and 3 transistors. It belongs with the ESP8266 boards of this library.
A DIY setup that routes the HTTPS traffic of one Android app ("Blaulicht") through a self-hosted mitmproxy. When a specific flow pattern is detected, the mitmproxy addon publishes an MQTT command to a local Mosquitto broker (TLS + auth). An ESP8266 subscribed to that topic pulses a relay to open the garage.
This repo includes: Android per-app VPN client, a mitmproxy addon with MQTT publishing, ESP8266 RTOS-based firmware with MQTT over TLS, and infrastructure templates (systemd, firewall, MQTT broker hardening). Intended for experimentation and learning.
VpnService-based app that forwards only the target app’s traffic via a SOCKS5 proxy (mitmproxy) using a tun2socks AAR.
mitmproxy addon
Detects the flow trigger and publishes open to garage/cmd over TLS to Mosquitto on 8883.
Configurable via environment variables (MQTT_HOST, MQTT_USER/PASS, TRIGGER_*). See infra/systemd/mitmproxy.service.
Mosquitto broker
TLS 1.2+, per-user passwords in /etc/mosquitto/passwd, and minimal permissions. See docs/setup-mqtt-broker.md.
ESP8266 firmware
Connects to Wi‑Fi and MQTT over TLS, subscribes to garage/cmd, and publishes garage/status. Embed the CA in lib/mqtt/src/mqtt.c.
Quickstart
Server (Ubuntu)
Install Mosquitto and set up TLS + users: docs/setup-mqtt-broker.md.
Deploy mitmproxy addon and set MQTT env: docs/setup-server-ubuntu.md.
Android
Build and install the per-app VPN client (Android Studio). Point it to the server’s SOCKS5 port. Install the mitmproxy CA on the device.
ESP8266
Open esp8266/Garage-Controller in PlatformIO. Set Wi‑Fi + MQTT config (including CA). Build and flash.
Security note: Use strong per-client credentials. Keep the broker LAN-only or restricted. Self-signed CA is fine for local deployments; keep the private key secure.
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Garage controller esp8266 use?
39 parts, built around the LTV-817 and SP0502BAJTG. 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 controller esp8266 KiCad files?
From the SonicTS/garage-project repository on GitHub, at the commit this page was made from: the board is pcb/garage_controller_esp8266/garage_controller_esp8266.kicad_pcb and its schematic pcb/garage_controller_esp8266/garage_controller_esp8266.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Garage controller esp8266 design in my own project?
Its repository states no licence, so its author keeps all rights: ask SonicTS before reusing the design.
This board serves as the Matrix Display driver for MIT's 2.007 gameboards in Spring 2024 and Spring 2025. The board can take 4 button inputs, Stemma-QT I2C sensors, and breaks out 8 GPIO pins for future use.