Affiliate disclosure: This page contains affiliate links. When you buy through these links, we earn a small commission at no extra cost to you. This helps us keep the site running and the links up to date.
What This Project Is
The Everything Remote is a 3D-printed, battery-powered universal remote built around an ESP32. It features 24 configurable tactile buttons and integrates with Home Assistant over Wi-Fi using ESPHome firmware. It’s designed as a beginner-friendly through-hole soldering project, using a custom PCB to simplify wiring. The original Printables page has the STLs, firmware, and PCB files, but finding the exact Wemos Lolin32 Lite USB-C variant can be tricky, and the specific LiPo battery thickness is critical. This page provides verified buy links for all components and crucial build tips from the project creator and community.
What You’ll Need to Buy
| # | Component | Spec | Qty | Buy Link | Notes |
|---|---|---|---|---|---|
| 1 | Wemos Lolin32 Lite (ESP32) | USB-C variant, 57×25mm | 1 | eBay — Wemos Lolin32 Lite USB-C | This MUST be the USB-C version, not the older Micro-USB. Verify the board dimensions (57×25mm) match the PCB footprint. |
| 2 | Tactile Push Button Switch | 6×6×5mm, 4-pin THT | 21 | Amazon — 6x6x5mm Tactile Switches | Any standard 6×6×5mm 4-pin through-hole tactile switch works. Buying a 100-pack is usually more cost-effective. |
| 3 | 10 kΩ Through-Hole Resistor | 1/4W, 5% tolerance | 2 | Amazon — 10k Resistors | Standard through-hole resistors. You’ll likely buy a pack of 100, but only 2 are needed. |
| 4 | Lithium Polymer Battery | 1000–1100mAh, ≤6mm thick, JST PH 2.0mm | 1 | Amazon — 1100mAh LiPo Battery | Critical: Must be 6mm thick or less to avoid puncturing from switch legs. Verify JST connector polarity matches the Lolin32 Lite before connecting. |
| 5 | Custom PCB — The Everything Remote | Designed for Lolin32 Lite | 1 | PCBWay — The Everything Remote PCB | Order this from PCBWay using the shared project link. |
| 6 | M2 × 10mm Socket Cap Head Screws | 1.5mm hex driver | 2 | Amazon — M2 Screw Assortment | An M2 screw assortment kit is a good investment; it includes both M2×10mm and M2×8mm screws needed. |
| 7 | M2 × 8mm Socket Cap Head Screws | 1.5mm hex driver | 3 | Amazon — M2 Screw Assortment | Included in the same M2 screw assortment kit. |
| 8 | Double-Sided Tape | General-purpose adhesive | 1 roll | Amazon — Double-Sided Tape | Any standard craft or foam double-sided tape works for securing internal components. |
Estimated total: $25-45. The ESP32 board and LiPo battery are the main costs.
Where to Get the Files
- STL files (enclosure and buttons): Printables — The Everything Remote
- ESPHome Firmware (v2.1 deep sleep): GitHub — ESPHome YAML v2.1
- Project GitHub Repository: GitHub — TheStockPot/The-Everything-Remote (includes BOM, firmware, and other resources)
- Custom PCB (Gerber files for ordering): PCBWay Shared Project — The Everything Remote
Build Notes
Battery thickness is critical. The LiPo battery must be 6mm thick or less. Thicker cells risk being punctured by the legs of the tactile switches once they are soldered to the PCB. Double-check your battery’s dimensions before ordering.
Flash firmware before final assembly. You need access to the USB-C port for the initial ESPHome firmware flash. Do this before screwing the enclosure shut.
Choose your firmware wisely. There are two main firmware versions:
- V2.1 (Deep Sleep): Offers 1-2 weeks of battery life. The device sleeps after 20 minutes of inactivity and wakes on GPIO0. This is good for remotes that aren’t used constantly.
- V1.0 (Light Sleep): Provides ~24 hours of battery life but offers instant response.
Button printing orientation matters. Print the button caps face-down on your build plate for the smoothest, cleanest top surface finish.
Enclosure print settings. Print the enclosure in PLA or PETG. Use a layer height between 0.12mm and 0.16mm. Supports are recommended for the enclosure, and a 4-line brim can help prevent corner lift.
Default firmware limitations.
- The default ESPHome YAML does not include a button-release event. If you want to implement “hold to repeat” actions (like continuous volume up), you’ll need to add a custom
on_multi_clickconfiguration to detect button releases. - Battery level reading is also not included by default. To see battery percentage in Home Assistant, add an ADC sensor on GPIO34 and configure voltage-to-percentage conversion in your ESPHome YAML.
About This Page
Some Assembly Mandatory builds supply guides for popular maker projects. We research and verify every component link so you can focus on building, not shopping. This guide was researched and compiled with AI assistance and reviewed by our editorial team. Found a dead link or a better component? Let us know.