I made an ePaper room controller at home. It's an air quality monitor and smart thermostat. The CTRL ONE

I made an ePaper room controller at home. It's an air quality monitor and smart thermostat. The CTRL ONE

Time to put myself out there and see what the internet thinks! Hi all, my name's Elvin, and I left my job at the start of this year to try something new. I've been making blog posts and videos on electronics & tech for a year or so now, you might have seen some of them around this sub.

I wanted to challenge myself to see how far I could go with modern manufacturing - 3D printing, laser cutting, and bring a new ESPHome device to market. All from my workshop at home.

https://preview.redd.it/hvl2nghqcckh1.jpg?width=4000&format=pjpg&auto=webp&s=18c1b8b73f8639f73a88ceeee2045e189b94080a

It's called the CTRL ONE. It's a smart room controller with a 4.2" ePaper display, touchscreen, air quality and thermostat support. Using the onboard SCD40 sensor, it can measure temperature, humidity and CO2. And best of all, it runs 100% ESPHome - I've been contributing PRs over the last few months to make this display work perfectly.

It's called a room controller because through the add-on & widget system, it can manage many aspects of the room you place it in. Out of the box it's a simple air quality monitor, but through adding widgets it can expose data from Home Assistant, like the outside weather as I've got in the example above. You can also place buttons and sliders to control things like lights, blinds and ventilation systems.

The main reason I started this journey was that I really really didn't like my basic builder's grade thermostat. Adding the 24VAC thermostat add-on to the back and mounting it to a wall makes it a fully featured smart thermostat, that can do much more than just measure temperature.

https://preview.redd.it/14342m0vdckh1.jpg?width=6000&format=pjpg&auto=webp&s=27f256060cc5f20aa1a9f1b58a3661611a5d0833

That's the end of the sales pitch. I'm here to see if this is something you're interested in, and what you think of it. AMA.

You can find it here: https://elvinhome.io/r/sh2

---

ESPHome devices are what got me started on this road to begin with so I thought I'd nerd out a little and share some of the engineering choices that went into it. I started on this project back in February, and it took 5 prototypes before I got it right. With each one having a roughly 3 week turnaround time from redesigning a PCB to getting it in my hands (plus one lost package delaying me by a month), it brings me to today!

Here's one of my first (non-functional) prototypes. I had an old busted up epaper display that was about the size I wanted it to be, just to get a bit of the shape and feel.

https://preview.redd.it/19wkbaz7hckh1.jpg?width=3072&format=pjpg&auto=webp&s=8c8ad062a993897bf35bca61cb5f022b6a3e979e

At this time the PCB was a 3D-printed approximation just so I knew what size to make it. The corner cut-out was added later. The shape and bezels of the device are a result of the constraints of the display, which you can see clearly with the bezel taken off:

https://preview.redd.it/u8k3w5rehckh1.jpg?width=3072&format=pjpg&auto=webp&s=ea12fdb303e3e622c607026c9e854d3e4621c1ac

ePaper displays have come a long way but some still have much larger "chins" than others. But there's not many options out there for displays that come with a touchscreen and a light - did I mention it has a light? It also has an ambient light sensor so it knows to light up the display in the dark.

The corner cut-out in the bottom left also came later. It was partly an aesthetic choice, but I'm curious to see what you think. Corner cut-out or no cut-out?

https://preview.redd.it/kz9cc1awhckh1.jpg?width=6000&format=pjpg&auto=webp&s=3c1cdf55364fd75d3aacc14628074e8177ba2f3a

It's also a functional choice. The biggest engineering challenge was dealing with heat. ESP32s can generate enough heat running at full tilt to throw off temperature readings a little. Unlike plenty of other e-ink dashboards you've seen on this subreddit, it's an interactive device due to the touchscreen. The interface is entirely rendered on-device. No fetching pre-rendered images from a server. It continues to work fully offline, showing data from its own sensors, and managing your heating system if it has the thermostat add-on installed.

https://preview.redd.it/myqlwbdijckh1.png?width=1858&format=png&auto=webp&s=60f221a12f9a60711e5db9e9af21556ff3767775

Here's what it looks like through a render of the enclosure. By placing the SCD40 sensor in the corner, with a partitioning wall on the inside of the casing, it gives it maximum exposure to the outside air, while having physical separation from the rest of the internals. The ESP32 and power management is placed entirely on the opposite side of the board. Having it tucked behind of the bezel keeps it out of direct sunlight, as well as your own vision. You'll only see it if you peek around the back.

https://preview.redd.it/m9wlovzxjckh1.jpg?width=4080&format=pjpg&auto=webp&s=97eecc0bc72ba323f0a9efcf03f05a64267990d2

Everything up until now has been all things that I'd have to consider for any project in my blogs or videos, but since it's something for sale, there's so many other things to consider too! Key one being packaging. Using my laser cutter I mocked up a design to create a cardboard insert, which then goes into a standard letterbox-sized carton. I wanted the least packaging possible and also for it to be fully recyclable, so it's 100% cardboard (no glue) and it goes in the mail straight in the product box it comes in.

https://preview.redd.it/zbmt02flkckh1.jpg?width=4080&format=pjpg&auto=webp&s=471425479f4781be1b41a32758a4dc820e75fec0

I'm actually still using laser cut cardboard in my final packaging! Especially in the beginning when I'm not sure how this will go (with your support, hopefully well) it's actually a super cost-effective way while I'm dealing with low quantities. It does produce a slight charred wood smell though, so I definitely plan to find a vendor to make them in the future.

I'll be sharing more about how I made it on my blog over the coming weeks, come take a look if you're interested! And I've got plenty more projects I do on the side if you're looking for some inspiration in your own home.

elvinhome.io
u/Eelviny — 17 hours ago
▲ 10 r/Esphome

Chances are this floor lamp was in your grandparent's home too. Mine now runs ESPHome

I thought I was alone in having one of these floor lamps, but the comments I got since I posted this video a couple weeks back told me that it's a lot more common than I thought!

My grandmother recently upgraded her standing floor lamp to an LED one that we bought off Amazon. I just couldn't let this old one go to waste, and they just don't make 'em like they used to.

So I stripped out the old incandescent bulbs, made a replacement LED light panel and put an ESP32 running ESPHome behind the knobs for native Home Assistant control. And I added an addressable RGB ring, because I could.

This was definitely not the most cost- or time-effective way to get a standing floor lamp, but we do things not because they're easy, but because we thought it was going to be easy.

Since I was getting asked, I also made a follow-up blog post and video where I go into detail on the electronics and share the KiCad designs and ESPHome config, if you're interested in trying this yourself: https://elvinhome.io/blog/articles-3/retrofitting-an-old-lamp-in-hard-mode-custom-lighting-pcbs-21

youtube.com
u/Eelviny — 3 days ago

My experimentation with battery powered, OpenThread ESPHome didn't go well

I'm experimenting with the Home Assistant Connect ZBT-2 and OpenThread, getting my battery-powered smart cat bowl running ESPHome to play nicely. The results were... underwhelming.

I picked up the Home Assistant Connect ZBT-2 specifically for this test, and the cat bowl uses 2x 18650 cells. So far every ESPHome device I've made are mains-powered, so this was my first foray into doing something on battery.

Check the blog post for the full details on the setup, but the TL;DR is that while I got OpenThread working great, the device died in about 5 days. From what I understand, this is because while OT uses less power, the ESP32 was still running fully awake as ESPHome doesn't support light sleep.

So I rewrote the configuration to go into deep sleep, waking up every 15 minutes. It stays awake for max 45 seconds, waiting for an API connection, publishing the sensor values and going back to sleep. What I was finding was that Home Assistant was just not connecting to the device very quickly, usually taking about 30 seconds to notice that the device has come back online, and often not even noticing it at all. It then hits the 45 second limit and goes back to sleep, leaving a hole in my data.

Has anyone else tried this setup out and had success?

Deep Sleep on WiFi isn't as much of an issue as I believe it "announces" itself on the network through mDNS and HA picks it up very quickly, but this doesn't appear to happen on OpenThread. This means that the device stays awake for a very long time before it can publish its readings and go back to sleep. I was able to get this running for 3-4 weeks, but I would expect far more from these 18650 cells.

elvinhome.io
u/Eelviny — 3 days ago

I host my business' website at home, behind Cloudflare

I've had this tower PC sitting in the meter closet for years, doing the usual homelab stuff - running Home Assistant, storing photos, and handling some Linux ISOs. I even run an OPNSense VM handling the internet connection.

I live literally next to the exchange and I've got rock solid fiber internet, so when starting my own small business I thought I'd give it some more duties, namely running my website and ERP. Running a business website straight off your residential internet connection (even though I do have a business contract) would be a terrible idea, so Cloudflare Tunnels and CDN are definitely to the rescue here.

Use the cloud where it's impossible for you to meet the same scale, and self-host everything else.

The video linked is made to grab the attention of the Instagram/Tiktok newbie audience so maybe it doesn't work for you, but the blog post gets into more detail on my setup :)

elvinhome.io
u/Eelviny — 3 days ago
▲ 267 r/Esphome+2 crossposts

I made a smart water bowl running ESPHome to track how much my cat drinks

Does Carlos drink enough water? Seeed Studio sent me their human presence detecting kit, and I decided to use it on my cat. I'm sure that's not what they intended, but that's their problem, not mine. I'm using an ultrasonic sensor and PIR motion detector in a 3D printed enclosure to sense when my cat drinks, and roughly how much.

This was also an excuse to experiment with ESPHome on battery power, over OpenThread. It didn't go perfectly, but that's what experiments are for. The video covers the build, and the blog posts cover the software side also.

https://elvinhome.io/blog/articles-3/does-my-cat-drink-enough-making-a-smart-water-bowl-17

u/Eelviny — 3 days ago

Modifying my CC1 for 5kg filament spools

There's a reason why 5kg spools are not as common, but they're great when you want to print a lot of stuff in bulk, and don't want to worry about running out mid-print. I modified my Centauri Carbons with a BigTreeTech SFS v2.0 smart filament sensor and some other changes to better handle them. TL;DR: it repurposes the mainboard fan tachometer pin for the filament motion sensor on the SFS.

Sure, I could have got the CANVAS to switch between multiple 1kg spools, but a) I shot this before it was announced and b) this is way cheaper, and less complex ;)

I made a video for the social media but I also turned it into a step by step blog post. https://elvinhome.io/blog/articles-3/making-my-3d-printer-work-with-big-filament-spools-15

youtube.com
u/Eelviny — 1 month ago

I crammed a laser cutter into my Amsterdam apartment

I primarily cut and engrave 1-3mm wood and acrylic, and wanted something I could reasonably get into a fairly unreasonable place for a laser cutter. This OneLaser XRF is my first laser, and I've learned a lot since I filmed this video a couple months ago. I come from 3D printing so it's definitely something I draw comparisons to, before reminding myself that there are many "consumer" creature comforts that these sorts of machines don't bother with.

https://elvinhome.io/blog/articles-3/laser-cutters-aren-t-made-for-apartment-life-onelaser-xrf-13

youtube.com
u/Eelviny — 2 months ago
▲ 14 r/ElegooCentauriCarbon+1 crossposts

On my way to modding my CC1 to be as buggy as an Ender 3

There's definitely a point when you look at the time and money you've spent on modding, and wondering whether you should have just got a more expensive printer in the first place.

I don't think I'm there yet but then again, I would argue that nobody really makes a properly insulated enclosed 3D printer. As I'm running these in my small apartment workshop, the real intention was to cut down on the noise and heat generated, and my thermal camera tells me that I'm succeeding there. I actually prefer to use the CC1 day to day over my Prusa Core ONE now.

Here's a link to where you can find the mods I installed. They weren't made by me, I highly recommend them. https://elvinhome.io/blog/articles-3/transforming-the-centauri-carbon-from-a-pla-toy-to-a-serious-3d-printing-machine-14

youtube.com
u/Eelviny — 2 months ago
▲ 28 r/ElegooCentauriCarbon+1 crossposts

Sharing my experience so far with two CC1s running COSMOS

I actually got these printers at the start of this year. I made a bet that OpenCentauri would be able to massively improve them, and boy did I win on that bet. I was expecting a better OC tweaked firmware, and I'm super happy with COSMOS. I've got a couple BTT SFS v2.0 smart filament sensors sitting on a shelf among other things, going to try fitting them and come back next week with another video.

youtube.com
u/Eelviny — 2 months ago

A little different from the artsy models, something more practical. Workshop modelling

I see many amazing 3D models here, but thought I'd show my application for it. I've got my entire apartment modeled to make things easier. And yeah, I wouldn't call this Art, but I have to apply a flair and "Art Showcase" matches the closest...

When you've got access to an Autodesk Revit subscription that costs more than the workshop itself per year, you might as well use it. But the point here is not the tool, but how you use it; this could be achieved in just about any 3D modelling software. Doing this up-front saved me so many headaches once it got into the real world!

youtube.com
u/Eelviny — 3 months ago
▲ 15 r/Esphome

Building with the ESP32-C6-MINI was a little more difficult than I thought

https://elvinhome.io/blog/projects-3/how-to-over-engineer-a-shelf-with-smart-lights-10

I decided to use my workshop's lighting system as a testing ground to try out the ESP32-C6-MINI-1 modules running ESPHome. They're super small, but not exactly geared towards hobbyists and one-off projects. If you're thinking about using them for in your next DIY project, I'll spoil the ending (avoid them IMO) - I wrote up a blog post with my experience.

u/Eelviny — 3 months ago
▲ 3 r/KiCad

Building with the ESP32-C6-MINI was a little more difficult than I thought

https://elvinhome.io/blog/projects-3/how-to-over-engineer-a-shelf-with-smart-lights-10

I decided to use my workshop's lighting system as a testing ground to try out the ESP32-C6-MINI modules. They're super small, but not exactly geared towards hobbyists and one-off projects. If you're thinking about using them for in your next DIY project, I'll spoil the ending (avoid them IMO) - I wrote up a blog post with my experience.

u/Eelviny — 3 months ago

Building with the ESP32-C6-MINI was a little more difficult than I thought

I decided to use my workshop's lighting system as a testing ground to try out the ESP32-C6-MINI modules. They're super small, but not exactly geared towards hobbyists and one-off projects. If you're thinking about using them for in your next project, I'll spoil the ending (avoid them) - I wrote up a blog post to explain why.

elvinhome.io
u/Eelviny — 3 months ago
▲ 1 r/Esphome+1 crossposts

Floating shelf workshop build with integrated ESPHome custom lighting

I went a little overboard with the lighting solution for my workshop. This floating shelf has some hidden tricks up its sleeve, and it's all powered by Home Assistant and ESPHome. I built a custom PCB running an ESP32-C6 that controls the 3 lighting zones, plus an addressable RGB strip because why not. I'll share the next video in a weeks time where I dive into detail on the PCB that made it happen. Hope you like it

youtube.com
u/Eelviny — 3 months ago
▲ 7 r/WorkshopPorn+1 crossposts

Two ALEX cabinets hold up my entire workshop

Thought I'd share my recent workshop build. Most of it is custom cut wood pieces joined together, but these ALEX drawers made the perfect desk support and storage solution. I wanted the desk a little higher so I raised it up with a couple pieces of wood stacked together, but you don't see that from the top! Let me know what you think

youtube.com
u/Eelviny — 3 months ago

Thought I'd share my openGrid setup in the form of a vertical video

I'm building out a hacker/tinkerer workshop space for my new business and when I first saw the openGrid project, I knew I had to have it on my entire wall. As I'm getting a bit more serious with making videos I wanted something functional but also to add something visually cool to the back of my shots, let me know how you think it turned out :)

youtube.com
u/Eelviny — 3 months ago