-
Notifications
You must be signed in to change notification settings - Fork 210
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
Cannot seem to get it to work on version B1.9 #125
Comments
I have the same problem with 2 unit's. Both have CMIIT ID: 2019DP8115 (On the back of the carton box) |
My first thermometer works fine, so I ordered some more. With he new ones I have the same problem. After flashing a custom firmware (31, 32n, 32z) the display freezes. When putting the battery out and back in the display stays empty. But I'm able to connect with the webupdater. After flashing the original firmware back, the display is like the picture in first post. |
Besides the display problem, the measurement also doesn't work. After sucessfully connecting with the webupdater, at the top of the page, it says: "Temp/Humi: waiting notify for data after connecting". Maybe @atc1441 knows the new ones and can help...? |
I also have a similar problem. Except, using the original FW doesn't bring back the LCD. Regards |
Comparing the old and new pcb we can see they use a new lcd controller ic. So that means we need to adapt the display communication https://img.mysku.me/uploads/pictures/05/59/35/2020/02/19/30f83a.jpg |
Would better images of the chip help, so you can read the printing? And besides the display, the measurement seems also broken... |
Pictures would help to, mostly these chinese chips are not known/without datasheet but we can try |
Hello everybody, there is a funny Information: Package of mine showed same date "2021.08" (see 3rd picture) but when I opened up my case, I realized that I have HW-B1.6 (2021-03) and not HW-B1.9 (2021-05). Question: Should I re-open #130 because it is a different HW? Or do we manage it in one issue, because the HW behaves the same? |
Good morning, I at least found a way to recover the Mi-Thermometer (screen and sensors).
Cheers Reimund |
So that means they made a detection for what display controller they got in a device with just one firmware. This is good as we can see how they detect it and copy it, as in the first model there was no way to read from the display controller just writing. Can you maybe dump the firmware update file link? You need to be rooted if i remember correctly |
Took a while to get it but here we go Changed the MiHome plugin so it will alert with the firmware URL 😁 New firmware attached as reference |
Update and downgrade from an to 0130 works fine. So can be developed with now and reversed further |
Sounds great. Unbricking the device with webupdater and the zip you provided here worked. |
I got mixed batches where you order for example 4 sensors at once. Half of them got bricked and I was able to unbrick them with the given stock firmware. Note that for me not only display was not working but also temperature reports. BLE communication was the only thing that still worked. |
Same issue here, only in my case it is also not possible to receive the settings from the device like explained here. I got 6 of these new devices. So if I need to test something, let me know! :) |
Do you need the vendor where I bought mine? V1.9. (German ebay, but shipping took 1 week...) |
Thanks for all this info - it helped me reviving my two devices (both CMIIT id: For what's worth, @atc1441 custom firmware (#125 (comment)) worked for me, so it did the method @Reimund-Koenig described (#125 (comment)) Both sensors are now working happily with my Homes Assistant, though sadly using Xiaomi firmware and the Mi bind codes. @atc1441 if you decide to update your .bin to work with these new devices, also count me in for any testing you might need 😄 |
Need to get my hands on one of the newer devices or best on both of them. Then its quite simple to add them. Will order some. Just got a donation from O. So its only fair to invest that money back into it :) |
Any best links for odering from germany ? |
Nice one; how can I chip in as well? I got mine devices from here: https://www.aliexpress.com/item/4000427410383.html, and they arrived, albeit to the UK, reasonably quickly. Good luck with getting yours soon. |
I ordered mine here on ebay and got V1.9. But shipping takes a week... |
@vanMacG ordered one there because of speed. @mariuszkorba thanks as well Maybe someone can send me one as well? |
@atc1441 I can send you a B1.6 one if needed. |
Got exactly the same problem, got the MCBSLM01 lcd controller, and the latest xiaomi firmware from @atc1441 doesn't work for me. I got 4 new ones, only did this to one of them, got other 3 running original firmware, is it possible to read the flash and dump the bin ? Managed finally to connect to xiaomi home, added and downloaded latest firmware, it downloads a 0130 version also (same as @atc1441) but works, I suspect it may have been a problem flashing the firmware..... |
@atc1441 I got two spares laying here. Other two in this 4-pack are already in use without any hiccups. |
Thanks for the new firmware. I flashed both a 1.6 and a 1.9 successfully. Strangely, the 4 pack I ordered from aliexpress contained 2 1.6s and 2 1.9s :-) |
Ok finally added the persistent storage function to my firmware. The settings can be saved with the new button in my TelinkFlasher.html Will now be quiet on off topics wanted to get this one at least known. @jeffeb3 Fair enough on that :) |
The test version 3.3 includes support for B1.6 and B 1.9 with autodetection. I can’t test it yet. PS: I don't have new versions of devices yet. All ordered from different local stores came with the old version - B1.4. |
Such code for B1.6 with UART Sensor SHT4x - 6.9..8.2 ms power > 4 mA. |
I assume the issue is with the sleep() function running delay loops internally. Regarding UART, is it possible to switch to uart_dma_send() ? http://wiki.telink-semi.cn/tools_and_sdk/Driver/doc/kite/html/md__project_1__table_of__content_17__t_s_i__u_a_r_t__features.html Regarding sensor readout delay: What about removal of the delay and just read out prior to every "run measurement" command (adds readout delay of the measurement interval, but temp&hum rarely change fast enough). |
@pvvx Average current with your custom firmware on: Average only deep sleep area is: So the overal DeepSleep is higher on the B1.6 version as well @TimeTravel-0 will implement the "read previous measurement" just now to test it. Switching to DMA uart is possible and what Victor is using in his version |
Corrected B1.6 - there was an error in the transmit buffer for UART-LCD ...
UART-GPIO not disabled, UART-CLKdiv?
DMA + pm_wait_us B1.6 correct UART pm_wait_us 3.35 ms |
Your 3.3 test version does work perfectly on my device, I don't know if it is B1.6 or B1.9 but previous version would make the screen freeze, then blank if removing/reinserting battery and no data was sent to esphome. Thank you for the support, it now works great on 3.3 :) |
I installed 3.3 on a B1.9 and I get a blank screen. The BT communication seems ok. So does the measurement. I had a little trouble flashing from the atc1441 version, so I downgraded to an old bin I had in my downloads before the pvvx flasher would connect. |
Interestingly, if I go from pvvx/ATC_thermometer33.bin to atc1441/ATC_thermometer.bin (I think version 54, but whatever version was working before), the screen is still blank... Going back to the stock 0130 works fine. But then back to v3.3 blanks the screen again. Let me know what else I can test. |
It is necessary to read the complete logs of the interface initialization and the operation itself with the LСD controller microcircuit. Several orders with aliexpress are still in the process of delivery. All orders from local shops with fast delivery came with the old version B 1.4 ... |
@pvvx this is the full I2C communication of B1.9 sniffed by byte patching the firmware into thinking to have B1.9 hardware but being B1.6 I2C Writing B1.9: Address = 3E then data in HEX 3E EA 250us wait 3e A4 3e 00 00 00 ff ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00 3e c8 Write data to display later 2 examples: 3e 04 db 6d 00 00 a5 a8 00 00 7d cb |
I have a spare one I was going to ship to Aaron, but it was estimating $40 and 6-10 days to get to Germany (I live in CO, USA). I'm not sure Russia would be much better. At that price/time, we decided it would be more worthwhile to test here remotely instead of shipping one. The atc1441 version worked fine from the stock firmware. The weird thing was that it didn't coming from pvvx/v3.3. Is there some way to clear or initialize the eeprom? |
Since the beginning of summer, I have been resting far from the city and delivery here is rather difficult :)
Hardware only - programming via SWS pin (USBCOMFlashTx.html - Erase All Flash). When the firmware is started, the EEPROM is checked for compatibility of the save with the old versions. Version 3.3 maintains compatibility with version 0.9. PS: Update for B1.9 v3.3test2... |
B1.9 v3.3test2.bin fixed blank screen for me. |
ATC_B19V33t2.bin fixes the screen. It looks like it is working properly. 🎉 |
My issue with applying the alternate firmware to the versions I have is resolved. I am going to close the issue. Thank you all! |
I got it with aliexpress B1.9. Date on the package: 2021.09. |
Average current with origial firmware v130 on B1.9 - 18..20 uA.
|
I suppose this is the best place to add a little info about the SHTV3 vs SHTV4 sensors. Few thoughts on the attached graph (green = SHTV3, yellow = SHTV4):
The graph values are RAW values from sensor. However, I use my own code for smoothing temperature that employs hysterisis, not averaging. Ie. if temperature is changing in the same direction, apply value. If delta-T (change in temperature) has opposite sign, ignore the value unless difference is bigger than T (assumption that the latest value is just noise). When applying my code on the raw output of the sensors, differences between V3 and V4 dissappear almost completely (better than just mean average). V4 obviously still lagging, but only during large temperature differences. That suggest that the V4 has additional hysterisis post-processing compared to V3 and that the physical sensor membrane might have a larger thermal mass, or it is otherwise slower to respond than V3. The temperature peak differences, however, remain quite large over a surprising long period of time (~15mins), so the use of some long term average cannot be discounted. It is definitely hard to argue that it's due to thermal mass alone. It simply doesn't make sense for lagging such a long period. No calibration done and both sensors give same values (within 0.01 degrees). I calculate LQI (255/255 of the advertisements received) and packet loss (% of lost all 4x advertisements for the value, ie. the counter jumped more than +1) for the sensors. Packet loss was 0% for both devices/sensors, so lack of data points means the value has been the same as previous value when rounded to 0.01 accuracy. This is for fun and somewhat unscientific, but these results suggest that the SHTV3 versions are better at capturing quick temperature differences (for protective relays etc.) whilst SHTV4 is better for most use (indoor temp, cooling systems etc.). |
@jddonovan The PCB version B1.4 does not have a metallization wrap around the sensor... |
@pvvx thank you for the clarification! And I entirely missed the metallization. I'v soldered 40µF caps on around 10 of the devices of the 60+ I've had. Caps don't seem to have much impact on the noise, but it might also be due to TX being set at -3db -> difference will no doubt show if power is increased. Caps are there for tx +1db and to squeeze the last juice out of the CR batteries. Here are two other sensors, this time from the bathroom, yellow SHTV4, and some additional thoughts **(click to expand)**For the life of me I can't explain the lagging with anything else than sensor's internal code changes, ie. extra processing. Devices are side by side with same firmware & settings. Just a heads up for those who are using this for automation. But by far the biggest factor for the "noise" is actual real temperature micro-fluctuations that will be present practically in any room caused by air exchange systems or pressure differences from the wind from outside. Figuring how to get the temperature constant is incredibly hard – I put few sensors to be calibrated in a box with thermal mass inside for baseline noise. All this tinkering is months ago, and again, more practical than scientific. In any case, we're typically talking tiny differences (0.01C). My biggest reason to optimise (smooth) the output is to save database space but still being able to record as accurately as possible.
I use these sensors, amongts other things, in an industrial metal workshop in the cold Finnish climate. When one of the 4 loading doors are opened, the temperature drop gets detected rapidly by the sensor devices and sent to MQTT. There are also multiple sensors installed close to the work stations. I have a ESP32 chip controlling the HVAC system to control air flow and temperature, effectively improving energy efficiency and comfort. It also reacts to how many people are logged in as working at the site (max 12 ppl) and to dust and VOCs. It's really more of a hobby, but with real tangible results. Thank you so much @atc1441 and @pvvx! Without you guys we wouldn't have these cheap devices and dare to experiment. |
I noticed a weird behaviour that threw me off for quite some time: Turns out when you insert a good and healthy battery (it seems I bought a bunch of extraordinarily bad ones) they work again as if nothing happened. |
When I try to flash it with the latest firmware in the repo, the display remains "frozen" with the last values it displayed with the stock firmware.
When I flash back to the original firmware on the web page, the display comes back with all the segments lit up (ie: 1888.8 E, 88 %, Bluetooth icon, battery icon and full face).
I am still able to communicate with the device through the flashing webpage, but nothing I do seems to change the display.
Am I doing something wrong or does this revision of the unit (B1.9) not work with the existing firmwares in this repo?
The text was updated successfully, but these errors were encountered: