I made a smart infinity mirror!

Hey everyone! Thought I’d share my smart infinity mirror.



Screenshot of full control in HA
Here’s the GitHub repo (with all of the how-tos):


Basically I took a cheap infinity mirror on Amazon, took it apart, and put my own light strip in there. Then I hooked it up to a HelTec WiFi Kit 32. It’s pretty snappy to use, and it has some nice touches too (like OTA capability).
Let me know what you think!
1 Like

Nice, and thanks for sharing! Esphome has a component for neopixels; you could use that to display encoded time and/or weather on those LEDs. :sunglasses:

Thanks, good idea. Although it would be hard to translate all of that into custom ESPHome code and YAML and automations and stuff. Does it work with the built-in display?

True, it would be a lot of coding to make something that does all of that well. OTOH, the pyramids weren’t built overnight either. :wink: …this could be a worthwhile and popular project if pulled off well! This could also be an awesome way to spend time during a rainy day / covid-lockdown.

Not 100% sure, but I’m willing to bet 10:1 that the display is just an SSD1306 or similar strapped on the PCB, and of course esphome has components for the common OLED’s like the ssd1306. You’d have to dig in the heltec library to verify this, and doing so would also show which pins it’s wired to (very likely hardware i2c). I bet 20:1 this has all been done before on a very similar (clone) esp32+oled product… not your specific project, but I mean using that board+oled with esphome.

[edit: Side note… it’s been years, but IIRC a while back adafruit had a neat writeup for a ‘color changing cloud lamp’ project. It was basically an ethernet uno and neopixels, stuffed into a fluff of poly-cotton… turned blue when it’s raining, red when hot, etc… that would be an insightful read if I could find it.]

You mean this?

IOT Cloud cloud.

I actually came across this post looking for examples on how to configure the I2C entries for esphome. I can’t seem to get that working at all, even for just an example “hello world” or anything. I would like to use this board for a similar project, but can’t get the onboard LCD to do anything.

What code did you try?

Hey! I just managed to have a breakthrough with it! I’ve got some text to display finally. I found the proper I2C pins used for the built in display and popped those in. No interesting code so far, but here’s the code for the display I2C:

i2c:
  - id: bus_b
    sda: 4
    scl: 15
    scan: True

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    reset_pin: 16
    address: 0x3C
    id: my_display

Did you manage to do anything with that MCU and the Cloud Cloud?