BTT TFT35 E3 V3.0.1 firmware update problem

All,

On my LR3 I am using a BTT TFT35 E3 V3.0.1 touchscreen connected to a SKR Pro 1.2.

For a couple of days now I‘ve tried to flash my TFT screen with no success. The V1 pre-compiled firmware from the repo flashes ok as does the original BTT firmware. Both *.bin files renamed to *.cur after the update.

But when I compile the corresponding sources with VS Code and PlatformIO, the resulting *.bin files will not be flashed by the TFT controller. The sources are all from the same Github repository where the pre-compiled *.bin came from. I did not change the sources nor did I change any config file. I’m getting a warning though: ‘Warning! Cannot find the default startup file for stm32f207vct6. Ignore this warning if the startup code is part of your project.’ which I am inclined to ignore as - again - these ar the original sources from BTT/V1.

I‘ve compiled on different machines now, changed the SD card, formatted with FAT - with no success.

Maybe I’m not seeing the wood for the trees anymore, so any idea would be greatly appreciated!

Thanks, Christian

1 Like

I am not really sure, I have never compiled it myself. All the changes I do are in the config.ini file.

I suspect you need to use the section of PlatformIO that lets you select the exact board you are trying to flash. Or you will need to edit the platformio.ini file to match your board.

The firmware comes in precompiled. If it doesn’t compile you might want to let BTT know.

1 Like

Hello Ryan,

Thanks for your quick reply. I am sure I selected the right board in platform.ini although there is no V3.0.1 selectable (only V3.0) The funny thing is it compiles without any error. It does not upload as if the file was not recognised by the tft board.

Thanks anyway, Christian

Oh, yeah you can’t upload it for whatever reason, put the bin file it kicks out onto the micro sd and flash as normal.

I’m curious what you are doing with the source?

Like Ryan, I’ve always just used binary blobs with their included icon sets, and I make all tweaks just in the ini file. I imagine if I was going to major modifications, like make a more cnc centric display or integrate some new hardware hack, I might have to play with the source as well. :wink:

1 Like

I am very curious, if you got some programming chops I would love to get BTT to pull in some specific CNC changes into the main branch… :wink:

Yeah. We managed to get extruders=0 into their config file, which mostly just stops the printer centric features from erroring out.

If we could add stuff for laser=true and cnc_setup=true (for things like the G92 stuff we use a lot), then we could let BTT update their software for a y hardware updates and we just follow along with a couple of changes to the config file.

1 Like

Well, now that you‘re asking … I‘d like to modify / simplify the menu structure. Make it more convenient for CNC purposes. Honestly, I think I‘ve understood how to do it, and I‘ve already modified the sources. Not easy though. Hate to fail in uploading the new .bin to my TFT.

Yeah, but this is probably not gonna happen. I‘d be ok with maintaining my own copy of the TFT software, and if BTT were ever releasing an update - so what, then I‘d redo my changes. I‘d like to keep the SKR Pro / TFT35 combo as I like it - if only the menu would be more CNCish. Need a ZeroX / ZeroY / ZeroZ button, and also a probe button, and don‘t want to use the custom menu. I‘m so close - if I only could flash my .bin file …

That would be great. The alternative would be to develop our own TFT software for CNC applications. But I don‘t know how feasible that is, and if the interface to the SKR boards is sufficiently stable. Haven‘t looked into this in depth, and this may anyway go over my head. But I like the idea to have something perfectly supporting our great LR3 (MPCNC …)

1 Like

Any changes you make if you make them something like, “when extruders=0 then do this” It could be submitted and you would not need to maintain it.

Make sense? If that is not of interest to you no worries, none of us want to do it either, it is pretty involved.

We did fork it for a long time with more intuitive menus. But then some new hardware had all the screens rotated by 180 with our fork and it was a very breaking change. It wrote something to eeprom and reverting the firmware couldn’t fix it, but new code from btt did.

So we went through and did the work to make the extruders=0 change upstream.

So, I’ve solved this issue. I took a closer look at the TFT processor, and it turned out to be a GD32F02xxx. The TFT35 E3 V3.0.1 seems to come with different processors and the ‘GD’ makes a difference. I selected a different environment ’ BIGTREE_GD_TFT35_E3_V3_0’ in PlatformIO, compiled and - what can I say - it flashed properly! Now I am enjoying my custom LCD menu.
Thanks for your help!

1 Like