bigtreetech / BIGTREETECH-TouchScreenFirmware

support TFT35 V1.0/V1.1/V1.2/V2.0/V3.0, TFT28, TFT24 V1.1, TFT43, TFT50, TFT70
GNU General Public License v3.0
1.3k stars 1.65k forks source link

Unable to update the firmware #24

Closed EnnajimiYassine closed 3 years ago

EnnajimiYassine commented 5 years ago

I'm unable to update the firmware of my board tft35 ( hardware : V1.2, firmware : 1.2.6)

when i put the firmware on the SD card and reset nothing happen ( no firmware update), but when i put the bmp and font they get updated ( but still not the firmware)

Can please some one help ?

Doom6666 commented 5 years ago

Same problem with TFT35 V2.0 .... only icons and fonts are updated :-( . Any specific BIN file name? Or a requirement other than copying to the card root?

EnnajimiYassine commented 5 years ago

I renamed it to BIQU_TFT35.bin and it worked

Doom6666 commented 5 years ago

for me ..... renaming it to BIQU_TFT35.bin ... no change .... still firmware upgrade has not taken place :-(

EnnajimiYassine commented 5 years ago

you tried BIGTREETECH_TFT35.bin ?

Doom6666 commented 5 years ago

yes, I tried a lot of file names, including BIGTREETECH_TFT35 ... the upgrade was still unsuccessful. I'm clueless. Installation instructions absolutely useless :-(

Sthopeless commented 5 years ago

I am also facing the same problem, cant upgrade TFT35 firmware. It updates the icons and fonts but not the firmware. I have tried many names combinations.

AnHardt commented 5 years ago

Connect a ST-link. Read out the bootloader and save. Open the file in a HEX-editor. Search for readable strings containing ".bin" and ".cur". And you'll get the right name- completely without guessing.

Msnejbjerg commented 5 years ago

Same issue here with my new TFT35 2.0 running 2.0.20. I can update the TFT35 folder but I can't install new firmware

Doom6666 commented 5 years ago

Same issue here with my new TFT35 2.0 running 2.0.20. I can update the TFT35 folder but I can't install new firmware

Unfortunately, I did not get a simple answer either here or directly from BIQU. It looks like product support isn't worth anything.

blindMoe commented 5 years ago

I believe you are supposed to just name it firmware.bin but when I updated my brand new TFT35 1.2 with the newest firmware I cannot get passed the calibration screen. It just says that calibration failed and starts the calibration sequence again.

bigtreetech commented 5 years ago

please download in here https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/tree/master/Copy%20to%20SD%20Card%20root%20directory%20to%20update\ TFT32 V1.0 firmware name BIQU_TFT35_V1.0.22.bin TFT32 V1.1 firmware name BIQU_TFT35_V1.1.22.bin TFT32 V1.2 firmware name BIQU_TFT35_V1.2.22.bin TFT32 V2.0 firmware name BIQU_TFT35_APP1_V2.0.22.bin TFT28 firmware name BIQU_TFT28_V1.0.22.bin TFT24 firmware name BIGTREE_TFT24_V1.1.22.bin

Doom6666 commented 5 years ago

please download in here https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/tree/master/Copy%20to%20SD%20Card%20root%20directory%20to%20update\ TFT32 V1.0 firmware name BIQU_TFT35_V1.0.22.bin TFT32 V1.1 firmware name BIQU_TFT35_V1.1.22.bin TFT32 V1.2 firmware name BIQU_TFT35_V1.2.22.bin TFT32 V2.0 firmware name BIQU_TFT35_APP1_V2.0.22.bin TFT28 firmware name BIQU_TFT28_V1.0.22.bin TFT24 firmware name BIGTREE_TFT24_V1.1.22.bin

I have already understood this, but after inserting the BIQU_TFT35_APP1_V2.0.22.bin file on the SD card, inserting the card into the TFT35 V2.0 and pressing the reset button, the firmware simply does not update ... Paradoxically, when you insert the TFT35 directory with icons and fonts, Updating icons and fonts runs without a problem.

Msnejbjerg commented 5 years ago

please download in here https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/tree/master/Copy%20to%20SD%20Card%20root%20directory%20to%20update TFT32 V1.0 firmware name BIQU_TFT35_V1.0.22.bin TFT32 V1.1 firmware name BIQU_TFT35_V1.1.22.bin TFT32 V1.2 firmware name BIQU_TFT35_V1.2.22.bin TFT32 V2.0 firmware name BIQU_TFT35_APP1_V2.0.22.bin TFT28 firmware name BIQU_TFT28_V1.0.22.bin TFT24 firmware name BIGTREE_TFT24_V1.1.22.bin

I have already understood this, but after inserting the BIQU_TFT35_APP1_V2.0.22.bin file on the SD card, inserting the card into the TFT35 V2.0 and pressing the reset button, the firmware simply does not update ... Paradoxically, when you insert the TFT35 directory with icons and fonts, Updating icons and fonts runs without a problem.

That is exactly the same issue I have. It doesn't matter if I use the precompiled or if I compile it myself. I have tried several different filenames including the ones suggested in this thread. I bought two of these displays and it is the same problem with both

bigtreetech commented 5 years ago

Do you have a burner like stlink? Maybe I can send you a bootloader and try to reburning the bootloader?

Msnejbjerg commented 5 years ago

Do you have a burner like stlink? Maybe I can send you a bootloader and try to reburning the bootloader?

I have a couple of nucleo boards with integrated stlink that I should be able to use. I'll give it a try

Doom6666 commented 5 years ago

Do you have a burner like stlink? Maybe I can send you a bootloader and try to reburning the bootloader?

I have ST-link V2 ordered, but not yet arrived .... I can try it afterwards

bigtreetech commented 5 years ago

BIQU_TFT35_V2.0_bootloader.zip here is the bootloader for TFT35_V2.0, burning it to flash address 0x08000000 is ok. thanks a lot.

AnHardt commented 5 years ago

Is it expected the bootloaders rename the .bin files to .cur when flashed?

Msnejbjerg commented 5 years ago

Succes! After uploading the new bootloader it worked!

EnnajimiYassine commented 5 years ago

@AnHardt it doesn't change the firmware to .cur you will need to delete it or rename it afterward if you don't want to reflash your board at each reboot ( at least for tft35 v1.2) @Msnejbjerg can you please tell us what firmware name did you use ? It may help the others

Msnejbjerg commented 5 years ago

@EnnajimiYassine I used the boot loader first and flashed it with stink utility IMG_4384 IMG_4389

IMG_4388

And then I just used the precompiled file: BIQU_TFT35_APP1_V2.0.22.bin

EnnajimiYassine commented 5 years ago

Thanks for sharing the info! It may help the others

Juju-Dudu commented 5 years ago

Ok, cool ! I have the same issue, but how can i do if i don't have any flashing board... I presume i'm not alone in this case... I'm a noob in programming, i never do that. Can I do it with an Arduino Uno ? Don't laugh, i'm a really noob !!!

petrik0621 commented 5 years ago

I need help too. :/

EnnajimiYassine commented 5 years ago

@bigtreetech I think you should post some firmware names, so those who don't have an stlink can update their firmware. Because from what I understand we're supposed to update it with sd card (that's what your GitHub says) and not via stlink ....

GenaUser commented 5 years ago

I have a same problem as @blindMoe with my TFT24-V1.1. After upload, I cannot get passed the calibration screen. It just says that calibration failed and starts the calibration sequence again... I tried to use the master compiled for TFT24. Same problem. Screen unusable.

poisson21 commented 5 years ago

On my tft 24 v1.1 I found that on a exp1 exp2 config, no serial(for my case,didn't test with). to be able to flawlessly flash new firmware you have to disconnect exp2 to make it work. I think the feedback of the "sd card presence" pin interfere with the upload.

Sthopeless commented 5 years ago

@bigtreetech finally I've managed to flash my unit that touchscreen wasnt working and now Is stuck on calibration touch screen and fails everytime i do the red dots (correctly pressed!). what's next?

GenaUser commented 5 years ago

@Sthopeless Start-up through the calibration screen seems normal after an update (Tested on TFT 3.5 and TFT24). You need to click on the center of the new point by following these steps : Click on the red dot in the upper left corner Click on the red dot in the upper right corner Click on the red dot in the lower right corner Click on the black dot in the center of the screen After, the calibration must be successful and the screen usable.

Sthopeless commented 5 years ago

@GenaUser I know it is a normal procedure on they're TFT's but this one is constantly failing the calibration, I even tried with touch pen but fails all the time

GenaUser commented 5 years ago

@Sthopeless I found this information in another topic : "If you still fail in calibration, Note that the coordinates at the top left of the screen when the get fails, (240,160) are the perfect values, and if it's (0,0), it's a hardware issue of screen. Please click as far as possible on the center of the point. If possible, sharp objects can be used for calibration to get more accurate values"

blindMoe commented 5 years ago

When I ran into this issue it seemed to work when using my pinky finger to do the calibration. It seems odd and pointless but I think it is because of the size of the finger. So odd... but it worked

Sthopeless commented 5 years ago

@GenaUser I do get 0,0 at top of the display when it fails, I have also tried countless times including with a touch pen from another 3.5 TFT I have and a small screw driver. Always get "Adjustment failed, please try again."

@bigtreetech this is what I get no matter what I use to calibrate (nail, needle, screw driver, screw, knife, dupont male, touch pen, finger) TFT35 v2_0 Calibration Error

oschwieger commented 5 years ago

I have a brand new TFT24 which just arrived. It has v1.1.20 firmware and won't update to v1.1.22 It updated the icons and fonts. Can you tell me which filename i need to set? I tried a lot of different ones.... Or do i need to update the bootloader first?

fabKalix commented 5 years ago

@EnnajimiYassine I used the boot loader first and flashed it with stink utility IMG_4384 IMG_4389

IMG_4388

And then I just used the precompiled file: BIQU_TFT35_APP1_V2.0.22.bin Thanks a lot for sharing. My TFT35-V2.0 had the same issue.

I did the same using a this little thing: https://www.aliexpress.com/item/32988024318.html Make sure you have the wiring correctly attached to the SWD port. See https://github.com/bigtreetech/BIGTREETECH-TFT35-V2.0/blob/master/TFT3.5-V2.0%20manual.pdf for the pinout of the port.

fabKalix commented 5 years ago

I have a brand new TFT24 which just arrived. It has v1.1.20 firmware and won't update to v1.1.22 It updated the icons and fonts. Can you tell me which filename i need to set? I tried a lot of different ones.... Or do i need to update the bootloader first?

The filename should be: BIGTREE_TFT24_V1.1.22.bin in your case. Placed in the root folder of the SD card. I used Fat32 as the SD card formatting. If it does not work you will probably need the TFT24 bootloader. I would not use the TFT35 posted above. They might be different.

Tungermax commented 5 years ago

@bigtreetech The same problem with updating TFT3..5v2.0, how can I upgrade if I do not have a st-link?

fabKalix commented 5 years ago

It is possible to flash over the RS232 port using a USB to Serial TTL adapter if you have one. This does require a wire between BOOT0 and 3v3 which is quite hard to accomplish. BIGTREETECH-TFT35_01 I reverse engineered the two pads for BOOT0 and BOOT1. Both are currently pulled low using R18 for BOOT0 and R5 for BOOT1. If you pull up BOOT0 during power on you can use https://www.st.com/en/development-tools/flasher-stm32.html#get-software to flash the bootloader. Once initialized, the USART1 (RS232 Port) configuration is: 8 bits, even parity.

Tungermax commented 5 years ago

Thanks for the answer, but my knowledge is still not enough to fix the problem. There should be an easier way. It’s not at all clear why sell such a crude product.

oschwieger commented 5 years ago

I have a brand new TFT24 which just arrived. It has v1.1.20 firmware and won't update to v1.1.22 It updated the icons and fonts. Can you tell me which filename i need to set? I tried a lot of different ones.... Or do i need to update the bootloader first?

The filename should be: BIGTREE_TFT24_V1.1.22.bin in your case. Placed in the root folder of the SD card. I used Fat32 as the SD card formatting. If it does not work you will probably need the TFT24 bootloader. I would not use the TFT35 posted above. They might be different.

Thanks for pointing me in the Right direction. I used a 64GB SD Card exFat formated. That doesn't seem to work for firmware upgrade. Using a 8GB Fat32 formated card worked instantaneous!!! Anyone having these issue should try using a really small Fat32 formated SD-Card for firmware upgrades.

britmick commented 5 years ago

TFT32 V2.0 firmware name BIQU_TFT35_APP1_V2.0.22.bin is the one that worked for me without the boot loader update. None of the others above were recognised.

Zuru1 commented 5 years ago

@fabKalix Hi, You seem to know your way around this display circuit and was wondering if you have found a way to enable the 12864 emulator and also add a rotary encoder?

Thank you

fabKalix commented 5 years ago

Seems like the variants.h file has a line with:

define LCD_ENCODER_SUPPORT (defined(LCD_ENCA_PIN) && defined(LCD_ENCB_PIN) && defined(LCD_BTN_PIN))

Above this line there is an if block with only two flavors of display, for the LCD Encoder to work on the TFT3.5 v2.0 we need to add an extra #elif there. Something like this: //LCD Encoder support

if defined(TFT24_V1_1)

//PB0:ENC-A PB1:ENC-B PB2:BTN

define LCD_ENCA_PIN PB0

define LCD_ENCB_PIN PB1

define LCD_BTN_PIN PB2

elif defined(TFT35_V3_0)

//PA8:ENC-A PC9:ENC-B PC8:BTN

define LCD_ENCA_PIN PA8

define LCD_ENCB_PIN PC9

define LCD_BTN_PIN PC8

elif defined(TFT35_V2_0)

define LCD_ENCA_PIN PA0

define LCD_ENCB_PIN PA1

define LCD_BTN_PIN PE6 // Use the Leftmost pin of TZ1 as button pin.

endif

Sthopeless commented 5 years ago

Bigtreetech showed a video where they disabled the encoder and used the touchscreen onscreen to move around Marlin's display. I've told them (Bigtreetech) countless times that Marlin's firmware is by far a lot better then they're toucscreen firmware, but they refused :/

PS: I tried looking for the video link on they're Youtube channel but it isn't there, so I probably saw it on one of they're facebook groups. I will drop the link if I manage to find it

fabKalix commented 5 years ago

Marlin is far better at controlling you printer. I would not dare say it is best at graphics. There is a separation of tasks here. All the display does now is sending GCode commands to Marlin to get information and display it. When printing though I would personally prefer to let Marlin perform the 'heavy work' from SD card instead of depending on the serial connection and the secondary firmware on the display.

Zuru1 commented 5 years ago

@fabKalix Thanks you for point me in the right direction. That last pin was the culprit to solve the encoder. As from my understanding you also mean rightmost pin of TZ1, not leftmost? Have you tried enabling or running the ST7920 simulator on your TFT35 V2?

fabKalix commented 5 years ago

@fabKalix Thanks you for point me in the right direction. That last pin was the culprit to solve the encoder. As from my understanding you also mean rightmost pin of TZ1, not leftmost? Have you tried enabling or running the ST7920 simulator on your TFT35 V2?

BIGTREETECH-TFT35_b Yes rightmost, I marked the pin in the image. You could actually use any free pin for the button I think. But this one is closest to the encoder connector.

I have not used the simulator yet.

Zuru1 commented 5 years ago

@fabKalix Ok, didn't know that. Does this also apply to enabling the 12864 emulator? That any of the e.g. USARTx pings can be used to achieve this?

fabKalix commented 5 years ago

@Zuru1 Yes I think so, According to the stm32f103vc datasheet PB10 and PB11 are USART3_TX and RX. But "Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as input (with or without pull-up or pull-down) or as peripheral alternate function. Most of the GPIO pins are shared with digital or analog alternate functions. All GPIOs are high currentcapable." Not sure if this answers your question. We are getting a bit off topic here by the way

Zuru1 commented 5 years ago

Yeah, I know. But still the only way to get answers. Would have been awesome to get the information from the manufacture, but that ain't happing at the moment. Anyway, I will give it a try and let you know in my issue about this.