Posts

Showing posts from 2025

Chess Puzzle Box with E-Paper Display

Image
 The initial idea behind this project was completely different from the final result. I’ve always wanted to experiment with e-paper displays but never had the right opportunity or use case. After some time, I came up with the idea of using it to display events from two Google Calendars. Since this kind of device is battery-efficient, my goal was to create something that would remain asleep most of the time and wake up only for a few seconds during refresh. For the first iteration, I bought a 4.2" e-paper Waveshare display and an Adafruit Huzzah Feather ESP8266. My first approach involved generating an image on a server, with the e-paper and Arduino fetching whatever the server sent. I encountered two small challenges along the way. First, handling HTTPS was tricky because Arduino isn’t designed for proper HTTPS requests, and my server’s certificate changes every few months. I solved this by using a Raspberry Pi as a proxy. The second issue was with sleep functionality. When I set ...

Simple Physical Controller for a Robot Vacuum (ESP32 + Raspberry Pi)

Image
The idea for this project came from a very practical situation at home. We have a Roborock robot vacuum, but it is configured only on my phone. In daily use, I mostly rely on room-by-room cleaning, which requires a bit of preparation before starting the vacuum. I wanted my kids to be able to start cleaning as well, but without needing access to my phone. Recently, I experimented with an unofficial API available on GitHub, and I found that it was relatively easy to trigger cleaning commands for individual rooms. That gave me the idea to build a simple, dedicated controller. Hardware Design The device itself is intentionally simple: ESP32 Huzzah (with built-in battery support) Small LED display Battery-powered operation Custom 3D-printed enclosure I designed a small case and printed it using a 3D printer to make the controller compact and easy to use for kids. Challenges and Decisions One of the main challenges was communication with the vacuum. From a previous project, I knew that handl...