Last week, my water purifier got completely clogged and stopped giving any output. Only then I realized that I had forgotten to replace its filter the previous month. A similar thing happened with my air conditioner—it wasn’t cooling properly because I had missed scheduling the maintenance service before summer began.
These small oversights don’t just cause inconvenience; they can also lead to expensive repairs that could easily be avoided with timely maintenance. That’s what gave me the idea to build Mendly—a compact, wall-mounted reminder system that keeps track of your home equipment maintenance schedules.
The name Mendlycomes from “mend” (repair) + “friendly”, and that’s exactly what it does: it acts like a friendly companion that reminds you to take care of your home appliances before they break down.
With a simple touchscreen interface, you can select the type of appliance or task you want to track. A progress bar shows you how much time is left until the next repair, filter change, or service. Thanks to a built-in battery backup, Mendly keeps working even during power outages, ensuring you never lose track of your reminders.
This project is built using a Waveshare 1.28-inch ESP32-S3 Round Touch Display, housed in a 3D-printed case designed in Tinkercad. It’s powered by a 500mAh rechargeable battery with Type-C charging, and the user interface is created with custom graphics in SquareLine Studio, rendered using the TFT_eSPI library in Arduino IDE.
Compact and easy to mount with 3M tape, Mendly quietly sits on your wall and makes sure you never forget an important maintenance task again—saving you both time and money while keeping your home running smoothly.
By the way, Subscribe to my YouTube channel for more projects like this. I also update my upcoming projects on Instagram.
buy me a coffee! ☕: Donate
For this project, you’ll need just a few components to bring Mendly to life:
- Waveshare 1.28-inch ESP32-S3 Round Touch Display (amazon.com / amazon.in)
- 500mAh Li-Po Battery (amazon.com / amazon.in)
- USB Type-C Cable (amazon.com / amazon.in)
- 3M Double-Sided Tape (amazon.com / amazon.in)
This is the heart of the project—a compact yet powerful development board. It features a 1.28-inch capacitive touch LCD, built-in ESP32-S3 MCU, and an onboard 6-axis sensor (3-axis accelerometer + 3-axis gyroscope), making it perfect for interactive projects. It also includes a Li-ion battery charging manager for portable use. With its small form factor and rich features, it’s easy to integrate into DIY builds or final products.
500mAh Li-Po BatteryThis rechargeable Li-Po battery provides portable power for the Mendly device, ensuring it keeps running even during power outages. A 500mAh capacity is a sweet spot for this project—it’s compact enough to fit inside the 3D-printed case while still delivering several hours of backup time. It also pairs perfectly with the Waveshare ESP32-S3 round display, since the board already has a built-in Li-ion battery charging manager over Type-C, making integration simple and reliable. I chose this battery because it’s lightweight, safe, and provides just the right balance of size, capacity, and compatibility for the display module.
3D-Printed CaseDesigned in Tinkercad to fit the ESP32-S3 round display and 500mAh battery snugly. The case has a sleek cylindrical shape, with space for the Type-C port and a flat back for easy wall mounting using 3M tape. Lightweight, compact, and modern-looking, it keeps everything protected while blending seamlessly into a home setup.
USB Type-C CableEssential for both charging the 500mAh Li-Po battery and uploading code to the ESP32-S3 round display. A standard, reliable Type-C cable makes development and everyday use simple and hassle-free.
3M Double-Sided TapeStrong adhesive tape used for mounting the device on a wall without screws or drilling. It keeps the case secure while allowing easy repositioning—perfect for a clean, renter-friendly setup.
SquareLine Studio + Arduino IDESquareLine Studio was used to design the custom UI and graphics, while the Arduino IDE handled coding and uploading firmware to the ESP32-S3 display. Together, they make it easy to create a polished interface and bring the project to life.
I wanted the enclosure to look just as sleek and modern as the round display itself. Using TinkerCAD, I designed a three-part snap-fit case—a front shell, back cover, and middle ring. Before designing, I carefully measured the dimensions of the display, battery, and USB Type-C port to ensure everything fits snugly without extra gaps. The middle section holds the display firmly, while also leaving a clean opening for the charging port. The snap-fit design means no screws are needed, making it simple to assemble, lightweight, and easy to maintain while keeping a professional finish.
Printing Details:
- Nozzle: 0.1 mm (for fine detail and smooth finish)
- Infill: 20% (strong yet lightweight)
- Material: ABS – Black (durable, heat-resistant, and gives a professional look)
I designed the interface in SquareLine Studio, a drag-and-drop GUI editor. It exports LVGL graphics code, which can be directly used in Arduino IDE. This saved time and made it easy to create custom icons, a progress bar, and a clean touch-friendly layout without manually coding every detail.
UI Design Overview
The interface was designed in SquareLine Studio and includes a total of 10 pages:
- Progress Bar Page – shows the remaining time until the next maintenance.
- Home Screen – displays all equipment (currently: Air Conditioner, Water Purifier, Vacuum, Exhaust Fan).
- Time Selection Pages (4x) – one for each piece of equipment, to set maintenance intervals.
- Warning Pages (4x) – alert screens for each device when maintenance is due.
This layout keeps the UI simple, touch-friendly, and easy to navigate while covering all essential functions.
Exporting the UI
Once the UI was complete in SquareLine Studio, I clicked EXPORT to generate all the required libraries and UI files. These files are saved in a folder and can be directly included in the Arduino IDE project, making it easy to bring the designed interface onto the ESP32-S3 display.
Get the project files from my GitHub repository.
Install Required LibrariesIn Arduino IDE, open the Library Manager and install:
- lvgl
- TFT_eSPI
- Open the file:
- Documents/Arduino/libraries/TFT_eSPI/User_Setup_Select.h
- Uncomment:
#include <User_Setups/Setup302_Waveshare_ESP32S3_GC9A01.h>
- Comment out:
#include <User_Setup.h>
Set Board SettingsMatch the board configuration as shown in the reference image (ESP32-S3, correct flash, PSRAM, etc.).
Connect the DeviceUse a USB Type-C cable to connect your Waveshare ESP32-S3 display to the computer.
Compile and Upload- Click Verify to compile the code.
- Then click Upload to flash the firmware onto the device.
Once uploaded, your Mendly reminder interface will run automatically on the display.
GitHub:https://github.com/vishalsoniindia/Mendly-the-Home-Maintenance-Reminder
- Clean the 3D-printed parts by removing supports and smoothing edges.
- Insert the display into the top part, ensuring the USB-C port aligns.
- Snap the middle frame into place to hold the display securely.
- Connect the 500mAh Li-Po battery and place it inside.
- Add foam pieces to keep components snug and stable.
- Close the back cover until the snap-fit joints lock.
Here’s your final step polished into short bullet points:
- Mount the device on a wall using 3M double-sided tape.
- Place it near a wall socket for easy charging and power access.
- Connect the Type-C USB cable to power up the device.
- The Mendly is now ready to use!
- The home screen shows a progress bar so you can track maintenance status live.
- Tap the home screen to access four icons: Air Conditioner, Water Purifier, Vacuum, and Exhaust Fan.
- Select any icon to open a screen where you can set the alert time for that specific device.
- Return to the previous menu anytime by tapping anywhere on the screen outside of the buttons.
- After setting the time, you’ll be redirected back to the home screen.
- When an alert appears, simply tap “OK” to confirm you’ve acknowledged the reminder.
The current version of Mendly works great as a standalone reminder device, but there are several exciting upgrades that can make it even smarter and more versatile:
- Add the capability to create and manage more devices directly from the touchscreen.
- Enable Wi-Fi sync with Google Calendar or Home Assistant for smart home integration.
- Switch to an ePaper display for ultra-low power consumption and always-on visibility.
- Include a buzzer or LED ring to provide audible/visual alerts for urgent reminders.
By the way, Subscribe to my YouTube channel for more projects like this. I also update my upcoming projects on Instagram.
buy me a coffee! ☕: Donate
Comments