Installing ESPhome on GEEKMAGIC Smart Weather Clock (smalltv/pro)

Try turning the backlight on :slight_smile:

1 Like

I’ve got a the Nixie clock version of this that appear to be a esp8266 , with you pin number I’ve got the screen and backlight working, with the adafruit gfx library and the adafruit st7789 library. This board also appears to have some leds I don’t know if they are addressable or RGB, no one would have any ideas? Ideas on the pins?
Great work so far I got the screen working pretty quick

A point to the device please.

Don’t know if anyone is interested, but turned out to be addressable led on pin 12 , trying to work out the touch sensor now

2 Likes

Hi!, could you upload the whole config, i’m trying to make it work using some code just read from this post but no luck the screen is on but nothing in it and i can ping it but no able to view logs from ESPhome, i have the one with the esp8266

esphome:
  name: smartmini
  platform: ESP8266
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "REDACTED"

ota:
  password: "REDACTED"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: True
  manual_ip:
    static_ip: 192.168.x.xxx
    gateway: 192.168.xx.xx
    subnet: 255.255.255.0



captive_portal:


time:
  - platform: homeassistant
    id: homeassistant_time

font:
  - file: 'fonts/OpenSans-Regular.ttf'
    id: font1
    size: 30


color:
    - id: color_green
      red: 0%
      green: 100%
      blue: 0%

sensor:

  # Uptime sensor
  - platform: uptime
    name: "Uptime"

  # WiFi Signal sensor
  - platform: wifi_signal
    name: "WiFi Signalstärke"
    update_interval: 60s

spi:
  clk_pin: GPIO14
  mosi_pin: GPIO13
  interface: hardware
  id: spihwd

output:
  - platform: esp8266_pwm
    pin: GPIO05
    frequency: 20 Hz
    id: pwm_output

light:
  - platform: monochromatic
    output: pwm_output
    name: "Backlight"



display:
  - platform: st7789v
    model: "Custom"
    spi_id: spihwd
    height: 240
    width: 240
    offset_height: 0
    offset_width: 0
    dc_pin: GPIO02
    reset_pin: GPIO04
    #backlight_pin: GPIO25
    eightbitcolor: True
    #update_interval: never
    update_interval: 5s
    id: disp
    spi_mode: mode3
    lambda: |-
      it.printf(0, 0, id(font1), id(color_green),"Test1");
      it.printf(1, 1, id(font1), id(color_green),"Test2");
      it.printf(10, 10, id(font1), id(color_green),"Test3");
      it.printf(100, 100, id(font1), id(color_green),"Test4");

Mine is the esp32 so I’m probably no good to you.

1 Like

Hi @laurentdb did you get this working? if it so, could you please share your config file :slight_smile:

Also I changed my yaml and seen to have bricked the darn thing.

Good news… My Display just arrived and I was disappointed to see that it was ESP8266…

But after little poking around, I got the screen working… didn’t do full test! but this is my config

esphome:
  name: mini-display-tv--yellow
  friendly_name: Mini Display TV - Yellow

esp8266:
  board: esp01_1m

external_components:
  - source:
      type: git
      url: https://github.com/rletendu/esphome.git
      ref: st7789_nobuffer_202312
    # refresh: 0s
    components: [st7789v]

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

ota:
  password: "xxx"

wifi:
  ssid: xxx
  password: xx

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Mini-Display-Tv--Yellow"
    password: "xxxxxxx"

# captive_portal:

spi:
  clk_pin: GPIO14
  mosi_pin: GPIO13
  interface: hardware
  id: spihwd
    
# status_led:
#   pin: GPIO2
  
output:
  - platform: esp8266_pwm
    pin: GPIO05
    frequency: 20 Hz
    id: pwm_output

light:
  - platform: monochromatic
    output: pwm_output
    name: "Backlight"

font:
  # gfonts://family[@weight]
  - file: "gfonts://Roboto"
    id: roboto
    size: 12

color:
  - id: color_green
    red: 0%
    green: 100%
    blue: 0%

display:
  - platform: st7789v
    model: "Custom"
    spi_id: spihwd
    height: 240
    width: 240
    offset_height: 0
    offset_width: 0
    # dc_pin: GPIO02
    # reset_pin: GPIO04
    dc_pin: GPIO00
    reset_pin: GPIO02
    #backlight_pin: GPIO25
    eightbitcolor: True
    #update_interval: never
    update_interval: 5s
    id: disp
    spi_mode: mode3
    lambda: |-
      auto red = Color(255, 0, 0);
      auto green = Color(0, 255, 0);
      auto blue = Color(0, 0, 255);
      auto white = Color(255, 255, 255);
      it.rectangle(20, 50, 30, 30, white);
      it.rectangle(25, 55, 30, 30, red);
      it.rectangle(30, 60, 30, 30, green);
      it.rectangle(35, 65, 30, 30, blue);

Hope this helps others :wink:
Only different is the DC & RESET pins

dc_pin: GPIO00
reset_pin: GPIO02
3 Likes

it is really slow to render… simple text is taking 0.33 s to render. A Full screen image is taking 2-3seconds to render!
not sure how to improve this…

I’m 99% confident that this product is based on this project GitHub - ClimbSnail/HoloCubic_AIO: HoloCubic超多功能AIO固件 基于esp32-arduino的天气时钟、相册、视频播放、桌面投屏、web服务、bilibili粉丝等
Hope that will make anything simpler.

Does anyone have a dump of the “ultra” model, I can’t seem to get the old image flashed from the github, just black screens on the screen itself.

Nevermind!

Update: I have never used esphome so I realize this makes me look like a PSYCHO

Is there a way to restore the original firmware after uploading esphome?

2 Likes

I’m also looking for dump (original FW) of PRO and ULTRA version.
But no luck so far …:sob:

I have uploaded the partition table and a dump of all but the spiffs partitions here: Unbricking · Issue #10 · GeekMagicClock/smalltv-pro · GitHub

1 Like

Which device is recommended, Pro or Ultra?
Thanks

What is this ultra? The first post refers to the smalltv and the smalltv pro. Where did the ultra come into it, and can you point to an example for sale?

They have some on this page as well as some of the standard ones, a couple of others have mentioned them in this thread.
I use the octopus Agile energy tariff, and I see these as great devices to put in rooms to say when energy is cheapest.
https://www.aliexpress.com/item/1005004679769445.html