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.28k stars 1.63k forks source link

[FR] New Artillery not flashing LCD on GD32F305 #2391

Closed Help3D-Padova closed 4 months ago

Help3D-Padova commented 2 years ago

Description

There some Artillery Genius PRO or X2 that are not able to flash the LCD firmware.

Steps to reproduce

Try to flash as usual

Actual behavior

MKSTFT28.bin is not detected and the flash is not able to start

Hardware Variant

It seems that the new microcontroller is based on GD32F305 - VERIFIED

TFT Firmware Version & Main Board Firmware details

The bootloader is V3.0.4

Additional Information

https://github.com/artillery3d/genius-pro-tft-firmware this firmware can be flashed without issue

@digant73 i'm not able to reproduce this issue because i have an older lcd but i have some user that can try some beta firmware.

kisslorand commented 2 years ago

Try with lower case.

Help3D-Padova commented 2 years ago

first thing tried but no luck

image

New microcontroller confirmed

kisslorand commented 2 years ago

This MCU is not implemented yet in this repository. AFAIK there's no BTT TFT with this MCU.

digant73 commented 2 years ago

@Help3D-Padova I also don't have this new TFT. That GD32F305 is not currently supported

Help3D-Padova commented 2 years ago

@Help3D-Padova I also don't have this new TFT. That GD32F305 is not currently supported

@digant73 i know, they are shipped with the last unit manufactured in december

digant73 commented 2 years ago

I would convert the type of the ticket from BUG to FR. That MCU is currently not supported

Help3D-Padova commented 2 years ago

@digant73 my fault, it is not a bug :)

The MCU is not supported but how can i help to find some information about it ?

digant73 commented 2 years ago

I think it's related not only to MCU but also the board (MKSTFT28 had same MCU as BTT but different board requiring different settings in the firmware). Usually there is always someone having that HW and applying the changes on firmware (as happened for MKSTFT35). Simply wait some time.

Help3D-Padova commented 2 years ago

ok i'll find someone that can send me a spare LCD with that MCU

digant73 commented 2 years ago

Try to ask here https://github.com/darkspr1te/BIGTREETECH-TouchScreenFirmware. darksp1te was the guy that made the porting for MKSTFT35.

reynol3232 commented 2 years ago

I too have the GD32F305 chip set in the TFT of the Genius Pro. I received my printer 3/11/2022. I would like to find a way to resolve this issue and upload the more functional Marlin firmware. The current installed bootload is 3.0.4 and does not read the micro sd upon booting. I also have an older Artillery X1 and have updated that printer to Marlin. The GUI for the new Genius Pro is very different and has less functionality. Please help!

A person posted this: https://www.libhunt.com/posts/553300-how-to-upload-firmware-to-sidewinder-x2-tried-on-sd-card-unplugging-the-tft-flashing-through-the-usb-can-t-figure-out-what-s-right and was able to upload the new Marlin 2.0.9.2 using this technique. https://github.com/MrMagounet/Firmware_Flash-Artillery_X2_GeniusPro

I have not tried this yet though.

weZoom-1647101547094

Help3D-Padova commented 2 years ago

@reynol3232 flashing Marlin is not a problem because GD32F305 is related to the MCU of the LCD screen. Marlin i s uploaded on the Artillery Ruby

PrEzi3 commented 2 years ago

Exactly as Help3D said. Mainboard firmware is not a problem. The TFT MCU is. Currently I am also waiting for the GD32* variant to be supported in order to publish a "combo" of firmwares for SWX2/GP including the new TFTs https://www.thingiverse.com/thing:5186707

reynol3232 commented 2 years ago

I currently am not able to use my machine. I loaded the files onto a microsd: config.ini, firmware.bin, MKSTFT28.bin, MKS folder and then turned on the power. The machine did not seem to do anything different than it's normal booting process. Unfortunately now when I press buttons on the display it seems that even though the command is recognized it is not accepted and the machine does nothing. I just want to put it back to original firmware and cannot do that.

PrEzi3 commented 2 years ago

@reynol3232 You need to revert back to stock - ask Artillery for stock files. You cannot you custom firmware till the TFT is made compatible with it (ergo - both mainboard and TFT MCU firmwares are supported and open). Currently only mainboard and "old" TFT MCUs (STM32*) are.

reynol3232 commented 2 years ago

Much appreciated. Yes, I asked Artillery for the stock files. Not sure how I'm going to load them back on though when I receive the files. The bootload is not seeming to read the microsd but I could be wrong. I'd really like to try a stock firmware.bin file from this latest version of Genius Pro but I can't seem to find one online. Is there a way to extract the firmware.bin file from another machine?

Can I buy the older Touchscreen and replace the newer version so that I can program it?

reynol3232 commented 2 years ago

Starting over: The Genius Pro "stock" firmware platformio.ini will not compile in VSC code. *** [.pio\build\ARTILLERY_RUBY\firmware.elf] Error 1 Made sure there were no "- or spaces" in the file directory. Any idea what I'm doing wrong? Anyone want to send me a stock compiled firmware? I think it's time to switch to Prusa. (okay...just getting frustrated that Artillery would put something out that is not supported)

stormz85 commented 2 years ago

Hi ! Any news for GD32* TFT ? on the SX2 ? Thx

reynol3232 commented 2 years ago

I was able to get my "New Version GD32F TFT" Genius Pro running again. It was quite involved and I'm sorry I tried to upgrade the firmware. Staunch warning to anyone trying to upgrade the firmware, wait a few months for the GD32F to be supported.

PrEzi3 commented 2 years ago

@reynol3232 it would be great if you could post the stock files somewhere --- just in case there are more ppl doing a flashing by mistake. Thanks !

rawlus commented 2 years ago

Artillery has a github repo with updated Marlin, Genius Pro Firmware and TFT Firmware for a genius pro here:

https://github.com/artillery3d/genius-pro-firmware https://github.com/artillery3d/genius-pro-tft-firmware

PrEzi3 commented 2 years ago

Artillery has a github repo with updated Marlin, Genius Pro Firmware and TFT Firmware for a genius pro here:

https://github.com/artillery3d/genius-pro-firmware https://github.com/artillery3d/genius-pro-tft-firmware

....which is a precompiled binary and not the source code.... but oh well.... at least something...

reynol3232 commented 2 years ago

Previously I was not able to load the firmware using the typical micro SD method. And it was very difficult to get my computer to recognize the printer with every driver I tried install in device manager. I used Pronterface, VSC, Marlin, STM32, DFU manager and a host of other software in an attempt to connect before an after jumpering 3.3V and Boot-to pins.

Since I've had so much trouble just putting the machine back to stock I think I'm going to wait for the community debug this before I try it. It's obvious to myself that I don't have enough experience with this machine to mess with it like I did with my X1. My machine needs to make parts right now.

I wish someone would write a detailed install guide if they get it to work even though it's the compiled version of the firmware. Later when the source code becomes available then a complete guide could updated.

Also, is Artillery calling this "new" Genius Pro and X2 "V2" ? ie..."Genius Pro V2" or "Sidewinder X2 V2"...?

stormz85 commented 2 years ago

Still no news about this screen ? BTT ?

freakydude commented 2 years ago

@digant73 Would try some beta firmware for you. But please give me some short description how to flash and how to flash back in my case. Let me know. Thx

ark- commented 2 years ago

https://github.com/artillery3d/sidewinder-x2-tft-firmware/commit/10dcf32da803dbb95262f46133c55ad57d2a1440

Artillery just added a commit with a new binary to their X2 TFT firmware repo. The commit message reads: "added support for GD32F305 TFT screen"

Wondered if this would be of use to anyone here.

Edit: Oh looks like the Genius too https://github.com/artillery3d/genius-pro-tft-firmware/commit/3abde719d25230af3ef90d874a1365de1a931962

ark- commented 2 years ago

Also, is there a way to determine which TFT MCU on my Sidewinder X2 without first opening the case and voiding the warranty? Thank you.

ETE-Design commented 2 years ago

@ark- Think people here are most interested in the Source Code, caise then it can mabye be integrated with BBT TFT Firmware :-)

ark- commented 2 years ago

Yeah ok, just thought it was an interesting note that they added something.

Regarding my question about determining if my X2 is GD32F305 or not, is there a way to do it without opening the unit up?

HeterodyneN7 commented 2 years ago

Yeah ok, just thought it was an interesting note that they added something.

Regarding my question about determining if my X2 is GD32F305 or not, is there a way to do it without opening the unit up?

Yeah, get a cheap usb endoscope(they are like 5 eur) from aliexpress, I already had one on hand so it was easy to confirm which chip I had.

reynol3232 commented 2 years ago

Just open the case. If you have trouble with the machine Artillery will ask you to take it apart and troubleshoot with them via chat. Also, the warranty is a thing of fiction when you buy a Chinese printer. You essentially own it once they charged your credit card. They will send parts and/or a new machine. Take a picture of the unbroken seal first if it make you feel better. I've bee through it a few times.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

freakydude commented 1 year ago

Any news about flashing the display on Artillery Sidewinder X2 with GD32F305? I still don't know any option.

Thx

SudoMolto commented 1 year ago

Some news about custom firmware on Artillery Sidewinder X2 with GD32F305?

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

PrEzi3 commented 1 year ago

any news ?

reynol3232 commented 1 year ago

Unfortunately there has been no action on this issue. I love my Artillery machines but I very much dislike the GUI. I bought a Mingda Magician X and I love their GUI. The Minda does not print nearly as nice but it makes me wonder why Artillery doesn't upgrade their GUI.

I'll patiently await support for this my TFT.

freakydude commented 1 year ago

A guy named 3deann, posted me on my thingiverse project (here) the following:

Hello! GD32F305 free programm for Windows Chip manufacturer: gigadevice.com/support/tech-support/ Download: www.gd32mcu.com/en/download/7 GD32 All-In-One Programmer

Every Sidewinder X2 and Genius Pro user, programmer could test it and write progress in a thread. I think probably the STM32 files can be loaded and saved also in the GD32 Programm? Or the contents of the STM32 files could build up to GD32 step by step.

The printer manufacturer people having all the actual firmware programms on their pc`s since many month.

So if we work together with all programmers, an actual Tft-Firmware should be possible on many more creative, different ways. Great work! Feel free to comment.

I did not have time yet to look into this, but the description sounds promising.

Best regards, freakyDude

Pontifex42 commented 1 year ago

I'm a bit confused by all the links given above. Is there a solution for the GD32* TFT issue or not? Does any successful upgrade on a machine with this TFT exist or not? I once tried that wrong stuff and it took me a whole day to get the Sidewinder working again, will not go through it once more. And if there is no possibility to use a decent firmware on the X2 after a year of waiting, it is time to look for a serious printer brand. The X2 made that much trouble to me ... ok, it is a 3D printer, it is its job to make trouble, but .... there must be a printer beside the Prusa which works more or less with a up-to-date marlin.

reynol3232 commented 1 year ago

I agree. There is no solution that I'm aware of and have gone through the same pain. I've been searching for the previous version screen STM...107 and they can be had for about $40. I've decided that it's just not worth it to me. I have several other printers including Prusa MK3S+ but the Artillery still cranks out the best prints. I use the Prusa for PETG and other materials but the wall finish is superior from the Artillery. Other options are to install Klipper but that's expensive as well. If I'm going to upgrade I'll likely put the money into linear rails and a bond tech extruder for the Prusa. My next printer will be a Prusa Clone with upgrades. More money than the Artillery Genius but I hate Artillries firmware that much and it frustrates me that I can't upgrade it due to the unsupported TFT. In particular I hate that is not a single button to preheat the bed and nozzle. Good luck

freakydude commented 1 year ago

There is no solution without someone who is willing and able to programm this touch screen controller. Thats why these information are posted here.

I personally don't use it and removed the TFT from the printer. Just using Klipper with mobile devices and/or pc/laptop. Works great.

If you like to use the printer with a touch screen and marlin before then you have to buy a supported one an connect it to the mainboard. That works too.

trick76cj5 commented 1 year ago

I see the new BTT TFT's are shipping with the GD32F205 chips . . . would the firmware for these boards now be applicable to those of us w/an X2 and the GD32F305 boards? @digant73

https://biqu.equipment/collections/lcd/products/btt-tft43-v3-0-tft50-v3-0-tft70-v3-0-display-touch-screen-two-working-modes

Sorry, i'm a ME by trade, i'm trying to learn coding . . . so this may be a totally non-value-added mention.

reynol3232 commented 1 year ago

Does anyone know if I can simply buy the old ST32* TFT screen and install in in my newer Genius Pro? I'm thinking this would allow me to load dignant73 firmware. I hate the stock firmware that come with the Genius Pro. Primarily I hate that there is no Preheat button. You have to select the heat of the nozzle and select the heat of the bed by touching the +/- buttons dozens of times.

ark- commented 1 year ago

I have read online people doing this with the X2. So maybe? My understanding is it just sends serial G codes, so chances look good.

reynol3232 commented 1 year ago

Ark- thanks for the reply. Do you happen to recall where you read others doing what I proposed? I'd like to possibly inquire further on that posting.

Thanks

ciotto commented 1 year ago

UPDATE: This information is wrong due to the fact that is based on a wrong picture found on the internet.

I'm a (un)fortunated owner of an Artillery Genius Pro with GD32F305VC TFT screen.

I tried to do some tests and the reason why the original firmware update starts without issue is the name of the file.

In fact, if you try to update without the mkstft28evo.bin file, introduced by this commit, nothing happens, precisely like the update with this custom firmware.

This means that the update start only using the mkstft28evo.bin filename, but trying without more information can brick my LCD, so it's only a suppose.

The previous version of the board used an STM32F401RC MCU.

GD32F305VC

STM32F401RC and GD32F305VC are very similar MCUs, in fact both are Arm® Cortex®-M4 32-bit MCU, but somethings is different:

Check Features STM32F401RC GD32F305VC
[x] MCU type M4 M4
[ ] Frequency 84 MHz 120 MHz
[ ] Flash memory 256 KB 1024 KB
[ ] SRAM 64 KB 96 KB

Also, seems that the pinout is more or less the same:

Pinout

So I can suppose that the board is more or less the same.

The good news is that the GD32F305VC is more powerful, the bad news is that probably requires a different compiled binary.

I'm not an expert, but probably I can try to add a new configuration to Platformio for MKS TFT28 Evo.

SudoMolto commented 1 year ago

I'm a (un)fortunated owner of an Artillery Genius Pro with GD32F305VC TFT screen.

I tried to do some tests and the reason why the original firmware update starts without issue is the name of the file.

In fact, if you try to update without the mkstft28evo.bin file, introduced by this commit, nothing happens, precisely like the update with this custom firmware.

This means that the update start only using the mkstft28evo.bin filename, but trying without more information can brick my LCD, so it's only a suppose.

The previous version of the board used an STM32F401RC MCU.

GD32F305VC

STM32F401RC and GD32F305VC are very similar MCUs, in fact both are Arm® Cortex®-M4 32-bit MCU, but somethings is different: Check Features STM32F401RC GD32F305VC [x] MCU type M4 M4 [ ] Frequency 84 MHz 120 MHz [ ] Flash memory 256 KB 1024 KB [ ] SRAM 64 KB 96 KB

Also, seems that the pinout is more or less the same:

Pinout

So I can suppose that the board is more or less the same.

The good news is that the GD32F305VC is more powerful, the bad news is that probably requires a different compiled binary.

I'm not an expert, but probably I can try to add a new configuration to Platformio for MKS TFT28 Evo. -Se ci riesci sarebbe veramente fantastico! -If you can that would be great.

Fourmi commented 1 year ago

The problem is not the Ruby card chip but the TFT controller chip. On my side I integrated the GD32F305 chip libraries in the Bigtreetech firmware, I can compile the firmware but I can't upload it on the Sidewinder TFT. I can share my work, if it can help https://github.com/Fourmi/BIGTREETECH-TouchScreenFirmware-master Thanks image

ciotto commented 1 year ago

Great work @Fourmi, if I have some time I'll try.

My guess is that you can upload the firmware of your Sidewinder TFT by using the filename mkstft28evo.bin, that is the one that my Genius Pro read from the original firmware update.

If you are confident and you can try, please share with us the result!

Fourmi commented 1 year ago

Yes, we can try by renaming the file and see if it works. It's frustrating not to know why it's blocked at this stage. I spent a lot of time on this, I used the existing structure with the GD32F205 chip in this firmware. I am sure that someone more experienced than me will be able to find the problem and improve the code. Thx