Is anybody playing with one of these yet?
I would be interested in any tips in programming this using esphome. I have one on order and it winging its way to the UK as we speak.
Is anybody playing with one of these yet?
I would be interested in any tips in programming this using esphome. I have one on order and it winging its way to the UK as we speak.
Just got mine today. Working on getting the display working but no luck so far. Here’s the relevant parts I’ve tried if anyone has any suggestions (I’m mostly guessing my way through it):
spi:
id: quad_spi
type: quad
clk_pin: 11
data_pins: [4, 5, 6, 7]
display:
- platform: qspi_dbi
id: lcd_display
model: CUSTOM #CO5300
data_rate: 80MHz
spi_mode: mode0
dimensions:
width: $screen_width
height: $screen_height
offset_width: 0
color_order: rgb
invert_colors: false
brightness: 255
cs_pin: 12
reset_pin: 8
enable_pin: 13
Glad to here someone else is playing with this, not got mine yet, but will almost certainly need a lot of help.
Just looking through the docs, found this.
init_sequence (Optional, A list of byte arrays): Specifies the init sequence for the display. This is required when using the CUSTOM model - but may be empty. If specified for other models this data will be sent after the pre-configured sequence.
No idea about it but ??? ![]()
Hey I’ve started playing with the amoled 1.75, I’ve used the doc for the pin + the Arduino example for the init sequence and I’m able to show some text (with green bar on the right and bottom).
Here is my code so probably worth updating the pin with the schema of the 2.06 version:
spi:
id: quad_spi
type: quad
clk_pin: 38
data_pins: [4, 5, 6, 7]
display:
- platform: qspi_dbi
model: CUSTOM
id: my_display
cs_pin: 12 # LCD CS
reset_pin: 39 # LCD RESET
# enable_pin: <if your board has one>
# te_pin: 13 # optional TE pin
dimensions:
width: 454
height: 454
data_rate: 80MHz
color_order: rgb
init_sequence:
- [0x11] # Sleep Out
- [0xFE, 0x00]
- [0xC4, 0x80] # SPI Mode Control
- [0x3A, 0x55] # Pixel Format: 16bpp
- [0x53, 0x20] # CTRL Display1
- [0x63, 0xFF] # Brightness HBM
- [0x29] # Display On
- [0x51, 0xD0] # Brightness Normal
- [0x58, 0x00] # WCE: Contrast Enhancement Off
What do you mean by this?
Still waiting for my parcel to arrive.
Pin seems different from 1.75 for the display so with the documentation on wave share for 2.06 version, you will need to adapt the code
this seems to work for me, and not as slow as qspi:
display:
- platform: mipi_spi
id: main_display
model: AXS15231
cs_pin: 12
reset_pin: 8
update_interval: never
dimensions:
width: 432
height: 504
data_rate: 80MHz
color_order: rgb
init_sequence:
- [0x11] # Sleep Out
- [0xFE, 0x00]
- [0xC4, 0x80] # SPI Mode Control
- [0x3A, 0x55] # Pixel Format: 16bpp
- [0x53, 0x20] # CTRL Display1
- [0x63, 0xFF] # Brightness HBM
- [0x29] # Display On
- [0x51, 0xD0] # Brightness Normal
- [0x58, 0x00] # WCE: Contrast Enhancement Off
the ft3168 touchscreen driver is a bitch though…
full working yaml for home assistant voice assist, except touch functionality: xiaozhi-esphome/devices/Under_Development/Wrist_Watch.yaml at ebd372cae10191ff1e84aaafdc3c6ec0200cea52 · RealDeco/xiaozhi-esphome · GitHub
Thanks for that, I will have a play as soon as evri remember where I live. ![]()
I guess the touch part is still an issue?
@RealDeco you’re a legend! So far I got the display and speaker working from your example. I managed to get the brightness working but it only works with QSPI so I couldn’t do MIPI. I haven’t copied everything from your example yet, excited to try out the voice assistant.
Any ideas on how to get the current charging state and battery level?
i just updated yaml with working touch ![]()
RealDeco You are a star, hopefully my watch will arrive tomorrow and I will be able to play, not sure when as there is a lot going on here tomorrow.
it’s a AXP2101 power manager which is one of the 5 I2C component, most likely on address 0x34 but the only external library i can find isn’t working… but at least touch is working now ![]()
updated the yaml again to include brightness control with mipi ![]()
@RealDeco oh wow that’s excellent! I don’t see it in the link you posted, did you push the update to the repo?
I’m trying to figure out how to get the display to sleep but it seems like write_command, turn_on/off isn’t an option here. Any ideas? I’m still using QSPI so maybe that’s why.
Also you mentioned 5 I2C devices but my scan shows me 6, not sure if this helps but here’s what I get:
[23:37:20][I][i2c.idf:110]: Found device at address 0x18
[23:37:20][I][i2c.idf:110]: Found device at address 0x34
[23:37:20][I][i2c.idf:110]: Found device at address 0x38
[23:37:20][I][i2c.idf:110]: Found device at address 0x40
[23:37:20][I][i2c.idf:110]: Found device at address 0x51
[23:37:20][I][i2c.idf:110]: Found device at address 0x6B
I believe the code is here now, not had a chance to play yet as the watch is not here yet.
i posted the direct link to the yaml in “under development” where it starts, but yes it’s in the devices/waveshare now
you are right, there’s 6, but it only shows 5 on the pinout (the ones using gpio 14 & 15), i’m guessing the 6th one is the IO extender.
EDIT: i was remembering wrong, it’s some other waveshare displays that use io extender, too many displays ![]()
QMI8658 6-axis sensor
PCF85063 RTC (realtime clock)
AXP2101 power manager
ES8311 audio codec
FT3168 touch
ES7210 audio codec
What’s the battery life like on this thing?
Battery life is really poor but I guess it needs a bit more work on sleep modes.
Any how thanks to #RealDeco I have managed to create this so far, tilt sensor is working with time on the idle page. Need to make the screen sleep when not needed.