-
Notifications
You must be signed in to change notification settings - Fork 28
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
Another TY0201 by _TZ3000_bjawzodf with display #107
Comments
lcd_i2c_addr = 0x3E
Full analogue in firmware lywsd03mmc HW: B1.9.
Signature, checksum, Uint32 at address 0x1F7F0 is equal to 0x90EA6C20. Telink utility |
1 - updated first post with full 1M dump, I am using I'll try to build do some FW experiments later, but first I have to re-check pinout. Those i2c pins don't make sense. |
https://developer.tuya.com/en/docs/iot/ztu-module-datasheet?id=Ka45nl4ywgabp
But you have a ZTU module with 512 kilobytes of Flash!
The checksum only indicates that some other SDK was used to build the firmware. Most likely outdated. Typically Tuya's Zigbee firmware comes with BootLoader. The main program downloaded via OTA is then located at address 0x8000. This affects the fw OTA build type. ZigbeeTlc and ATC_MiThermometer firmware work with any Flash size. And adapted to the update option with or without Bootloader - during OTA the Bootloader will be removed. If the original firmware had a bootloader, then it will not be possible to restore the flashed thermometer with FW ZigbeeTLc by using the original Zigbee OTA file. TelinkMiFlasher.html checks the checksum during OTA and will refuse to write such a file. FW during OTA also checks the checksum and will refuse to start this FW OTA. |
OTA bin for TelinkMiFlasher.html with adjusted checksum. |
My device has Zigbee FW, so I guess TelinkMiFlasher.html is not usable here. What does this OTA contain? It also looks like this one will need some HW modifications too. i2c seems to be on pins which can't be switched to i2c mode if I read datasheet correctly. There is footprint for some similar chip like in ZTH01/ZTH02 have, but not populated. To connect sensor and LCD driver to the normal i2c pins, purple connections would have to be added. |
First you need to make BLE firmware.
I2C_SDA - PC0, PC2 |
I have one of those bricked after a (failed) zigbee2mqtt OTA update. Should a recovery work via https://pvvx.github.io/ATC_MiThermometer/USBCOMFlashTx.html using the binary from the first post? |
There is 1MB - it takes too long to flash it using such a programmer. Try TY0201-by-TZ3000_bjawzodf_0x10013001_ota.bin from the post above first. |
TH03 and LKTMZL02 use soft I2C. |
Interesting. I did several matching readouts using uart method and your script, I even fixed one timing issue and backed up and successfully restored other ZTU based sensor this way. (Did not try it with this one though.) Mabe you have different HW or there is some device specific part or dump maY be corrupted as you say. |
Hi, @pvvx can you check if the dump I attached is working? This is a dump from a brand new device, made via TlsrComSwireWriter. I have a broken device due to an upgrade from z2m. And I can't get it to work when I deploy this dump. |
The firmware checksum does not match tl_check_fw2.exe. |
TY0201-by-TZ3000_bjawzodf_0x10013001_ota.zip and TY0201_TZ3000_bjawzodf.zip firmware behave the same. |
@pvvx I have a bit of time and a lot of those devices to test, i bought some adapters to flash with TB 03F like shown here : https://github.com/doctor64/tuyaZigbee/blob/master/docs/flash.md . |
It is necessary to create a new firmware with BLE. Taking into account the PCB layout (used GPIO). |
Hi,
I have this Zigbee sensor with display:
TY0201 by _TZ3000_bjawzodf
Module: ZTU
Sensor: AHT20 o flex cable
Display driver: BL55072
Button GPIO: ZTU B4, when switched pulls B4 to GND through 1k resistor
I2C bus (display driver and sensor):
SWS is not available on any test point or trace so disassembly is necessary for flashing.
Original FW readout (read out 2 times and it matched) DOES NOT WORK, DO NOT USE!:
TY0201-by-TZ3000_bjawzodf_0x10013001_1M.zip
Photos - click to expand
(On top left, there is also signal bar graph - not connected at photo)
Position of plastic locks. Best way to start opening the case is from the bottom with thin metal shim. Once the first lock opens, continue with plastic prying bar all around.
I assume next steps would:
I am a bit lazy to setup whole TLSR8 IDE and write pure C code, but I can definitely find out those GPIOs...
The text was updated successfully, but these errors were encountered: