New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Yeelight YLXD50YL (yeelink.light.ceiling20) support #19
Comments
I try to provide some steps to get the job done:
Ping me if your done. I will provide some more steps. It should be possible to boot the ESP32 without being attached to the lamp (external powered) and play around with the OEM firmware. Use your multimeter to measure the voltag between GPIO and GND. If it's a PWM pin you will be able to drive the voltage between some limits (by controlling the brightness of the lamp f.e.). I assume you can measure 0V between STA and GND if the device is turned off. If you turn the lamp on you should measure ~3.3V. Try to document everything. :-) |
This is the pinout I'm talking about: https://dl.espressif.com/dl/schematics/pictures/esp32-wroom-32d-front-back.jpg |
Thanks again Sebastian! Anyway, here are my results:
I didn't try to solder the contacts yet, as the testpoints are amazingly small and i'm not sure, if i got the right solderiron-tips. |
Now we know everything about the stock firmware. The next step is to write a esphome configuration yaml using the GPIOs identified above. Power the ESP32 again (while connecting GPIO0 to GND). The ESP32 goes into a "download mode" now. The mode is advertised at the serial line too (https://github.com/syssi/esphome-yeelight-ceiling-light/blob/main/logs/download-mode-gpio0.txt). Now close the terminal and use "esphpme run yourconfig.yaml" to flash the device. There is no way back! You can try to backup the stock firmware. Most of the time it's not possible. |
You could use this configuration as starting point:
|
Is this true: The mDNS name of the device is |
Hi! |
Alright, i am at the step of measuring the voltages on the red gpio-PIN. The ESP32 booted up and i got Serial Output running on Putty. Where do i need to place my second multimeter line, to get a voltage reading? (the first one is connected with the Red-GPIO) Edit: Alright i did it. |
Here are the voltage-measurements for all the channels: My UART-TTL-Adapter was actually to provide enough current to power on the ESP32 with (!) WIFI, so no external Power-Injection was needed here. The RX and TX-Lines had to be swapped, to get a reading. |
Good job! Do need assistance for the next steps? |
It worked!!!! I got Esphome on it through the flasher and will now experiment further, after i've mounted it again into the light itself. |
The pull request of @ExPeacer contains a nightlight. You should give it a try! |
The NC pin in the left side is the Night Light output pin - GPIO23. Try with that 😉 |
@chris-nite I would like to add your photos to the repository too. Do you agree? |
The nightlight setup worked perfectly with GPIO23. Thanks with that @ExPeacer Just one last question. Do i need to insert the Voltage limits somewhere into the yaml-code, so the lamp knows its boundaries? :) @syssi yes of course. |
Yes. You should apply the limits. Take a look at this configuration for example: You have to find to proper yaml values by try and error. Add the lower and upper limit to the configuration (per PWM GPIO), flash the new configuration, drive the device to the limits and measure the voltage at the same pins/places you've used beforehand. If you are above/below the noted limits you have to adjust your configuration an try again. Scaling [0,3.3] to [0,1] isn't enough because of the resistors between the ESP32 GPIOs and the pin header you have used to get the measurements. |
In the end i've measured all the voltages and set up some values near those OEM-lmits. Alright, the values are not perfect, but pretty accurate and near those original values, so here you go with my esphome yaml for the light:
|
Good job! |
@chris-nite Are you really sure that it's 7800 lumen? The websites I checked say that it's only 3000 lumen, for example: https://www.xiaomiplanets.com/Review-yeelight-guancan-ylxd50yl/ Also, the YLXD50YL is 30-40€ cheaper than the A2001C550. If the first one is really 7800 lumen then it's very surprising the second one doesn't have colors and only outputs up to 4700 lumen. Edit: According to this comment the GUANGCAN Pro YLXD49YL is the large living room model and has 7800 lumen. But the YLXD50YL is a smaller version and only has 3000 lumen. |
Hello @syssi ,
thanks again for your great support. As my meteorite lamp is running smoothly since i've upgraded to esphome, i now would like to address my struggling Ceiling Lamp Yeelight YLXD50YL (yeelight ceiling lamp 20), as it is almost always unavailable in HA, as well as there are problems using my CW-LEDs.
This Lamp got a combined Lumen output of 7200lm, as well as a color-LED-Stripe facing to the ceiling.
So far it seems no one have documented anything about this lamp yet, so i teared it apart to see, what i'm working with:
It seems to use a ESP-WROOM-32D Controller on a small WIFI CTRL-Board (VZ6REV 0.1), which fortunately can be removed from the mainboard. The provided PINs allow to directly mount a cable to 3.3V, GND, ADC1, STA.
There are little testpoints from TP1 to TP5.
So far i was unable to find any TX/RX-PINs, so i guess they're hidden in two of these TP, as well as GND0.
I assume as soon as we now, which of those points are important for flashing, it's only a matter of time to get esphome on it.
Do you got hints or any documentation about this Controller @syssi to get started with an USB UART-TTL-Adapter? How is it possible to find out those missing PINs necessary for a flash?
Thanks in advance and best regards.
Chris
The text was updated successfully, but these errors were encountered: